Retro CP/M (with the CX16 and otherwise)

Feel free to talk about any other retro stuff here including Commodore, Sinclair, Atari, Amstrad, Apple... the list goes on!
Terrel Shumway
Posts: 14
Joined: Tue Feb 16, 2021 12:12 am

Retro CP/M (with the CX16 and otherwise)

Post by Terrel Shumway »



On 7/9/2020 at 8:18 AM, BruceMcF said:




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.

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

Retro CP/M (with the CX16 and otherwise)

Post by BruceMcF »



7 hours ago, Terrel Shumway said:




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).

kelli217
Posts: 521
Joined: Sun Jul 05, 2020 11:27 pm

Retro CP/M (with the CX16 and otherwise)

Post by kelli217 »



6 hours ago, BruceMcF said:




The appeal of using the 6551 for the reference design is that it's an ASIC in production.



I don't know if it's still in production, but you can also find 68B50s in quantity from several sellers.

hth313
Posts: 25
Joined: Sun Nov 22, 2020 10:19 pm

Retro CP/M (with the CX16 and otherwise)

Post by hth313 »


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.

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

Retro CP/M (with the CX16 and otherwise)

Post by BruceMcF »



1 hour ago, hth313 said:




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.

mobluse
Posts: 172
Joined: Tue Aug 04, 2020 2:16 pm
Location: Lund, Sweden
Contact:

Retro CP/M (with the CX16 and otherwise)

Post by mobluse »


It might be possible to write a CP/M 8080 emulator for X16, just like there exists one for C64, which I tested some years ago.

I tested the following 8080 emulator with CP/M on Raspberry Pi in 2014:

https://nanochess.org/emulator.html

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.

I found a tutorial on how to write an 8080 emulator: http://emulator101.com/

X16&C64 Quiz: Try It Now! Huge Char Demo: Try It Now! DECPS: Try It Now! Aritm: Try It Now!
BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Retro CP/M (with the CX16 and otherwise)

Post by BruceMcF »



6 hours ago, mobluse said:




It might be possible to write a CP/M 8080 emulator for X16, just like there exists one for C64, which I tested some years ago.



I tested the following 8080 emulator with CP/M on Raspberry Pi in 2014:

https://nanochess.org/emulator.html



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.



I found a tutorial on how to write an 8080 emulator: http://emulator101.com/



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).

mobluse
Posts: 172
Joined: Tue Aug 04, 2020 2:16 pm
Location: Lund, Sweden
Contact:

Retro CP/M (with the CX16 and otherwise)

Post by mobluse »


There is a CP/M computer emulator for iPhone (and probably iPad): iAltair

https://apps.apple.com/se/app/ialtair/id291182085



More documentation: https://schorn.ch/ialtair.html

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.

X16&C64 Quiz: Try It Now! Huge Char Demo: Try It Now! DECPS: Try It Now! Aritm: Try It Now!
BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Retro CP/M (with the CX16 and otherwise)

Post by BruceMcF »



On 7/10/2021 at 1:50 AM, mobluse said:




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.

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

Retro CP/M (with the CX16 and otherwise)

Post by TomXP411 »



On 7/9/2021 at 10:50 AM, mobluse said:




There is a CP/M computer emulator for iPhone (and probably iPad): iAltair

https://apps.apple.com/se/app/ialtair/id291182085



More documentation: https://schorn.ch/ialtair.html



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. 

Post Reply