I have a marvelous m68K development toolchain, SierraC, and this toolchain is fully working without any limitation of the demo version that Motorola (today acquired by Freescale) was used to include with the EVS board. The demo limitation was related to a 100 lines in every C file. No more than 100 lines per module, plus other limitations with the linker script. When I bought my EVS board from a dude on ebay I was lucky and the the parcel came with a full working Sierra C disks, plus other floppies with debug processor interface (similar to DDD + GDB) and a few professionals tools, that is a pure WOW, but … the bad side is that all of these things work only for DOS. Wine (under linux) is not fine with them, while Windows95 (aka MSDOS7) is fine too, so I was thinking that Insignia SoftWindows95 was great!
Well, from the the pure software side, Insignia SoftWindows95 is really great! the problem is .. you are fine with the toolchain, you can compile and build whatever you want, but then have to talk with the board, and … the debug processor is a very horror story because it uses a full-modem connection, with DCD, DSR, DTR, RTS, CTS, all of these signals plus "breaks".
Under RiscOS, there is a GuestCard with a 486DX4 CPU, plus an ASIC chip, called Gemini, that performs
-
Bus translation ARM <-> Intel (luckily they are both Little Endian)
-
Interrupt delivery and mailboxes
-
Address space trapping -> emulating ISA peripherals, UART, LPT, pATA, sVIDEO, kb/mouse
!PC/Pro is the software side, and it's able to control the x86 card, and to share all the host resources. Everything is fine with the LPT port, I can attach a BDM cable and use a DOS program to control it. Unfortunately the serial line has other troubles because Acorn didn't respect the RS232 standard, and also they did not use 8250, 16550 chips.
under !PC/PRO, every DOS program makes a BIOS call for a serial service
-
the “BIOS” pushes the data to the ASIC
-
the ASIC works a bit like the Pi GPU with a mailbox scheme, it would probably be able to raise interrupts on either processor and pass data between them
-
RISC OS will respond to the ASIC, read the data, perform the service, and pass data back if appropriate
In the theory this working scheme seems fine, but ... I have understood the supporting DOS Applications that directly access the PC hardware sounds more complex than how it seems, so actually I have bought a genuine 586 PC from ebay, and I have loaded it with OS/2 Warp3: the OS/2 legacy DOS support is working good, and I am able to multitask up to two BDM DOS applications , that is extremely good if you want to toy with 2 target boards at the same time