They started out wanting to use the ACIA, that is, the WDC65c51. It has two serial ports, with FIFO buffers for each. But the transmit is buggy ... the status bit that says whether the byte has been sent doesn't work.
So then they shifted to a single serial port in Vera, with no FIFO transmit buffer but a FIFO receive buffer.
But when they expanded the Vera register addressing to allow more direct access to key Vera RAM locations effectively acting as control registers, they ran out of pins to use for the serial port.
So now they've shifted to bit banging the User port, similar to the way the C64 bit banged the User Port for its serial interface.
You could implement the whole 6551 (currently $7+) with a cheap ($1.50) ATMel Micro, and connect to the hardware UARTS. I can do the design and software if anyone is interested.
You could implement the whole 6551 (currently $7+) with a cheap ($1.50) ATMel Micro, and connect to the hardware UARTS. I can do the design and software if anyone is interested.
Sure you can, but then in the eyes of many, then it's just another ATMel Micro project. The appeal of using the 6551 for the reference design is that it's an ASIC in production.
Also, if you want to emulate a 6551, you need to run it at a fairly high clock speed to read and write the registers in a single 65C02 clock cycle at 8MHz without the use of the RDY line. That's one difference between this project and doing a similar chip emulation on a C64 system ... for any given microcontroller clock speed, you have 1/8th the clock cycles to present a register data that is being read in the current phi2 low phase (reads are normally the bottleneck if the microcontroller allows you to set up the data lines with an internal buffer).
I do not care so much of having CP/M on the X16, I would get a dedicated machine for that and they are not too pricey.
What I do care about is having a proper serial port. Not having that is a huge turnoff for me. Would at least be possible to have it in the motherboard design even if it is not populated? I have one or two 6551 in my stash, there are new serial adapters using Rockwell 6551 sold on Ebay for the C64, not sure where they are sourced from.
I do not care so much of having CP/M on the X16, I would get a dedicated machine for that and they are not too pricey.
What I do care about is having a proper serial port. Not having that is a huge turnoff for me. Would at least be possible to have it in the motherboard design even if it is not populated? I have one or two 6551 in my stash, there are new serial adapters using Rockwell 6551 sold on Ebay for the C64, not sure where they are sourced from.
That's what the expansion hoards are for. Seems like a 6551 expansion board would be pretty straightforward.
This source code is rather difficult to understand, but one could write an Intel 8080 emulator from scratch that has the same instructions for peripheral operations and then the rest of the files should work. Not all CP/M software works on 8080 since Zilog Z80 was more common. I have PCs with V20 and V30 CPUs (80186 super set) that can emulate 8080 in hardware and there was also CP/M-80 for PCs that used that 8080 emulation. My Amstrad PC1512 had originally 8086 CPU, but I switched it to V30.
This source code is rather difficult to understand, but one could write an Intel 8080 emulator from scratch that has the same instructions for peripheral operations and then the rest of the files should work. Not all CP/M software works on 8080 since Zilog Z80 was more common. I have PCs with V20 and V30 CPUs (80186 super set) that can emulate 8080 in hardware and there was also CP/M-80 for PCs that used that 8080 emulation. My Amstrad PC1512 had originally 8086 CPU, but I switched it to V30.
My PPC640 had a Vsomethingy ... I think V30 ... so maybe it was a later run.
But a Z80 emulator (or 8080) on an 8MHz 65C02 will be awfully slow. I want a Z80 system that is BETTER than the one I had in the early 90s ... though it certainly won't be more PORTABLE than the one I had in the mid-80's (even if that one was fairly slow).
It's possible to use this with a Bluetooth keyboard (but it also works with the screen keyboard) and to paste in text from the iPhone's clipboard. One can also save to the built in diskette.
BTW The CP/M for V20 and V30, mentioned above, using the 8080 mode is called 22nice.
BTW The CP/M for V20 and V30, mentioned above, using the 8080 mode is called 22nice.
I definitely recall using 22nice as an emulator on a 386 machine to test my Forth line editor on an emulated version of a Z80 Forth, but it may well have been one of the early versions of 22nice that supported the V20 that I used on the PPC640.
It's possible to use this with a Bluetooth keyboard (but it also works with the screen keyboard) and to paste in text from the iPhone's clipboard. One can also save to the built in diskette.
BTW The CP/M for V20 and V30, mentioned above, using the 8080 mode is called 22nice.
I tried that once; it’s disappointing that you don’t actually get an Altair front panel. Also, IIRC, there’s no way to pull data off and get data on to the virtual Altair. So it’s kind of useless as a portable CP/M computer, except for playing with the included software.