I didn't recall that the quote in the book didn't mention the real reason CPM carts didn't work in general, I might have dumbed down the answer to how I sold the solution inside of CBM which is saving money gives a broad license to implement remedies. Claiming it never really worked on the C64 wouldn't fly either as it would have sounded like an excuse. The biggest culprit in CPM cartridge design is that there are certain times of some instructions where halting the Z80 via the clock stretching mechanism results in the Z80 putting out a "non-logical" voltage through the time/ I.E. they put out around 1-1.2v for an entire PHI cycle. For example some instructions were 3 clocks long and it was okay to halt the clock between clocks 2 and 3 but not clocks 1 and 2. Some brands of 74LS257s would say that 1-1.2v was close enough to interpret as a "0" and output a low voltage. Other brands, one in particular, would go metastable and actually oscillate or float the output in turn. DRAMs hate to see moving address lines when /RAS and /CAS make their transition, internally they start to enable multiple rows/columns that then collide and this this collision causes corruption of DRAM contents in general. So while it was known that TI 257's didn't work well (or Signetics I forget which) everyone assumed it was speed when really it was how they responded to 1-1.2v on their input for an extended time. Also this was an "amplified" 1v, I.E. it wasn't a matter of just adding stronger pullups, the internal bus of the Z80 was in a float condition with the address buffers turned on. That weird mishmash of gates that sits between the 650s and Z80, mostly implemented by Frank Palaia, basically decoded the type of cycle that would cause the problem and in that case would let one more clock go through to the Z80 before stating the clock stretch. Would like to have done that jungle logic in a PAL but the cost was prohibitive at the time. Bil -----Original Message----- From: owner-cbm-hackers@musoftware.de [mailto:owner-cbm-hackers@musoftware.de] On Behalf Of silverdr@wfmh.org.pl Sent: Wednesday, December 19, 2012 4:09 PM To: cbm-hackers@musoftware.de Subject: Re: CBM's CP/M, Z-80 carts for the 64 > On 19/12/2012 12:47, silverdr@wfmh.org.pl wrote: >> Do I recall correctly that those carts were unreliable / unstable? Also, wikipedia states: [..] the cartridges only worked on early-model C64s from 1982 and were incompatible with later units [..] What do the authors mean there? On 2012-12-19, at 14:35, didier derny wrote: > I saw a few between 1984-1985... > none really worked... > in the best case it started and crashed after a few minutes... On 2012-12-19, at 15:48, Craig Taylor wrote: > I have been able to get the C64 CP/M cart working on a flat C128 (stock powersupply / just as an experiment). It ran reliably but I didn't spend that much time with it due to the how _very_slow_ it was... On 2012-12-19, at 16:11, Steve Gray wrote: > I have one and it does work on the C64. I tested with a breadbin 64 but I can't tell you how "early" the machine was. > If anyone is REALLY TRUELY interested, I have lots of C64's I can test on ;-) On my wide (250425) board though I encountered the "best case" described by didier. I was wondering whether my cart is broken or something. Then I vaguely recalled a discussion about stability of the cart. I tried it on the narrow board (according to some sources on which it should not work at all) and it seemed to work. At least I could boot and issue some commands for several minutes. And I still wonder what is the reason. Especially that it seemed to work on the latest board. Maybe I should leave it overnight.. -- SD! Message was sent through the cbm-hackers mailing list Message was sent through the cbm-hackers mailing listReceived on 2012-12-19 22:00:36
Archive generated by hypermail 2.2.0.