Getting data to/from the X16

Chat about anything CX16 related that doesn't fit elsewhere
rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Getting data to/from the X16

Post by rje »


I know there are two ADDITIONAL SNES controller pin headers on the board.  If one were bored, one might could design I/O with one of those... if the lines can be "written to", that is.

 

 

 

User avatar
StephenHorn
Posts: 565
Joined: Tue Apr 28, 2020 12:00 am
Contact:

Getting data to/from the X16

Post by StephenHorn »



5 hours ago, rje said:




I know there are two ADDITIONAL SNES controller pin headers on the board.  If one were bored, one might could design I/O with one of those... if the lines can be "written to", that is.



 



This is technically possible, but your caveat is that you won't be able to do this for arbitrary-sized payloads with the kernal, and you'll only be getting the data one bit at a time, and you'll be doing your own bit-banging to fetch each bit of data.

Developer for Box16, the other X16 emulator. (Box16 on GitHub)
I also accept pull requests for x16emu, the official X16 emulator. (x16-emulator on GitHub)
TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Getting data to/from the X16

Post by TomXP411 »



16 hours ago, rje said:




I know there are two ADDITIONAL SNES controller pin headers on the board.  If one were bored, one might could design I/O with one of those... if the lines can be "written to", that is.



... and they use a VIA, just like the User port. 

The User port has the same hardware available as the IEC port, the PS/2 ports, and the SNES ports. There's no reason to twist those to alternate uses when you can just use the User port, which is designed for just this purpose. 

A USB port on an Arduino can handle upwards of 1Mbps of data. We can push data through the User port to an Arduino Due, then to a PC via USB. It's not complicated; it will just take appropriate program code on both sides. 

 

rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Getting data to/from the X16

Post by rje »



8 hours ago, TomXP411 said:




A USB port on an Arduino can handle upwards of 1Mbps of data. We can push data through the User port to an Arduino Due, then to a PC via USB. It's not complicated; it will just take appropriate program code on both sides. 



Just the way I like it.

EMwhite
Posts: 220
Joined: Mon Sep 07, 2020 1:02 pm

Getting data to/from the X16

Post by EMwhite »


Why not just have Kevin create an Apple II style SuperSerial card and release it as a peripheral / add-on option for X16 after the fact.  Leave it permanently connected to a USB laptop.

Sell it as a through-hole kit for those that insist on building things (me) and supply a get-off-the-ground mouser cart.  If the QC / support / reputation of Commander X16 is best protected by selling the actual X16 as a WORKING computer, not a pile of parts, maybe this will satisfy DIY'er and hobbyists and risk of magic smoke will be all theirs (the otherwise satisfied funder/owner of a working X16).

I'm an armchair engineer so do not know enough about the internals of the kernel on the X16... I know the C64 and everything older than that cold... so I'm not sure if there is Apple II type architecture where ROM entry points may bank in from each card slot device??  Just a thought.

Ultimately, a card based peripheral that is a general communication bus with WiFI support might be handy and can do something as low tech as to push characters into the keyboard buffer like the aforementioned ADTPro.  It won't be as speedy but I'd gladly welcome a pier to pier protocol that included a command line and drop-box style interface on my MacBook (or on your Windows/Linux PC), with the Command listening versus jackassing an SD card.  I do this today with my Apple II+ and frankly, I've got about 3 projects stuck because I'm too lazy to sneaker net.  We are all spoiled.

 

TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Getting data to/from the X16

Post by TomXP411 »



8 minutes ago, EMwhite said:




Why not just have Kevin create an Apple II style SuperSerial card and release it as a peripheral / add-on option for X16 after the fact.  Leave it permanently connected to a USB laptop.



Sell it as a through-hole kit for those that insist on building things (me) and supply a get-off-the-ground mouser cart.  If the QC / support / reputation of Commander X16 is best protected by selling the actual X16 as a WORKING computer, not a pile of parts, maybe this will satisfy DIY'er and hobbyists and risk of magic smoke will be all theirs (the otherwise satisfied funder/owner of a working X16).



I'm an armchair engineer so do not know enough about the internals of the kernel on the X16... I know the C64 and everything older than that cold... so I'm not sure if there is Apple II type architecture where ROM entry points may bank in from each card slot device??  Just a thought.



Ultimately, a card based peripheral that is a general communication bus with WiFI support might be handy and can do something as low tech as to push characters into the keyboard buffer like the aforementioned ADTPro.  It won't be as speedy but I'd gladly welcome a pier to pier protocol that included a command line and drop-box style interface on my MacBook (or on your Windows/Linux PC), with the Command listening versus jackassing an SD card.  I do this today with my Apple II+ and frankly, I've got about 3 projects stuck because I'm too lazy to sneaker net.  We are all spoiled.



 



The question we all asked was... Why not put that $8 part right on the motherboard? 

The problem with any aftermarket solution is that there will be issues with availability, and unless uptake is VERY high, we will never likely see KERNAL support for it. So I'm at the point where I'd rather engineer my own solution (which is going to be faster than a 6551 ACIA anyway) and just write the code I need to make it happen.

 

Wavicle
Posts: 282
Joined: Sun Feb 21, 2021 2:40 am

Getting data to/from the X16

Post by Wavicle »



3 hours ago, TomXP411 said:




The question we all asked was... Why not put that $8 part right on the motherboard? 



The problem with any aftermarket solution is that there will be issues with availability, and unless uptake is VERY high, we will never likely see KERNAL support for it. So I'm at the point where I'd rather engineer my own solution (which is going to be faster than a 6551 ACIA anyway) and just write the code I need to make it happen.



 



A middle ground might be to define the hardware interface/protocol for the communication device/card that could be supported by the KERNAL. That way anybody can make an aftermarket solution and all of them would be supported by the KERNAL. Seems like an interrupt and one of the 16 byte peripheral address spaces would be enough for a generic high speed communication interface that was agnostic to whether the card implemented WiFi, Ethernet, or RS-232.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Getting data to/from the X16

Post by BruceMcF »



4 hours ago, TomXP411 said:




The question we all asked was... Why not put that $8 part right on the motherboard? 



The problem with any aftermarket solution is that there will be issues with availability, and unless uptake is VERY high, we will never likely see KERNAL support for it.



There is, however, Kernel support for installing device drivers that can use the numbered device API, so as long as an autostart program is an option, there doesn't have to be a lot of difference between hardware that has Kernel support and hardware that has loadable Kernel API drivers.

And of course, "it will push up the parts bill by $8, so increase the retail price by ~$20, but it will be easier, because Kernel support will be built in" translates for the design team as "here is something else that has to be finished before the board is ready to ship", so it really leans a lot on whomever will be doing the Kernel programming being really keen to have that chip on the board.

TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Getting data to/from the X16

Post by TomXP411 »



On 3/13/2021 at 7:37 PM, BruceMcF said:




And of course, "it will push up the parts bill by $8, so increase the retail price by ~$20, but it will be easier, because Kernel support will be built in" translates for the design team as "here is something else that has to be finished before the board is ready to ship", so it really leans a lot on whomever will be doing the Kernel programming being really keen to have that chip on the board.



And the flip side of that argument is...  there's no way a 6551 based expansion card will cost less than that, and someone has to write the drivers - whether before or after launch. 

EMwhite
Posts: 220
Joined: Mon Sep 07, 2020 1:02 pm

Getting data to/from the X16

Post by EMwhite »


Much like the original KIM-1 and Apple computers, it was BYO Cassette player; they did this to keep costs down release more quickly; of course cassette players were ubiquitous.  I just want this thing to be released and can wait for the next added do-dad and just buy it if I need it.  TexElec is so good at pumping out boards and cards for things, I'm pretty sure it can be released with an at-that-time code drop.  I'd rather pay $30-$40 after the fact and get the X16 sooner then wait for perfection with a serial port and 3 other scope-creep items.  Just me.

Post Reply