Page 1 of 2
Remote access to Commander X16 for testing?
Posted: Fri Oct 21, 2022 7:47 am
by neutrino
The number of produced Commander X16 boards are limited. But the physical board can still be needed to verify compatibility with the "real thing" which no emulator can guarantee.
So, perhaps setting one board up with a frame grabber and emulation of PS/2 and SD-card can be used to test edge cases online?
Batch testing could also be done by uploading an autostart SD-image and having a video output posted using a queue system.
Remote access to Commander X16 for testing?
Posted: Fri Oct 21, 2022 2:32 pm
by BruceMcF
???
Your "remote hardware testing" is more likely going to be someone who has programming skills following along the discussion on the Discord channel(s) & make some useful code contributions to the hardware activity, and then put up some code that needs to be run on the hardware to Github and let it be know on Discord that you have some code that you can't push any further until you get a board, and you would be grateful if someone could run it and report on what is happening.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 4:48 am
by Wavicle
Do you have suggestions for these? I have several functional X16 boards here. I've pondered this for several months but always hit a roadblock on the remote keyboard and filesystem.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 7:55 am
by neutrino
@Wavicle
Video: Plain USB-video grabber, or PCI-card where Hauppage stand out for good syncing and low latency. Also NTSC is close in timing to VGA, but CGA is more like it.
Audio: Soundcard..
Keyboard: A separate microcontroller with USB (Arduino, ARM etc) which is then controlled via USB by a PC. Needs to catch 15 µs timing.
Mouse: (same)
SD-card: (same - but more strict timing) with MMC mode it would need 5 µs timing as a minimum I suppose.
####
Alternatives for the processing of keyboard/mouse/sd-card is CPLD, FPGA, MCU developer board and for communication Ethernet or RS-232.
Even ADSL modems contains GPIO as LED, just desolder them and reuse them. Put OpenWRT etc to make use of the GPIO with performance. And then Ethernet to "phone home". Many of them have ARM cpus at ~100 MHz so they are quite a performer and cheap.
So the remote user will have to upload their desired filesystem. Or do something like iSCSI over TCP with authentication to access media home with blocks retrieved on demand.
An alternative with the SD-card is to make it so that the X16 and a PC share the same SD-card electrically. Then put the PC SD-card in "power down" mode.
The keyboard part with PS/2 is really slow stuff relatively speaking which most MCU can handle. Even a C64 user port with GPIO via 10k ohm resistor for PS/2 and RS-232 via the Kernal routines could work. But it's unlikely to handle the bit timing for SD-cards.
There's also competent KVM machines and the Raspberry Pi is quite fast with raw I/O provided one use Unix and jump to a kernel module that shuts of IRQ and NMI or run directly on bare metal.
Additionally direct connection to the microcontroller could be used to test ATX, power cycle, flash it, test new firmware etc. And if its used to handle PS/2.. that's a interception point right there.
You better tell what options are the most feasible for you and thus worth to explore more.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 8:01 am
by Yazwho
I think the Mega 65 team did this to help develop while they had very few boards. IIRC their emulators at the time weren't that complete, which is why it was needed.
The current emulators do a very good job. There are some slight differences, especially around how each line is rendered, but on the whole for most cases it should be good enough.
What edge cases are you looking to explore?
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 8:07 am
by neutrino
On 10/22/2022 at 10:01 AM, Yazwho said:
What edge cases are you looking to explore?
Recently there was a bug where the VERA graphics did the sprite priorities in reverse order making them invisible behind normal graphics. Something which the emulator won't show.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 8:17 am
by Yazwho
if you want to write testing code, that could be helpful. Create the .prgs and pop into Discord and I'm sure someone with hardware could run it and take a picture.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 8:33 am
by neutrino
Think of a edit - compile - run workflow where someone else has to download - upload for each step and report back. It's not effective when the development cycles are intense and new hardware updates needs be tested quickly to determine if a new hardware spin is needed, and which one it should be. Also cuts down on the number of bleeding edge boards that needs to exist.
The difference between being at the controls or telling someone else exactly what to do and then rely on their report back.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 9:06 am
by Yazwho
As I said, if you want to be involved, write up the test for where you think there might be a gap, and pop onto Discord. Or post it in the downloads section, apps that can be used in testing (especially edge cases) would always be helpful.
However if you're suggesting writing a network debugging app for those who are involved in the development, then no need, as if it was needed it would be done already. There doesn't appear to be any problems with that workflow.
Remote access to Commander X16 for testing?
Posted: Sat Oct 22, 2022 9:50 pm
by Wavicle
On 10/22/2022 at 12:55 AM, neutrino said:
@Wavicle
Video: Plain USB-video grabber, or PCI-card where Hauppage stand out for good syncing and low latency. Also NTSC is close in timing to VGA, but CGA is more like it.
Audio: Soundcard..
Keyboard: A separate microcontroller with USB (Arduino, ARM etc) which is then controlled via USB by a PC. Needs to catch 15 µs timing.
Mouse: (same)
SD-card: (same - but more strict timing) with MMC mode it would need 5 µs timing as a minimum I suppose.
####
Alternatives for the processing of keyboard/mouse/sd-card is CPLD, FPGA, MCU developer board and for communication Ethernet or RS-232.
Even ADSL modems contains GPIO as LED, just desolder them and reuse them. Put OpenWRT etc to make use of the GPIO with performance. And then Ethernet to "phone home". Many of them have ARM cpus at ~100 MHz so they are quite a performer and cheap.
So the remote user will have to upload their desired filesystem. Or do something like iSCSI over TCP with authentication to access media home with blocks retrieved on demand.
An alternative with the SD-card is to make it so that the X16 and a PC share the same SD-card electrically. Then put the PC SD-card in "power down" mode.
The keyboard part with PS/2 is really slow stuff relatively speaking which most MCU can handle. Even a C64 user port with GPIO via 10k ohm resistor for PS/2 and RS-232 via the Kernal routines could work. But it's unlikely to handle the bit timing for SD-cards.
There's also competent KVM machines and the Raspberry Pi is quite fast with raw I/O provided one use Unix and jump to a kernel module that shuts of IRQ and NMI or run directly on bare metal.
Additionally direct connection to the microcontroller could be used to test ATX, power cycle, flash it, test new firmware etc. And if its used to handle PS/2.. that's a interception point right there.
You better tell what options are the most feasible for you and thus worth to explore more.
I don't think you understand: I have already looked and saw no end-to-end solution currently available. If you have something that can cast VGA over the internet, pass a GPIO or two, multiplex an SD card, and translate remote keystrokes and mouse movements to PS/2 - let me know. I can figure out the rest. Otherwise, the best option was basically a RasPi acting as a webcam and some ad-hoc ESP8266 remote keyboard thing I had found at one point, and pricey and no longer available SD multiplexer.