CP/M-68K simulator - Fedora
CP/M-68K on Fedora
back to CP/M-68K simulator page.
History
2021-11-15: I re-created this page on my self-hosted web server.
2017-06-08: run it
[tingo@kg-elitebook cpm68k]$ ./cpmsim Read 32768 bytes from boot track CP/M-68K(tm) Version 1.2 03/20/84 Copyright (c) 1984 Digital Research, Inc. CP/M-68K BIOS Version 1.0 Simulated system of April 2014 TPA =16251 K C>AUTOST.SUB AUTOST.SUB? C> yes, it works. Explore C>dir C: RELOC 68K : DUMP 68K : PIP 68K : STAT 68K : INIT REL C: LINK68 68K : SENDC68 68K : DDT 68K : DDT68000 68K : AS68 68K C: CP68 68K : AS68INIT : LIBF A : C068 68K : C168 68K C: AR68 68K : CONFIG 68K : LO68 68K : MORE 68K : NM68 68K C: LIBE A : SIZE68 68K : ASSERT H : CTYPE H : COPY SUB C: ERRNO H : OPTION H : OSIFERR H : PORTAB H : SETJMP H C: CLIB : CE SUB : CLINKE SUB : CLINKF SUB : CLINK SUB C: AS68SYMB DAT : C SUB : RELOC3 SUB : SGTTY H : SIGNAL H C: STDIO H : STDINT H : ENDIAN H : ED 68K : S O C: CC REL : CC 68K : WHEREIS 68K : BBYE 68K : UEMACS 68K C: F83 BIN : PUTBOOT 68K : BYE 68K : CPM SYS : GREEN 68K C: MAKE REL : MAKE 68K : ARC 68K : EMACS 68K : F83 68K C: SPLIT 68K C>dir 0: 0:? C>0: 0:? C>user 0 C>dir C: RELOC 68K : DUMP 68K : PIP 68K : STAT 68K : INIT REL C: LINK68 68K : SENDC68 68K : DDT 68K : DDT68000 68K : AS68 68K C: CP68 68K : AS68INIT : LIBF A : C068 68K : C168 68K C: AR68 68K : CONFIG 68K : LO68 68K : MORE 68K : NM68 68K C: LIBE A : SIZE68 68K : ASSERT H : CTYPE H : COPY SUB C: ERRNO H : OPTION H : OSIFERR H : PORTAB H : SETJMP H C: CLIB : CE SUB : CLINKE SUB : CLINKF SUB : CLINK SUB C: AS68SYMB DAT : C SUB : RELOC3 SUB : SGTTY H : SIGNAL H C: STDIO H : STDINT H : ENDIAN H : ED 68K : S O C: CC REL : CC 68K : WHEREIS 68K : BBYE 68K : UEMACS 68K C: F83 BIN : PUTBOOT 68K : BYE 68K : CPM SYS : GREEN 68K C: MAKE REL : MAKE 68K : ARC 68K : EMACS 68K : F83 68K C: SPLIT 68K C>user 1 1C>dir C: ASSERT H : CTYPE H : ERRNO H : OPTION H : OSIFERR H C: PORTAB H : SETJMP H : SGTTY H : SIGNAL H : STDIO H C: ENDIAN H : STDINT H : BYTESWAP H : BYTESWAP S : BYTESWAP O 1C>user 2 2C>dir C: PUTBOOT REL : PUTBOOT O : SIMBIOS S : SIMBIOS O : CPMLIB C: CPMLDR SYS : CPM REL : CPM SYS : LCPM SUB : LCPM10 SUB C: NEWCON C : NEWCON DOC : MAKELDR SUB : LDRBIOS S : RELCPM SUB C: LDRBIOS O : BYTESWAP O : CPMLDR REL : NEWCON O : BYE S C: GREEN S : GREEN O : GREEN REL : MAKECPM SUB : BBYE 68K C: LDRLIB : PUTBOOT 68K : PUTBOOT S 2C>user 3 3C>dir No file 3C>user 4 4C>dir C: BDOSDEF H : BDOSIF S : BDOSMAIN C : BDOSREAD C : BIOSDEF H C: CPMLDR C : DSKUTIL C : FILEIO C : IOSYS C : LDRIF S C: M SUB : PKTIO H : LDRLIB : MAKE SUB : BDOSIF O C: LDRIF O : BDOSMAIN O : BDOSREAD O : CPMLDR O : DSKUTIL O C: FILEIO O : IOSYS O : STDIO H 4C>user 5 5C>dir No file 5C>user 6 6C>dir C: SPLIT S : SPLIT REL : RELMOD C : RELMOD REL 6C>user 7 7C>dir No file 7C>user 8 8C>dir No file 8C>user 9 9C>dir No file 9C>user 10 10C>dir C: MAKE C : ATRIBUTE C : CHDIR C : MAKE 68K : UTIL C C: MOVMEM O : MAKE BAK : MAKEFILE : MAKELOAD S : STRSAVE O C: UTIL O : MOVMEM C : MAKE O : STRSAVE C : ATRIBUTE O C: MAKE SUB : CHDIR O 10C>user 11 11C>dir C: CALLSYSA S : CC 68K : CC C : CC DOC : CCLINK C: CCLOAD S : CC REL : PEXEC C 11C>user 12 12C>dir C: 00_INDEX TXT : AMIGA RC : AZMAP CMD : BDATA CMD : BLOCK CMD C: BOXMAC CMD : CG197_0I 003 : COMP : EMACS HLP : EMACSRC C: EMACS RC : EMACS TUT : EMACS TXT : FINDCOM CMD : FUNC CMD C: HEADER CUG : INDENT CMD : ME110 RC : ME150 RC : MENU1 C: MENU CMD : README : SUBMIT DSK : TRAND CMD 12C>user 13 13C>dir C: EMACS 68K : ANSI C : BASIC C : BIOS H : BIOS S C: BUFFER C : DISPLAY C : ED H : FILE C : FILEIO C C: LINE C : MAIN C : ME TXT : PORTAB H : RANDOM C C: REGION C : SEARCH C : SPAWN C : STDIO H : TCAP C C: TERMIO C : VT52 C : WINDOW C : WORD C : EMACS REL C: NOTES TXT 13C>user 14 14C>dir C: SPAWN C : ANSI C : BASIC C : BIND C : EBIND H C: EDEF H : EFUNC H : EPATH H : ESTRUCT H : BUFFER C C: DISPLAY C : UEMACS 68K : FILE C : FILEIO C : HP150 C C: LINE C : LOCK C : MAIN C : RANDOM C : REGION C C: SEARCH C : BIOS S : TCAP C : TERMIO C : NOTES TXT C: VT52 C : WORD C : WINDOW C : UEMACS REL : BIOS H 14C>user 15 15C>dir C: ESTRUCT H : ANSI O : CRYPT O : BASIC O : BIND O C: BUFFER O : DG10 O : NOTES TXT : 00_INDEX TXT : ANSI C C: BADER DOC : BASIC C : BIND C : BUFFER C : CG198_1I 008 C: CRYPT C : CUG DOC : DG10 C : DISPLAY C : DOLOCK C C: EBIND H : EDEF H : EFUNC H : EMACS C : EMACS KEY C: EPATH H : EVAL C : EVAR H : EXEC C : FILE C C: FILEIO C : HEADER CUG : HP110 C : HP150 C : IBMPC C C: INPUT C : ISEARCH C : LINE C : LOCK C : MAIN C C: MAKEFILE : MENU C : MISC : RANDOM C : REGION C C: SEARCH C : SPAWN C : ST520 C : SUBMIT DSK : TCAP C C: TERMIO C : TIPC C : UNIX MK : VMSVT C : VT52 C C: WINDOW C : WORD C : Z309 C 15C>user 16 User # range is [0-15] 15C>
bbye is exit
15C>bbye CP/M-68K terminating normally Final PC=00008106 [tingo@kg-elitebook cpm68k]$
ok.
2017-06-08: try to compile it
[tingo@kg-elitebook cpm68k]$ make mkdir obj gcc -Wall -O2 -c -Iobj -I. cpmsim.c -o obj/sim.o gcc -Wall m68kmake.c -o obj/m68kmake obj/m68kmake obj m68k_in.c Musashi v3.3 68000, 68010, 68EC020, 68020 emulator Copyright 1998-2000 Karl Stenerud (karl@mame.net) Generated 1962 opcode handlers from 503 primitives gcc -Wall -O2 -c -Iobj -I. m68kcpu.c -o obj/m68kcpu.o gcc -Wall -O2 -c -Iobj -I. obj/m68kops.c -o obj/m68kops.o gcc -Wall -O2 -c -Iobj -I. obj/m68kopac.c -o obj/m68kopac.o gcc -Wall -O2 -c -Iobj -I. obj/m68kopdm.c -o obj/m68kopdm.o gcc -Wall -O2 -c -Iobj -I. obj/m68kopnz.c -o obj/m68kopnz.o gcc -Wall -O2 -c -Iobj -I. m68kdasm.c gcc -Wall obj/sim.o obj/m68kcpu.o obj/m68kops.o obj/m68kopac.o obj/m68kopdm.o obj/m68kopnz.o m68kdasm.o -o cpmsim
ok.
2017-06-08: unzip cpmsim sources
[tingo@kg-elitebook cpm68k]$ unzip ~/dl/cpmsim.zip Archive: /home/tingo/dl/cpmsim.zip inflating: cpmsim.c inflating: simbios.s inflating: simbios.bin inflating: cpm400.bin inflating: diskc.cpm.fs inflating: makefile inflating: sim.h inflating: m68kconf.h inflating: cpmsim
run dos2unix on the makefile
[tingo@kg-elitebook cpm68k]$ dos2unix makefile dos2unix: converting file makefile to Unix format...
ok.
2017-06-08: unzip musashi sources
[tingo@kg-elitebook cpm68k]$ unzip ~/dl/musashi331.zip Archive: /home/tingo/dl/musashi331.zip inflating: example.zip inflating: history.txt inflating: m68k.h inflating: m68k_in.c inflating: m68kconf.h inflating: m68kcpu.c inflating: m68kcpu.h inflating: m68kdasm.c inflating: m68kmake.c inflating: readme.txt
run dos2unix on the files
[tingo@kg-elitebook cpm68k]$ dos2unix * dos2unix: Binary symbol 0x03 found at line 1 dos2unix: Skipping binary file example.zip dos2unix: converting file history.txt to Unix format... dos2unix: converting file m68kconf.h to Unix format... dos2unix: converting file m68kcpu.c to Unix format... dos2unix: converting file m68kcpu.h to Unix format... dos2unix: converting file m68kdasm.c to Unix format... dos2unix: converting file m68k.h to Unix format... dos2unix: converting file m68k_in.c to Unix format... dos2unix: converting file m68kmake.c to Unix format... dos2unix: converting file readme.txt to Unix format...
move one file out of the way
[tingo@kg-elitebook cpm68k]$ mv m68kconf.h m68kconf.h_org
ok.
2017-06-08: a place for it
[tingo@kg-elitebook ~]$ cd ~/work/cpm68k [tingo@kg-elitebook cpm68k]$
ok.
2017-06-08: today I got the old sources onto my Fedora laptop, currently running F25:
[tingo@kg-elitebook ~]$ cat /etc/fedora-release Fedora release 25 (Twenty Five) [tingo@kg-elitebook ~]$ uname -a Linux kg-elitebook.kg4.no 4.10.10-200.fc25.x86_64 #1 SMP Thu Apr 13 01:11:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
now, let me see if I can make this compile and run here.