Jump to content
IGNORED

SIO guys: does anyone have a problem with reserving $70-$78 for #AtariWiFi?


Recommended Posts

Unknown if they're in use.  SIO2SD and probably SIO2PC derivatives do use some extra special commands for things like listing images on SD cards, mounting etc - usually front-ended by an Atari based program.

 

In theory you could get by with using 1 or 2 custom SIO command values and just include the actual command as Aux or part of the data frame.

Link to comment
Share on other sites

Yeah, that's what I am referring to, for a new set of devices. one of them being a special control channel for adjusting adapter settings, mounting disk images, etc.

To be clear, the N: devices are for TCP or UDP communication, and this would allow up to say 6 or 7 simultaneous connections with CIO. (although to be safe, would just say 4.)

 

-Thom  

Edited by tschak909
Link to comment
Share on other sites

On 11/12/2019 at 11:19 PM, Rybags said:

Unknown if they're in use.  SIO2SD and probably SIO2PC derivatives do use some extra special commands for things like listing images on SD cards, mounting etc - usually front-ended by an Atari based program.

 

In theory you could get by with using 1 or 2 custom SIO command values and just include the actual command as Aux or part of the data frame.

That sounds like the most reasonable advice. If possible, do not flood the limited SIO addressing/command space if not absolutely necessary.

 

Link to comment
Share on other sites

I guess an advantage to using a second device # for what's essentially an emulated disk drive is that it might make programatically determining if you're dealing with a real or emulated drive a bit easier.  Plus stop the annoying noseblow sound when unknown commands get the NAK from a real peripheral.

Link to comment
Share on other sites

A quick grep through the Altirra source code turned up that SIO2SD uses device id $72 as well.

 

These additional device IDs are mainly used for device configuration (eg selecting drive mapping, navigating through the directory tree on the SD card, setting highspeed baudrate etc) and using a fixed device ID for that (compared to adding commands to eg the $3x disk drives) makes a lot of sense: this device ID will always be present on the SIO bus if a SIO2SD, SDrive, ... is connected (even if no actual drives are currently enabled) and there's no chance the additional commands added to eg $3x disk drives could interfere with existing software trying to check for or use some proprietary (Happy, Speedy, ...) command and/or highspeed SIO protocol (XF551 and Happy Warp are inidicated by bits 7 and 5 set in the command). So the command space of disk drives is already quite cluttered and it's not easy to find an empty spot there.

 

I'm pretty sure several other device IDs will be used by existing hardware (or PBI devices or SIO emulators). For example I use $61 ("a") in AtariSIO for the remote control interface - it can be disabled though if it causes problems. Ah and PCLink uses $6F.

 

IIRC IDEPlus and SIDE U1MB BIOS use $20, $Bx and $A0. @flashjazzcat should know more about that.

 

Not sure if some devices use the other lower number IDs ($00-$2F) plus you can also look into using some of the higher ones ($80-$9F, $C0-$FF).

 

so long,

 

Hias

  • Like 2
Link to comment
Share on other sites

1 hour ago, tschak909 said:

so can we get a table of device IDs that can be agreed upon? I need a block of 6 or 7 device ids that I can use for the N: devices

If it turns out to be problematic to reserve eight IDs, would implementing a single ID and using an alternative extended command frame (along the lines of the PCLink protocol, which employs one ID but supports fifteen unit numbers) be possible?

  • Like 1
Link to comment
Share on other sites

Regarding the IDs, if I were you I'd just pick a range which appears vacant at the moment and change it later on if someone pipes up after the event. The entire ID range can be encompassed in a single equate in the source code. That's assuming you don't want to or can't use the PCLink method of employing a secondary command frame and just passing a fixed device ID and unit number in one of the auxiliary bytes in the four byte frame. I suppose there's a little more overhead doing it that way, but on the other hand you gain a lot of flexibility and you only need to reserve one device ID.

 

Edited by flashjazzcat
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...