REU for C-64 & C-128

Disk drives, Monitors, SuperCPU etc.
Tachyon
Member
Member
Posts: 46
Joined: Mon Aug 03, 2015 10:59 am
Contact:

Re: REU for C-64 & C-128

Post by Tachyon »

I looked at the REU code in the 1541 UII and it's pretty simple. Gideon says as much in the code comments.

Code: Select all

-- The REU is actually really simple.
-- There are 4 modes of operation, and 4 active states:
-- r = reu read, w = reu write, R = c64 read, W = c64 write
-- Copy from c64 to reu (00): Rw
-- Copy from reu to c64 (01): rW
-- Swap                 (10): rRwW (RrWw or rRWw or RrwW or rRwW)
-- Verify               (11): rR   (Rr or rR)
-- The smallest implementation is very likely when only one bit is needed to sel
ect between
-- transition options, and reducing the total number of transitions makes sense 
too.
Frankly I'm not sure why this hasn't happened already. It seems like duplicating the 8276 REC's functionality should be simple in the age of cheap FPGA's.
I'm guessing the memory handling (refreshes, etc.) can be handled by off the shelf VHDL routines, dropped into the project.
In fact these days, the 100 ns access time of the RAM in the original REU's is easily achieved by Flash memory. A new design REU with Flash storage or a jumper to choose between cheap DRAM and Flash modules (different sockets) would make the project more worthwhile and attractive. Again, I'm betting the VHDL to drive all this is already out there for the taking. It just needs to be put together into an inexpensive, low end FPGA and built.


The Real, Original Tachyon.
Accept no substitutes!
dudz
Member
Member
Posts: 140
Joined: Tue Jun 17, 2014 5:40 am
Contact:

Re: REU for C-64 & C-128

Post by dudz »

The REU implementation of the 1541U really isnt 100% compatible at all - which really is the one and only problem with a project like this, making a REC clone that not only is "good enough" to run a handful simple things, but which is infact 100% exact the same and will work for everything, including stuff that is yet to be written. I am looking forward to that REU demo compo for that matter :)
Tachyon
Member
Member
Posts: 46
Joined: Mon Aug 03, 2015 10:59 am
Contact:

Re: REU for C-64 & C-128

Post by Tachyon »

dudz wrote:The REU implementation of the 1541U really isnt 100% compatible at all - which really is the one and only problem with a project like this, making a REC clone that not only is "good enough" to run a handful simple things, but which is in fact 100% exact the same and will work for everything, including stuff that is yet to be written. I am looking forward to that REU demo compo for that matter :)
It may not be 100% compatible, but that doesn't mean that Gideon's analysis of its operation is wrong. I believe he's correct that it's an extremely simple device. My guess is that any compatibility issues come from programmers inappropriately relying on bugs and timing irregularities in the operation of the real REU's. That said, I don't see why it would be difficult to find those irregularities and emulate them as well.
Meanwhile, creating a working 8276 REC replacement based on a simple FPGA would be a good start. Then at least with an FPGA based system, it could be updated and improved as compatibility issues are found and fixed.
As long as the design can be updated in place, there's no reason not to jump in and get the project going.
IMO, a board based on the existing REU schematic, using modern, inexpensive RAM, with an FPGA in place of the REC is a project worth doing. Better yet it should have whatever circuitry, pins, etc. are necessary to program the FPGA via a PC via USB or whatever. That or have pins for one of the $2 SD-Card adapters sold for Arduino use where it will read and reprogram the FPGA if it detects the SD Card and a certain file. (ie update.bin).
The Real, Original Tachyon.
Accept no substitutes!
User avatar
eslapion
Active Member
Active Member
Posts: 1215
Joined: Mon Jul 20, 2015 10:11 am
Location: Canada
Contact:

Re: REU for C-64 & C-128

Post by eslapion »

Tachyon wrote:It may not be 100% compatible, but that doesn't mean that Gideon's analysis of its operation is wrong. I believe he's correct that it's an extremely simple device. My guess is that any compatibility issues come from programmers inappropriately relying on bugs and timing irregularities in the operation of the real REU's. That said, I don't see why it would be difficult to find those irregularities and emulate them as well.
There comes the importance of the 20% effort - 80% result, 80% effort - 20% result rule.

"Better" is the worst enemy of "good".

IMHO, Gideon's implementation is more than good enough. Didn't he make the VHDL code for his REC publicly available?
Wealth, like happiness, is never attained directly. It comes as a by-product of providing a useful service. -Harland D. Sanders
Tachyon
Member
Member
Posts: 46
Joined: Mon Aug 03, 2015 10:59 am
Contact:

Re: REU for C-64 & C-128

Post by Tachyon »

eslapion wrote:
Tachyon wrote:It may not be 100% compatible, but that doesn't mean that Gideon's analysis of its operation is wrong. I believe he's correct that it's an extremely simple device. My guess is that any compatibility issues come from programmers inappropriately relying on bugs and timing irregularities in the operation of the real REU's. That said, I don't see why it would be difficult to find those irregularities and emulate them as well.
There comes the importance of the 20% effort - 80% result, 80% effort - 20% result rule.

"Better" is the worst enemy of "good".

IMHO, Gideon's implementation is more than good enough. Didn't he make the VHDL code for his REC publicly available?
Yes, the whole project is GPL. Those code comments I posted are from the REU VHDL code.
The Real, Original Tachyon.
Accept no substitutes!
User avatar
eslapion
Active Member
Active Member
Posts: 1215
Joined: Mon Jul 20, 2015 10:11 am
Location: Canada
Contact:

Re: REU for C-64 & C-128

Post by eslapion »

@Tachyon:
I have yet to find a single piece of software which doesn't work well with the 1541 Ultimate I's integratd REU so IMHO, complaining that "it's not 100% compatible" simply indicate sceners and demo coders have way too much influence in the Commodore community.
Wealth, like happiness, is never attained directly. It comes as a by-product of providing a useful service. -Harland D. Sanders
maraud
Member
Member
Posts: 6
Joined: Mon Jul 27, 2015 4:28 pm
Location: Florida
Contact:

Re: REU for C-64 & C-128

Post by maraud »

Agreed 100% Only problem I ever had is one of the rev's I had always showed 16MB regardless of setting which pissed off some software,
User avatar
eslapion
Active Member
Active Member
Posts: 1215
Joined: Mon Jul 20, 2015 10:11 am
Location: Canada
Contact:

Re: REU for C-64 & C-128

Post by eslapion »

maraud wrote:Agreed 100% Only problem I ever had is one of the rev's I had always showed 16MB regardless of setting which pissed off some software,
Strange... never had that problem.

What firmware do you have in there? Also, did you download firmware updates?
Wealth, like happiness, is never attained directly. It comes as a by-product of providing a useful service. -Harland D. Sanders
dudz
Member
Member
Posts: 140
Joined: Tue Jun 17, 2014 5:40 am
Contact:

Re: REU for C-64 & C-128

Post by dudz »

It may not be 100% compatible, but that doesn't mean that Gideon's analysis of its operation is wrong. I believe he's correct that it's an extremely simple device.
well, with all respect, but it wasnt gideon who did the analyzing - that was done mostly by wolfgang moser and friends - you can find his results on zimmers: http://www.zimmers.net/anonftp/pub/cbm/ ... oc-1.0.zip
My guess is that any compatibility issues come from programmers inappropriately relying on bugs and timing irregularities in the operation of the real REU's. That said, I don't see why it would be difficult to find those irregularities and emulate them as well.

of course, pretty much all problems that arise with emulating old hardware comes from reasons like this - which pretty much is the reason for why you need to pay close attention to detail if you want all software - including yet to be written stuff - to work on all devices, original REU and your clone that is.
IMHO, complaining that "it's not 100% compatible" simply indicate sceners and demo coders have way too much influence in the Commodore community.
yeah of course - except if it wasnt for those people, emulators would still be on 1996 "it can run giana sisters, who cares about the rest" level.

even one of the very simple RAM checker programs that exist for REU fails on 1541U for that matter. there is a reason for why wolfgang moser (not a scener nor demo coder, btw) created his reu test program for gideon long ago. it also fails with a bunch of problems, btw.
Tachyon
Member
Member
Posts: 46
Joined: Mon Aug 03, 2015 10:59 am
Contact:

Re: REU for C-64 & C-128

Post by Tachyon »

The Real, Original Tachyon.
Accept no substitutes!
Post Reply Previous topicNext topic

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 3 guests