As a software developer myself, starting with coding on the C64 when I was like 8, and not having the luxury of having ANYTHING like the Neo/Geo/REU carts of yesterday and today, THIS information is extremely useful to me, ESPECIALLY the code. I have a U2+ which can at least do either the REU or GeoRAM carts. I have an old college program I wrote in the DOS days under C (Or was it C++?) that I want to write into Basic/ASM using either a BASIC compiler or in native BASIC with some custom ASM routines. Having the memory addresses you specified just made things so much easier. Thanks!
What a great explanation of REU vs Geo / Neo RAM. Thank you very much. I actually think the REU seems like a superior unit but I absolutely see the value of NeoRAM as you demonstrated. Thank you!
haha I made a breadbin style coloured 64C mod too, think it was 2004 or 2005. Pics should still be up on Lemon64 forum if Google can search the site for you. Should still have a C64 motherboard with early VIC II and rev 2 or 3 6581. Should dig it out for the channel really if it still works.
@@RetroWK Sadly the image server on the lemon64 forum is no longer working for the links. I could take new pictures but it's over a decade old with a few chips/scratches etc but there is no problem with the plastikote paint I used (colour:greybeige) but sadly no spare poly tray for a 64C, This really shows why I try not to buy unboxed stuff.
The best use for this sort of expansion at the time was GEOS and from what I can find, other than the apps which came with the OS, there were very few written for it. This is understandable since the potential market was so small.
Very cool demo of NeoRAM! I definitely wouldn't mind having one around for quick and easy storage. A game could definitely take advantage of it theoretically even without the DMA.
game might, but overhead of copying might be a bit of nuisance. And since old games don't use it there's handful of new titles which just eventually might.
meh. This would be okay for slow games that just require a lot of code and data accessible slowly and aren't too demanding on block transfers. But in these cases, a ROM cart might be the best solution. For example, Eye of the Beholder recently came out in .CRT image form and it's just under a megabyte; it's really best played on a 128 because an automap displays on the VDU while the main game screen runs on the VIC. Even the original didn't have this. I've got it running in VICE and it's brilliant. I'm sure constructing a real 1MB ROM cartridge version of it for a real C64/C128 wouldn't be difficult or much different in cost than a Neo RAM. I can maybe see the Neo RAM's use for development, though the original REU with the DMA controller seems much more useful for fast graphics programming. With the REU, you basically have a blitter chip, and can thus do Amiga-like stuff. Is there a version of one of those that doesn't cost so much, or is emulation the way?
Finally a video I was looking for! I have a 512K GEORAM which I want to test for damage. Can I use your basic program without modification? Another question: My GEORAM's case is glued together. How was the battery supposed to be replaced? Thanks!
I think the 8-Bit Guy just released a video about that. Not sure if there is code in there. However here is one in assember: codebase64.org/doku.php?id=base:reu_programming
Another GREAT video!!! Thank you for all the Commodore content lately. As you know I have two of Commodore REU's, but these two videos that you have done on GeoRAM has me wanting to build myself one!! Thank you again for all the time you put into making such good contend!
As a hard disk, it is quite nice. I can see other uses for less intensive games (adventure rather than twitchers). And you can't beat it for the price. :)
Yes!!! Like a much bigger 4X space trading game!! With an HD of 2MB so much info of a randomly generated universe with each planets resources could be made. Also I bet D&D type exploring could use it for so many tables of info
Excellent video and a great thread of conceptual and experimental possibilities that this recent content thread has inspired in me! I’m patiently (more like impatiently ;) awaiting the arrival of the NeoRAM PCBs that you designed. In light of this video I have a couple of questions regarding the DMA. You mentioned that it was due to the REU’s DMA (in combination with Mr. Sid’s wizardry) that makes for Sonic to be playable on an REU-expanded C64. If this is the case then, hypothetically-speaking, if your NeoRAM hardware design included its own “on-board” DMA hardware as well as all of the programmatic-hooks and affordances found on an REU DMA, then couldn’t your design conceivably play Sonic and handle memory transfer in the same way as an REU would? Also, according to what I’ve gathered from C64Wiki, the Logic IC (aka RAM Expansion Controller) “... contains the logic required to swap banks of memory on request from code executed by the CPU.” If this is true, then would the necessary hardware to include in NEORAM’s current design also include the logic found on the REC (RAM Expansion Controller logic) to make data transfer rates fast and efficient enough for Sonic? Thank you for your great content, keep it up!
There are currently people working on a remake or reimagination of the classic REU. The NEORAM is a much simpler thing. I will do a video on that new REU as soon as I can get my hands on it. I assume that they did the DMA & Memory Controller in FPGA or CPLD since these are not available anymore.
What a great thing would have been if Commodore designed the C64 to be able to swap (page) in real writable RAM from the cartridge into 8k or 16k pages. I feel like it would have been possible, but maybe nobody thought about this back then. No 256-byte-copying or DMA hack would be needed and it would be fast...
I think you are right. They were happy to ship something for a relatively low price (still a lot to me back then). I also think most people did not see the potential of the machine or were able to program it the way that is possible now with the relevant infos widely spread.
I think the REU was unfortunately a vastly underutilized game enhancer due to its rarity. The DMA controller was like a dumb blitter chip that’s really starting to show its strengths in these modern developed/ported games on the commodore. Would be neat to see more using it.
@@RetroWK I never knew what an REU could really do for a C=64 until now. I guess that's down to Commodore's shitty marketing. Had this been known at the time, and had the hardware been a bit more affordable, and developers more creative, and released a demo of what it could do... maybe the REU could have gone mainstream on the 64. I might have given the Amiga a miss completely. But maybe not. Still, it could have made the 64 a lot more interesting for longer.
@@SeeJayPlayGames Same here. I just finally realised this in my interview with MrSid (the guy who ported Sonic to the C64). It's not quite like the Blitter on the Amiga, but for an 8bitter this was awesome.
@@RetroWK and even though it wasn't until 1997 (way too late, really) the SuperCPU is also an interesting product, with up to 16MB of RAM and a 20MHz processor. But by then I was on like my third or fourth Pentium chip.
Your program uses the variables MAXBANK and MAXBLOCK, but Commodore BASIC V2 only uses the first two letters of a variable name, so they are both are actually variable MA. Luckily you set both to the same value and didn’t change them, otherwise you would be getting some unexpected results.
I had a 1700 REU back in the day i am sad i lost it well I lost a lot of stuff in the basement flood 😞 I'm surprised no one has came out with a 512 ram expansion that sockets in place of the 64k and taps off some address lines. They did it a lot of other micro computers.
That would be nice, but the C64 can't address it. It would be bank switched (like the one I have for the Amstrad CPC 464). ... and it would be missing the DMA feature.
Here is a question that I wonder if you have the answerer. As of right now I use my 1541 Ultimate II+ on my C128D and I'm running GEOS128 and I tell the cartridge to set up the two virtual drives both 1581's and some of its RAM as a REU. This makes GEOS128 run so smoothly. Can GeoRAM work with the C128 and if so, do you think it will work with GEOS128 and maybe even better than my 1541UII+ with most of its 2MB of RAM setup as a HD ID#2? This way I can free up my 1541UII+ and move it back to my C64? I know I asked many questions but if anyone knows the answers to them, I bet it is you!
Yes the GeoRAM does work with GEOS 128. There’s even a version that’s been released to work with 4MB GeoRAM cards. Whether it’s better than a UII+ I couldn’t tell you, but it does work.
@@RetroWK It works because those two variables are always set to the same value (2). This will actually make it run slower in BASIC as it has to go look the variable up instead of using the constant.
There must be a way to recreate the REU with modern (or modernish) parts, without plugging a much capable computer like the RasPi as an add-on card to a 40 year old 8 bit computer. I mean, if it could be done in 1985, it must be much easier in 2023.
As a software developer myself, starting with coding on the C64 when I was like 8, and not having the luxury of having ANYTHING like the Neo/Geo/REU carts of yesterday and today, THIS information is extremely useful to me, ESPECIALLY the code.
I have a U2+ which can at least do either the REU or GeoRAM carts. I have an old college program I wrote in the DOS days under C (Or was it C++?) that I want to write into Basic/ASM using either a BASIC compiler or in native BASIC with some custom ASM routines. Having the memory addresses you specified just made things so much easier.
Thanks!
Thanks for watching! If I can help in any way, please let me know.
What a great explanation of REU vs Geo / Neo RAM. Thank you very much. I actually think the REU seems like a superior unit but I absolutely see the value of NeoRAM as you demonstrated. Thank you!
Thanks man!
the DMA in the REU is THE feature and overshadows everything else
True.
Interesting video. The C64C looks great too with the 'breadbin' keys and sticker.
Thanks! The C64 is a nice mix of classic and super classic ;-)
haha I made a breadbin style coloured 64C mod too, think it was 2004 or 2005. Pics should still be up on Lemon64 forum if Google can search the site for you. Should still have a C64 motherboard with early VIC II and rev 2 or 3 6581. Should dig it out for the channel really if it still works.
Good taste man!
@@RetroWK Sadly the image server on the lemon64 forum is no longer working for the links. I could take new pictures but it's over a decade old with a few chips/scratches etc but there is no problem with the plastikote paint I used (colour:greybeige) but sadly no spare poly tray for a 64C, This really shows why I try not to buy unboxed stuff.
You did copy all lines of the BASIC program, but didn't press ENTER after the last line. ;-) I immediately noticed that. :D
Yeah, my lizard brain also noticed it, but choose to ignore it at the time ;-)
The best use for this sort of expansion at the time was GEOS and from what I can find, other than the apps which came with the OS, there were very few written for it. This is understandable since the potential market was so small.
Or as a simple battery backed hard disc.Other than the Easy Flash you can theoretically copy real discs to this.
Very cool demo of NeoRAM! I definitely wouldn't mind having one around for quick and easy storage. A game could definitely take advantage of it theoretically even without the DMA.
I am sure you could utilize the 256bytes for something. I figure doing the memory switching in machine language could work for games.
game might, but overhead of copying might be a bit of nuisance. And since old games don't use it there's handful of new titles which just eventually might.
meh. This would be okay for slow games that just require a lot of code and data accessible slowly and aren't too demanding on block transfers. But in these cases, a ROM cart might be the best solution. For example, Eye of the Beholder recently came out in .CRT image form and it's just under a megabyte; it's really best played on a 128 because an automap displays on the VDU while the main game screen runs on the VIC. Even the original didn't have this. I've got it running in VICE and it's brilliant. I'm sure constructing a real 1MB ROM cartridge version of it for a real C64/C128 wouldn't be difficult or much different in cost than a Neo RAM. I can maybe see the Neo RAM's use for development, though the original REU with the DMA controller seems much more useful for fast graphics programming. With the REU, you basically have a blitter chip, and can thus do Amiga-like stuff. Is there a version of one of those that doesn't cost so much, or is emulation the way?
Finally a video I was looking for!
I have a 512K GEORAM which I want to test for damage. Can I use your basic program without modification?
Another question: My GEORAM's case is glued together. How was the battery supposed to be replaced?
Thanks!
The program should work. I think they didn't think that anyone would use their hardware 30+ years later ;-)
Thanks a lot!
I would really like to see the same program running on REU (adapted for REU of course).
I think the 8-Bit Guy just released a video about that. Not sure if there is code in there. However here is one in assember: codebase64.org/doku.php?id=base:reu_programming
Another GREAT video!!! Thank you for all the Commodore content lately. As you know I have two of Commodore REU's, but these two videos that you have done on GeoRAM has me wanting to build myself one!! Thank you again for all the time you put into making such good contend!
Thanks man, as always! I hope you get around to build your own. It's a very nice soldering project!
Interesting.... the REU seems the "best" all-arounder but the NeoRAM has its strengths as well.
As a hard disk, it is quite nice. I can see other uses for less intensive games (adventure rather than twitchers). And you can't beat it for the price. :)
That's true. The price is right. ... and there are versions of Maniac Mansion and Neuromancer for the NEORAM.
Yes!!! Like a much bigger 4X space trading game!! With an HD of 2MB so much info of a randomly generated universe with each planets resources could be made. Also I bet D&D type exploring could use it for so many tables of info
@@RetroWK what size does it have to be for those 2 games? 512k? 2MB?
@@Charleshawn66 512KB is the standard size for the NeoRam. That will do. I tried it with my 512KB version and it worked fine.
Excellent video and a great thread of conceptual and experimental possibilities that this recent content thread has inspired in me! I’m patiently (more like impatiently ;) awaiting the arrival of the NeoRAM PCBs that you designed. In light of this video I have a couple of questions regarding the DMA.
You mentioned that it was due to the REU’s DMA (in combination with Mr. Sid’s wizardry) that makes for Sonic to be playable on an REU-expanded C64. If this is the case then, hypothetically-speaking, if your NeoRAM hardware design included its own “on-board” DMA hardware as well as all of the programmatic-hooks and affordances found on an REU DMA, then couldn’t your design conceivably play Sonic and handle memory transfer in the same way as an REU would? Also, according to what I’ve gathered from C64Wiki, the Logic IC (aka RAM Expansion Controller) “... contains the logic required to swap banks of memory on request from code executed by the CPU.” If this is true, then would the necessary hardware to include in NEORAM’s current design also include the logic found on the REC (RAM Expansion Controller logic) to make data transfer rates fast and efficient enough for Sonic?
Thank you for your great content, keep it up!
There are currently people working on a remake or reimagination of the classic REU. The NEORAM is a much simpler thing. I will do a video on that new REU as soon as I can get my hands on it. I assume that they did the DMA & Memory Controller in FPGA or CPLD since these are not available anymore.
What a great thing would have been if Commodore designed the C64 to be able to swap (page) in real writable RAM from the cartridge into 8k or 16k pages. I feel like it would have been possible, but maybe nobody thought about this back then. No 256-byte-copying or DMA hack would be needed and it would be fast...
I think you are right. They were happy to ship something for a relatively low price (still a lot to me back then). I also think most people did not see the potential of the machine or were able to program it the way that is possible now with the relevant infos widely spread.
I think the REU was unfortunately a vastly underutilized game enhancer due to its rarity. The DMA controller was like a dumb blitter chip that’s really starting to show its strengths in these modern developed/ported games on the commodore. Would be neat to see more using it.
That's true. I figure it wasn't as easy to get infos on that stuff back in the day ... and as you said: It was not common at all.
@@RetroWK I never knew what an REU could really do for a C=64 until now. I guess that's down to Commodore's shitty marketing. Had this been known at the time, and had the hardware been a bit more affordable, and developers more creative, and released a demo of what it could do... maybe the REU could have gone mainstream on the 64. I might have given the Amiga a miss completely. But maybe not. Still, it could have made the 64 a lot more interesting for longer.
@@SeeJayPlayGames Same here. I just finally realised this in my interview with MrSid (the guy who ported Sonic to the C64). It's not quite like the Blitter on the Amiga, but for an 8bitter this was awesome.
@@RetroWK and even though it wasn't until 1997 (way too late, really) the SuperCPU is also an interesting product, with up to 16MB of RAM and a 20MHz processor. But by then I was on like my third or fourth Pentium chip.
@@SeeJayPlayGames Me too!
where did you source the chips and bits for the pcb i had a hard time trying to figure out the parts list to purchase it.
Either Reichelt or Conrad here in Germany. I think it was Reichelt.
Your program uses the variables MAXBANK and MAXBLOCK, but Commodore BASIC V2 only uses the first two letters of a variable name, so they are both are actually variable MA. Luckily you set both to the same value and didn’t change them, otherwise you would be getting some unexpected results.
Your are right. I totally forgot about that. In the back of my head I was always wondered why we used A$ and such for names.
I had a 1700 REU back in the day i am sad i lost it well I lost a lot of stuff in the basement flood 😞
I'm surprised no one has came out with a 512 ram expansion that sockets in place of the 64k and taps off some address lines.
They did it a lot of other micro computers.
That would be nice, but the C64 can't address it. It would be bank switched (like the one I have for the Amstrad CPC 464). ... and it would be missing the DMA feature.
Here is a question that I wonder if you have the answerer. As of right now I use my 1541 Ultimate II+ on my C128D and I'm running GEOS128 and I tell the cartridge to set up the two virtual drives both 1581's and some of its RAM as a REU. This makes GEOS128 run so smoothly. Can GeoRAM work with the C128 and if so, do you think it will work with GEOS128 and maybe even better than my 1541UII+ with most of its 2MB of RAM setup as a HD ID#2? This way I can free up my 1541UII+ and move it back to my C64? I know I asked many questions but if anyone knows the answers to them, I bet it is you!
Sorry Charlie, can't help you there, since I still don't have a 128 around. Working on it ;-)
Yes the GeoRAM does work with GEOS 128. There’s even a version that’s been released to work with 4MB GeoRAM cards. Whether it’s better than a UII+ I couldn’t tell you, but it does work.
Can Neoram be used as a RAM extension for macro assemblers?
(like a classic REU)
Not yet. It's a feature planned for years.
@@RetroWK That would be a must have feature.
CBM BASIC uses a two-char identifier for variables so both 'maxbank' and 'maxblock' will be treated as 'ma'.
That's pretty meh ;-) Thanks, I didn't know that (any more). Still seems to work ... I have to check why.
@@RetroWK It works because those two variables are always set to the same value (2). This will actually make it run slower in BASIC as it has to go look the variable up instead of using the constant.
You made so many NEORAMs... are you selling any?
I sold a few to people who were quick to write me up. But they are all gone now. Sorry!
Where do i find the drivers to use the georam as a hard drive?
There are no drivers needed. Software can be found here: members.optusnet.com.au/spacetaxi64/CBM-REU-TOOLS/GEORAM-TOOLS.htm
Tweak this to be able to create a "ROM" on the fly for a Commodore PET/CBM and you'll really have my attention.
Isn't there a solution for that already??
There must be a way to recreate the REU with modern (or modernish) parts, without plugging a much capable computer like the RasPi as an add-on card to a 40 year old 8 bit computer. I mean, if it could be done in 1985, it must be much easier in 2023.