Author |
Message |
Forum: Programming Topic: CA65: how to get a simple one file binary for a EEPROM/Flash |
resman |
Posted: Sat Aug 27, 2022 10:44 pm
|
|
Replies: 23 Views: 1666
|
If you're still interested in using ca65 for your ROM code, you have to use fill bytes to align the addresses, .org will only update the address where the current assembly is generated. Here is how I did it for the ROM code for Apple2Pi: https://github.com/dschmenk/apple2pi/tree/master/pidrive Look ... |
|
|
Forum: Programming Topic: Languages other than Forth that use ITC or DTC interpreters |
resman |
Posted: Mon Jul 18, 2022 1:25 am
|
|
Replies: 11 Views: 1214
|
... Plasma? https://github.com/dschmenk/PLASMA/ David A. Wheeler had mentioned this on his website but I hadn't picked up on the fact that it implements a number of features I'm interested in. It sounds like maybe I should take a closer look. Thanks. My very first implementation would generate byte... |
|
|
Forum: Programming Topic: Can the 65816's A register change in width? |
resman |
Posted: Mon Jun 06, 2022 5:44 pm
|
|
Replies: 10 Views: 962
|
I also think of A as having a variable width. For what I'm working on now, I figured out early on that it's easiest just to stay in 16-bit mode and only switch to 8-bit mode when needed and switched back immediately afterwards. That was my strategy for my (BCPL) bytecode interpreter, but that 16-bi... |
|
|
Forum: Programming Topic: SDCC for 6502 |
resman |
Posted: Sat Mar 12, 2022 5:35 pm
|
|
Replies: 45 Views: 19403
|
Great news. I also used SDCC for an embedded 8051 project many years ago and found it very capable. It looks to also have support for the 65C02. |
|
|
Forum: Programming Topic: LUCIDATA Pascal for 6502 |
resman |
Posted: Thu Oct 14, 2021 2:38 am
|
|
Replies: 46 Views: 4504
|
|
|
Forum: General Discussions Topic: The Apple II programming |
resman |
Posted: Wed Jun 16, 2021 10:01 pm
|
|
Replies: 16 Views: 1713
|
On an Apple II+, the mouse card firmware will clear the memory from $2000 to $4000 in order to synchronize the mouse interrupt with the vertical retrace. As the Apple II+ doesn't have a direct way to check for vertical retrace, it uses a technique known as "vapor lock" to figure it out. I... |
|
|
Forum: General Discussions Topic: The Apple II programming |
resman |
Posted: Wed Jun 16, 2021 4:10 am
|
|
Replies: 16 Views: 1713
|
... This works for the Apple IIe/IIc/IIgs which are emulated by MAME/MESS. However this doesn't work for the Apple II+. It seems that a call to a mouse card function changes memory bank at $2000 on the Apple II+. ... On an Apple II+, the mouse card firmware will clear the memory from $2000 to $4000... |
|
|
Forum: General Discussions Topic: Andrew Jacobs (BitWise) has passed away |
resman |
Posted: Wed Jan 27, 2021 4:59 pm
|
|
Replies: 27 Views: 5531
|
This is so disheartening to hear. His contributions were always of such high quality. He was one of the main reasons I enjoy this site so much. |
|
|
Forum: General Discussions Topic: Robot Game: C vs Forth vs Assembly |
resman |
Posted: Mon Jul 06, 2020 9:35 pm
|
|
Replies: 32 Views: 5851
|
And like they say, "You can get 90% of the performance of assembly language with only 10% done in assembly, provided it's the right 10%, the critical 10%," or something like that. The actual numbers will depend on the application; but the principle holds. And it's so easy to mix some 65xx... |
|
|
Forum: Programming Topic: PLASMA 2.0 Alpha |
resman |
Posted: Sun Jul 05, 2020 2:37 am
|
|
Replies: 1 Views: 930
|
PLASMA has been languishing while everyone else was playing with their compilers. So I took advantage of the coronavacation to tidy some things up and push out an alpha release. Between the TFTP network file transfer server, file utilities, improved editor, and stable AOT compiler and JIT compiler, ... |
|
|
Forum: Programming Topic: Cowgol 2.0 compiler for the 6502 |
resman |
Posted: Sat Jun 13, 2020 9:44 pm
|
|
Replies: 53 Views: 3635
|
@resman: I don't actually want to pass parameters by writing into subroutine variables, though --- it's always going to be more expensive than passing them on the stack. I can push a byte onto the stack with a PHA, so that's one byte per byte. Storing to memory is going to be two or three bytes, de... |
|
|
Forum: Programming Topic: Cowgol 2.0 compiler for the 6502 |
resman |
Posted: Thu Jun 11, 2020 2:12 am
|
|
Replies: 53 Views: 3635
|
@resman: can you provide an example of some PLASMA stack frame code? (BTW, the Plasma VM should be a really easy Cowgol target.) These are the routines to allocate a frame & copy parameters and deallocate it: ;* ;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT ;* ENTER LDA IFPL ; ALLOCATE FRAM... |
|
|
Forum: Programming Topic: Cowgol 2.0 compiler for the 6502 |
resman |
Posted: Tue Jun 09, 2020 9:51 pm
|
|
Replies: 53 Views: 3635
|
@resman: Right. It took me ages to see that the first time round. Once you start accessing the subroutine's parameters outside the scope of the subroutine, you're effectively extending the lifetime of the parameters to when you start evaluating the first parameter, rather than just when the jsr to ... |
|
|
Forum: Programming Topic: Cowgol 2.0 compiler for the 6502 |
resman |
Posted: Tue Jun 09, 2020 5:08 pm
|
|
Replies: 53 Views: 3635
|
@resman: Cowgol 1.0 did that! I couldn't make it work. The problem is compiling code like this: function1(1, 2, function2(3, 4)); Because function1 and function2 can share the same address for their locals, then we marshal the 1 and 2 into function1's parameters and then immediately overwrite them ... |
|
|
Forum: Programming Topic: Cowgol 2.0 compiler for the 6502 |
resman |
Posted: Tue Jun 09, 2020 3:44 pm
|
|
Replies: 53 Views: 3635
|
I would make a set of simple rules to map a function's parameters, locals, and return values. For instance: function address + 0: JMP *+sizeof(parameters+return values+locals) function address + 3: parameters function address + 3 + sizeof(parameters): return values function address + 3 + sizeof(par... |
|
|
Sort by: |