Re: [cc65] Atari DIO

Date view Thread view Subject view

From: Shawn Jefferson (
Date: 2002-10-29 00:26:59

>>Couldn't I just write into the sectsizetab * 4 * drive number?  That
>>would be easy enough.  Is there some way to reference the sectsizetab
>>from my source code?
>This would be what my "small assembler function" would have done. You
>cannot do it since the sectsizetab variable is invisible to C (no
>starting '_').

Ok.  Maybe I should take a crack at coding it myself.  It would be good practice.  Thanks for the tip!

>>I still think it would be nice to not have to build a separate
>>library for supporting system with more than 4 drives.  It would be
>>nice if there was some way to assign the memory for this dynamically.
>>Is there some reason that you couldn't alloc memory in dio_open for
>>each handle, and then free it in dio_close?  I guess that would
>>equate to less memory, but a little more overhead.
>I think the code needed to access the sectsizetab indirectly would
>increase (and complicate) the code quite a bit. So I like to stay with
>the compile time define.
>One year ago an empty Atari program was already the biggest of all
>ports. (Maybe some other port catched up in the meantime?) So I set it
>to 4 drives.

Ok.  I see that this would increase the code size by quite a lot.  Does this statically assigned table even get put in your program if you are not using the DIO routines?

>Is recompiling really such a problem?

Not for me on this project, I just picked drive numbers less than 4.  It isn't that big of a deal, just wondering if there might be a more flexible way.  The dio routines aren't a C standard library are they?  I imagine that you (cc65 conductors) are trying to maintain a platform independent api for them though?

>If yes, what do you Atari users on the list think is a good default
>value? I think 16 is the maximum possible SIO-wise, it would consume
>64 bytes :-(

The only DOS that allows 16 drives is SpartaDOS X as far as I know.  SpartaDOS 3.x allows 9 drives I think.

>How is your hard disk connected? I don't have a hd on my Atari

My application (well two applications really) is meant for Bob Woolley's SmartIDE hardware.  I haven't actually built the circuit yet, but have mounted the hard drive inside my 800XL, and have a PCB layout generated.  I thought it would be nice to have the software pretty much done first.  The SmartIDE mod really is lacking a good partition manager.  Hopefully I've built one.  :)

There is an interesting project called MyIDE that looks pretty simple to build and very verstatile since you can build it in a cartridge. However I've heard that because the OS needs to be switched to RAM and then patched it will not work with SpartaDOS.  That rules it out for me, since I like Sparta.  Besides, the SmartIDE is much more than just an IDE interface, it is also a battery backed multiple RAM OS upgrade.  I'm sure you've heard of it before.

To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.

Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2002-10-29 00:27:29 CET