V20-MBC: an easy to build 8088 + 8080 computer - Page 1
Forum section: electronics / general

author: Just4Fun
author_rank: Contributor
timestamp: April 22, 2020, 04:32:13 pm
content: If someone is interested in an easy to build V20HL (8088 + 8080) or 80C88 CPU I've just released all the details here:https://hackaday.io/project/170924The V20-MBC2 is an easy to build V20HL CPU SBC (Single Board Computer). It follows the same "concept" of the Z80-MBC2 (https://hackaday.io/project/159973), with a SD as "disk emulator" and up to 1024KB RAM.It has an optional on board 16x GPIO expander, and uses common cheap add-on modules for the SD and the RTC options. It has an "Arduino heart" using an Atmega32A as EEPROM and "universal" I/O emulator (so a "legacy" EPROM programmer is not needed).It is compatible with the uTerm (https://hackaday.io/project/165325) and uCom (https://hackaday.io/project/165709) boards.It is possible to use an 80C88 (CMOS version) too.I've prepared an "easy" link to get a small lot (5 pcs minimum) of PCB. The linkis this one.Cheers.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 27, 2020, 12:11:54 am
content: I remember the NEC V20 CPU, but didn't remember it had a 8080-compatible mode!https://en.wikipedia.org/wiki/NEC_V20Nice project.

author: Stray Electron
author_rank: Super Contributor
timestamp: April 27, 2020, 02:01:27 pm
content: Quote from: SiliconWizard on April 27, 2020, 12:11:54 amThe V20 was a direct replacement for the Intel 8088. I replaced the 8088 in my first PC with a V20 and it ran about 10 to 15% faster. The 8088 run a super set of the 8085 and 8080 instructions so the V20 would also run the 8080 instructions. But FWIW, the 8085 and 8080 systems used a much more primitive file systems and memory starting addresses, etc so a V20 based PC couldn't read or run the files without some other hardware and software modifications.Yes, that is a nice project, it reminds my of Steve Ciarcia's SB-180 that used the 64180 CPU to emulate a Z-80 but with much higher performance and much more integrated and updated support circuitry and peripherals. If you ever get around to producing and selling these boards. I'd definitely be interested. It would be good if you could add one of two ISA slots to that you could use some of the old PC I/O cards with it. There's still demand for 8/16 bit PC systems that use some of specialty I/O cards that can't be run on the current PC systems.

author: TK
author_rank: Super Contributor
timestamp: April 27, 2020, 02:16:20 pm
content: Can it run CP/M for Z80?

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 27, 2020, 02:31:56 pm
content: Quote from: TK on April 27, 2020, 02:16:20 pmI suppose it could run CP/M, but I guess it would require a modified version of CP/M. First, the V20 has a 8080-mode, but not a Z80-mode. If the CP/M version you're thinking of uses any Z80-specific instruction, then of course it won't work, but I think there were pure 8080 versions, so that should be doable. Thing is, as far as I've understood (I may have missed something though), the V20 requires executing some specific instruction(s)? to switch to 8080 mode? So you'd porobably need to modify the boot sequence to put it in 8080 mode first?

author: Just4Fun
author_rank: Contributor
timestamp: April 27, 2020, 04:21:03 pm
content: Quote from: TK on April 27, 2020, 02:16:20 pmHi, CP/M was written using only 8080 assembly language, so it is possible to run CP/M (for 8080/Z80) with this board and I'm just working on it...More, I have intention to try also CP/M-86 that was the porting of CP/M to 8088/8086 systems.An other interesting version to play with is CP/M-86 Plus, which adds a sort of multi-programming.And last but not least I think that is possible to use here MS-DOS (with some limitations), of course making a custom BIOS.V20-MBC can handle many OS as the previousZ80-MBC2board.

author: Just4Fun
author_rank: Contributor
timestamp: April 27, 2020, 04:39:33 pm
content: Quote from: SiliconWizard on April 27, 2020, 02:31:56 pmYes, the V20 has dedicated instructions to set the 8080 emulation on and off.If you see at the screenshot in the first post, there is the call of the Switch-80 utility that I wrote to switch to the 8080 mode.And in that screenshot it calls the IMSAI Basic interpreter (8080 machine code).

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 27, 2020, 10:45:24 pm
content: For those interested:http://www.cpm.z80.de/

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 28, 2020, 04:46:21 pm
content: Quote from: Just4Fun on April 27, 2020, 04:21:03 pmWell, "only": not so much!It sure is possible, but there were many versions of CP/M, and since Z80-based machines were popular CP/M machines, some versions did use Z80 instructions actually.But you can definitely find pure 8080 versions.From the link I gave above, you can see the source code for different versions. Note that if you want to build it from source (which would sure be fun), many versions (except maybe the very first, I don't quite remember) were written in a mix of assembly code and PL/M. You'd need to get a working PL/M compiler (there are some on the above site as well) and probably written for the right target (8080 and not Z80). I haven't taken a deep look, so maybe all published versions with PL/M code also contain the corresponding compiled 8080 (or Z80) assembly code, but I'm not sure at all about this.Quote from: Just4Fun on April 27, 2020, 04:21:03 pmShould also be interesting.

author: Just4Fun
author_rank: Contributor
timestamp: May 20, 2020, 05:42:41 pm
content: CP/M 2.2 (8080 mode) now running on theV20-MBC:

author: Just4Fun
author_rank: Contributor
timestamp: June 05, 2020, 10:19:19 am
content: CP/M-86 too now running on theV20-MBC:

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 05, 2020, 04:39:29 pm
content: Great! Oh, and I remember TP 3.0 on CP/M. Fond memories...

author: Melt-O-Tronic
author_rank: Frequent Contributor
timestamp: June 05, 2020, 05:55:07 pm
content: Whoa! I didn't know there was a CP/M version of Turbo Pascal! I gotta put this on my list of projects to build.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 06, 2020, 02:52:57 pm
content: Quote from: Melt-O-Tronic on June 05, 2020, 05:55:07 pmSure was. I still have the original manual (a bit yellowed)! It dealt with CP/M, CP/M-86, PC-DOS and MS-DOS.

author: clearscreen
author_rank: Contributor
timestamp: July 26, 2020, 01:52:08 pm
content: Greetings,i've TP 3.00 on my amstrad cpc and on my epson QX-10.Inline instruction allow you to include machine code directly in source code.For example on epson QX-10 i was able to acces graphics processor nec µPD7220 functions with turbo pascal high level functions.NB see wikipedia page for graphics processor chip (µPD7220) and the intel first GP (82720) :-)https://en.wikipedia.org/wiki/NEC_µPD7220Regards.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 26, 2020, 04:34:29 pm
content: I've used TP 3.0 both on MS-DOS back in the days, and on an Amstrad PCW, which was essentially a CP/M machine.I also was using machine code to access low-level stuff - I had written a Z80 assembler in Pascal, which took Z80 assembly and would generate machine code in a form that you could directly paste in TP code. Fun.I had written graphics routines like this, and also access to various hardware interfaces I built. One of them had an ADC/DAC, and I programmed a simple audio sampler with it. Fun days. I have unfortunately lost all source code (I guess like most of us?) - it was stored on those 3" floppy discs which I lost over the years. But it would have been fun to take a look at this right now!

author: clearscreen
author_rank: Contributor
timestamp: July 26, 2020, 08:49:30 pm
content: GreetingsTurbo pascal was a great compiler. I've discovered it at school on logabax persona 1600 (i've one !) and afterwards i got a copy for my CPC 464+disk and after for my epson QX-10 (other cp/m machine someone gave me because he moved to a 386 PC)On CPC i did some stuff with turbo pascal 3.00A on a CPC Fanzine :-) it was called "bonsoir la planète"For the code on cpc, i've printed all my code. Perhaps the disk are dead. On epson i was still able to read/write on disks till my psu blow :-( The oldest diskette i can read in 2018 was a CP/M boot disk from 1980.Tape layers can make induction on others but as tracks are aside on floppies...And on the QX, instead of classical drive part, the half size floppy drives have linear actuator to move head (same than in old hard disk). Perhaps it can explain why i can still read those disks.i think I'll start a topic on this great forum to ask for some help because epson psu is tricky ...CLS.