Jump to content
IGNORED

Extending the ATR file format


cyco130

Recommended Posts

I hope we can get these 512 byte per sector ATRs working with SIO2SD (a firmware patch is required).

I'll put this on #1 of my TODO list after I fixed pokey divisors 0 and 1. If the Atmel has enough RAM it shouldn't be too hard. This weekend I implemented support for 512 byte ATRs in AtariSIO, still have to do some testing, but the first tests looked fine.

 

I can't tell when I'll start with the SIO2SD stuff, first I have to dig into the source code, setup build environment and verify that compiled the source code really works. Currently I'm hooked up with Pokey testing, just discovered some really, really weird behaviour yesterday (details will be posted in the "POKEY serial and IRQ timing details" thread soon).

 

so long,

 

Hias

  • Like 1
Link to comment
Share on other sites

I'll put this on #1 of my TODO list after I fixed pokey divisors 0 and 1. If the Atmel has enough RAM it shouldn't be too hard. This weekend I implemented support for 512 byte ATRs in AtariSIO, still have to do some testing, but the first tests looked fine.

 

I can't tell when I'll start with the SIO2SD stuff, first I have to dig into the source code, setup build environment and verify that compiled the source code really works. Currently I'm hooked up with Pokey testing, just discovered some really, really weird behaviour yesterday (details will be posted in the "POKEY serial and IRQ timing details" thread soon).

That's great news. I can't wait to see what you come up with. Your research into SIO is always fascinating to me.

Link to comment
Share on other sites

I finally got hold of the SIO2SD firmware source code last night: time permitting, I'm going to have a crack at building it just for laughs. I've located the sector size routines and sure enough anything but 128 or 256 bytes gets ignored. Shouldn't be too hard to modify the code to cope with 512 bytes per sector and more. Divisor 0 and 1 are beyond me, though: I'll leave that to Hias!

Edited by flashjazzcat
Link to comment
Share on other sites

Yeah - it sure is fun to read.

I'm glad you are enjoying it! Doing this research stuff is also a lot of fun for me, we have this ~30 year old computer here and there's still new things to discover. Absolutely amazing.

 

I finally got hold of the SIO2SD firmware source code last night: time permitting, I'm going to have a crack at building it just for laughs. I've located the sector size routines and sure enough anything but 128 or 256 bytes gets ignored. Shouldn't be too hard to modify the code to cope with 512 bytes per sector and more. Divisor 0 and 1 are beyond me, though: I'll leave that to Hias!

Feel free to go, this means less work for me :-)

 

I certainly don't want to discourage you, but when I compiled the 2.5 source today I saw that the current code already uses 1831 bytes of RAM (out of 2048). And in addition to that, the CPU also needs some space for the stack... So it could get quite tricky to get 512 byte sectors working with SIO2SD...

 

so long,

 

Hias

Link to comment
Share on other sites

Feel free to go, this means less work for me :-)

 

I certainly don't want to discourage you, but when I compiled the 2.5 source today I saw that the current code already uses 1831 bytes of RAM (out of 2048). And in addition to that, the CPU also needs some space for the stack... So it could get quite tricky to get 512 byte sectors working with SIO2SD...

I'm aware that the RAM is nearly full, but the sector size recognition routines quite repetitive, in as much as they could be "collapsed" some if different sizes were catered for. There's an ssize variable that at the moment only takes 128 or 256, and hopefully that value will cascade through the rest of the firmware. It should be a case of making ssize a product of LSB+MSB*256 rather than explicitly checking solely for 128 or an MSB of 1. Of course, some major re-writing will be needed to make room for a bigger sector buffer.

 

Another thing I might run into trouble with is the special 128 byte sectors. IIRC, the first 3 sectors of a 256 byte per sector disk are 128 bytes each. Is this still the case with 512 byte per sector disks?

Edited by flashjazzcat
Link to comment
Share on other sites

Another thing I might run into trouble with is the special 128 byte sectors. IIRC, the first 3 sectors of a 256 byte per sector disk are 128 bytes each. Is this still the case with 512 byte per sector disks?

 

No. While implementing the new format into SDX, after some consideration of pros and cons, I decided to make a cut with this nonsense. So the only density where the size of first 3 sectors is different than the rest, is the regular "DD" (= 256 bytes per sector).

 

Obviously, a serial drive won't boot (except from a customized OS). But I don't think it is a real problem, one can always mount a DD image as D1 and boot from there.

Edited by drac030
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...