How to use more memory on the X16, C128, C64, Mega65 in Basic
HTML-код
- Опубликовано: 11 фев 2025
- Even Basic programs can use memory expansions.
See how you can reduce loading times and build larger worlds on your Commodore 8-Bit computer.
This explains GeoRAM, REU, Mega65 DMA and the Commander X16 memory_copy kernal function.
Links mentioned in the Video:
Source-Code for the programs shown:
github.com/The...
GoDot's projects:
www.godot64.de
C64.Kernal routine for copying 256 bytes:
www.forum64.de...
Get C64-Studio here:
www.georg-rott...
The Commander X-16 documentation:
github.com/X16...
Build your own GeoRAM replica:
github.com/hac...
I love the way you structured this video. It was fun to see how each of the machines is a bit different, but also has similarities. Love the way you covered the MEGA65 as well, my favorite Commodore. Looking forward to your future videos.
Yes, similar but different describes it best. I also liked that a lot. And I think I‘ll try to keep working on topics that can be shown on multiple platforms in parallel.
Thanks for the great feedback!
This was not only an excellent comparison in fast memory transfer on different systems, for me it was also a great Explanation and Introduction on how to realize it. Thanks a lot !
Glad you like it. Thanks for the great feedback!
Thank you for covering the MEGA65 in your video!
My pleasure. Thanks!
You can speed up the REU on the C64 by using the Autoload feature on the command register. If you enable the bit, the previous registers will be reloaded after the transfer, so if e.g. the transfer size or the addresses and bank are the same, then you don’t need to poke them again.
Oh right, that speeds things up!
Highly appreciate your input,thanks!
Hope you add the MEGA65 more often. I love mine. I think it gets not enough love.
I‘ll definitely try to create more content for it. Thanks for your input!
Danke für die Informationen, wie ich unter Basic die Speichererweiterung nutzen kann
Sehr gern! Danke für das Feedback!
While the BackBit cartridge is not exactly "expansion memory" per se, it can behave in a somewhat similar way. My latest project (on my channel) uses this ability to allow my C64 to play back video (with digital audio) at 24 frames/sec. Data is copied to the 64's memory at 1 MHz. There is no DMA involved. (Watched because the Commander X16 stuff is interesting.)
Yes these cartridges really make 8-Bit computers work faster :-)
Similar to the BackBit cartridge is the SideKick64. It‘s based around an RPi, not a Teensy, but it also offers GeoRAM emulation. And the RAD expansion module (from the same creator as the SideKick) also provides REU emulation through an RPi.
Just received the tracking number for my X16, I hope I can show it in one of my upcoming videos.
Thanks for your input!
You can put a string variables "string" into memory above 40960 by poking VARTAB. It must be in usable RAM and must still be under the 65k mark. You can also store & peek values >255.
DEF FN PEEKW(A) = PEEK(A) + (PEEK(A+1)*256)....... Now X = FNPEEKW(A) will retrieve a 16 bit value from A.
That function really improves readability and speed, thanks for bringing it up!
The function name can only be two characters long, though. But still, I'll use that in the future. Thanks for your input!
Great video. Thank you.
You‘re welcome. Thanks for the feedback!
Great video.
Thanks for your feedback!
So, how do we build that?
Hm, build what?
Or you could simply use BeebEm, on a PC or Mac, assuming you don't have the original hardware, max the RAM, enable a virtual 2nd 3MHz 6502 processor, with another 64 KB of RAM, and then play with Acorn's, 1984-86'ish, HI-BASIC. Saves having to write your own overlay routines, let alone multi processor.
Wonderful, how big the 8-Bit universe still is. I have read about the versatility of the BBC Micros, but I grew up in a different spot of the world. Still, I like a lot what I read about it and how it was advertised. And it was the original Elite platform, right? So, I can see how these machines fill a lot of soft spots today :-)
Thanks for your input!