Re: IDE for C64

From: Frank Kontros (
Date: 1998-12-07 01:05:30

Hello Levente, Ruud

Levente> I'm with the idea of using an 1541 wreck and use the digital board, the
Levente> PS and the case for the hdd. You can expand the original board with RAM,
Levente> ROM and a portchip easily (if needed), you can keep all 1541 properties.
Levente> So you can make your business about 99.99% compatible to the original
Levente> 1541, even using the HDD instead of the floppies.

I disagree with 99.9% compatibility. As most fasloaders directly reads/writes
$1c01 and decodes GCR bytes bypassing DOS routines, the above mentioned thing
simply wouldn't work. With specialized hw GCR coders/decoders or without you
need an extra (micro)controller to drive HDD, convert data into GCR and transfer
to $1c01 register. And not to mention head stepping :-)))

Levente> Since it's just a hacked 1541, it works with all computers supporting
Levente> the serial IEC bus.

Like CMD units :-) Slow but compatible.

Levente> Talking about the filesystem: I'd use a FAT-like system, just to make
Levente> things easier. Maybe, I'd use a FAT-32 like stuff because of the many
Levente> and small files.

Compatibility with other file system has a non obvious advantage. Namely when
FAT crashes there is some chance recover it with programs.

Levente> Or you can decide with the CBM like scheme, to allocate a big
Levente> bitmap on the first blocks of the HDD as BAM and use daisy-chain linked
Levente> file blocks.

It is much reliable even if BAM would crash somewhere.

Levente> Of course, any old programs supporting direct block read/write commands
Levente> would go mad when applying onto this filesystem. However, you have the
Levente> option to treat special filetypes (regular 1541 disk images) on the HDD
Levente> as subdirs too. When being able to not just copy, but even CD to an image
Levente> file, your DOS can emulate a normal 1541 disk (as long as you're in the
Levente> image), all with the appropriate parameters,

Disk images *must* be supported and no way as 64NET system does (extracting
files from disk).

Levente> even low-level things like GCR codes.

With some extra hw will do.

Levente> Because of the image files, it would be possible to use not just 1541
Levente> but any type and kind of C= floppy images.

Definately possible. There are plenty space even in the 1581 ROM.

Levente> (Of course, it would be also a question of an at least 32K Eprom
Levente> replacing the original, then all of your routines could reside in the
Levente> expanded area (instead of scratching anything from the original DOS).
Levente> There is fortunately, no problems with this extension, as there is fairly
Levente> enough place to use in the memory map).


Ruud>Enough to place extra RAM as well. Can be used for a lot of purposes:
Ruud>buffers, patches etc...

Extra RAM also possible and I can't imagine without it.

Ruud>I have to concentrate on the HW around the hD for the moment. This wil
Ruud>include interfacing it with the 1541.
Ruud>What has to be done as well is:
Ruud>- Find out to direct the original routines to our own. This needs a good
Ruud>  knowledge of the original OS which I lack.

I see no problem in this. There are plenty of commented 1541 ROM disassemblies.

Ruud>- We have to implement our own commands (like CD, MKDIR etc) so we'll need
Ruud>  to know where to insert them in one or another way.

This also not a big problem.

Ruud>- Then the whole filesystem handling itself. It should be able of
Ruud>  handling/emulating more then one drive, subdirectories and dealing with
Ruud>  images. Here we can use the knowledge I've build up by programming
Ruud>  PC-Disk3.

More RAM and ROM will help in that problem.

Ruud>The way to program it:
Ruud>- it must be in assembler.
Ruud>- I'm thinking of using a "jump"-table. If we have to break in the original
Ruud>  OS, we first jump to this jump-table and from there to the new routine.
Ruud>  I think the advantages of a jump-table ore obvious.

In the original ROM there are some jump table (in 1581 even more).

Don't forget guys, that I having deal with 1541 near every day expanding and
implementing new commands into my own 15xx emulator (I still work on it).


This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail

Archive generated by hypermail 2.1.1.