Skip to content

Commit

Permalink
added building kernel for the V20 MBC
Browse files Browse the repository at this point in the history
  • Loading branch information
tsupplis committed Jan 1, 2023
1 parent 623efdb commit 6762748
Show file tree
Hide file tree
Showing 4 changed files with 2,961 additions and 1 deletion.
27 changes: 26 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
all: cpm.sys
all: cpm.sys cpm816.sys cpmv20.sys

cpmwk.img: base.img
cp base.img $@
Expand Down Expand Up @@ -76,6 +76,28 @@ cpm.sys: cpm86.h86
cpm_gencmd cpm86.h86 8080 "CODE[A51,M0000]"
mv cpm86.cmd cpm.sys

cpmv20.sys: cpmv20.h86
cpm_gencmd cpmv20.h86 8080 "CODE[A40]"
mv cpmv20.cmd cpmv20.sys

cpmv20.bin: cpmv20.sys
dd bs=128 skip=1 if=cpmv20.sys of=cpmv20.bin

cpmv20.h86: cpm.h86 mbcv20.h86
doscat cpm.h86 > cpmv20.h86
cat mbcv20.h86 >> cpmv20.h86

cpm816.bin: cpm816.sys
dd bs=128 skip=1 if=cpm816.sys of=cpm816.bin

cpm816.sys: cpm816.h86
cpm_gencmd cpm816.h86 8080 "CODE[A40]"
mv cpm816.cmd cpm816.sys

cpm816.h86: cpm.h86 mbc816.h86
doscat cpm.h86 > cpm816.h86
cat mbc816.h86 >> cpm816.h86

cpm86.h86: cpm.h86 pcbios.h86
doscat cpm.h86 > cpm86.h86
cat pcbios.h86 >> cpm86.h86
Expand All @@ -90,11 +112,14 @@ cpm.h86: ccp.h86 bdos.h86
cpmnew: cpm.sys
cpmrm -f ibmpc-514ss cpm86-1.img 0:cpm.sys
cpmcp -f ibmpc-514ss cpm86-1.img cpm.sys 0:cpm.sys
cpmrm -f ibmpc-514ss cpm86-at-1.img 0:cpm.sys
cpmcp -f ibmpc-514ss cpm86-at-1.img cpm.sys 0:cpm.sys

clean:
rm -rf *.h86 *.lst *.sym *.log
rm -rf cpm86.cmd cpm.sys
rm -rf cpm86-at-1.img cpm86-1.img cpm86-2.img cpm86-3.img cpm86-4.img
rm -rf cpm816.sys cpmv20.sys cpm816.bin cpmv20.bin
rm -rf *.xxd

dist: cpm86-at-1.img cpm86-1.img cpm86-2.img cpm86-3.img cpm86-4.img
Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,19 @@ The distribution also packages digital research assembler tools and various basi
This is a raw dump right now with a way to compile the kernel starting from dissassembled sources.
The compilation requires the (cross-development environment for CP/M-86)[https://github.com/tsupplis/cpm86-crossdev]

The CP/M-86 kernels (8088 and V20 Mixed 8080/8088 with CP/M-80 compatibility) for the V20 MBC are also produced. The sources of the bioses used are available at:
- https://hackaday.io/project/170924-v20-mbc-a-v20-8088-8080-cpu-homebrew-computer

The 3 kernels use the same BDOS and CCP components.

## Playing with CP/M-86

To test, the PCE emulator and cpmtools are needed. PCE can be found at http://www.hampa.ch/pce/. the floppy images released also work with qemu.

Alternatively, you can use the excellent V20 MBC available at:
- https://hackaday.io/project/170924-v20-mbc-a-v20-8088-8080-cpu-homebrew-computer
- https://shop.mcjohn.it/en/diy-kit

- Patched CP/M-86 running in the PCE Emulator
<p align="center">
<img src="./images/cpm86.png" width="75%">
Expand Down Expand Up @@ -53,6 +62,11 @@ The CP/M-86 OS contains the following commands are in the original distribution:
- gencmd.cmd
- stat.cmd

The kernels built arE:
- cpm86.sys/cpm.sys (ibm pc xt)
- cpmv20.sys (MBC V20, 8088 mode)
- cpm816.sys (MBC V20, mixed 8080/8088 mode with CP/M-80 compatibility)

The CP/M-86 OS is enhanced with the following patched or updated components:
- help.hlp (more complete content)
- dskmaint.cmd (updated from 1.0 to version 1.2)
Expand Down
Loading

0 comments on commit 6762748

Please sign in to comment.