├── TODO ├── version ├── AUTHORS ├── autogen.sh ├── src ├── arch │ ├── ibmpc │ │ ├── bios │ │ │ ├── pcex.rom │ │ │ └── Makefile.inc │ │ ├── msg.h │ │ ├── int13.h │ │ ├── m24.h │ │ ├── atari-pc.h │ │ └── cmd.h │ ├── macplus │ │ ├── pcex │ │ │ ├── pcex.rom │ │ │ └── Makefile.inc │ │ ├── traps.h │ │ ├── msg.h │ │ ├── iwm-io.h │ │ ├── hook.h │ │ ├── hotkey.h │ │ └── cmd_68k.h │ ├── Makefile.inc │ ├── sim405 │ │ ├── pceutils │ │ │ ├── Makefile.inc │ │ │ ├── Makefile │ │ │ └── config.h │ │ └── hook.h │ ├── cpm80 │ │ ├── pce-cpm80.cfg.in │ │ ├── main.h │ │ ├── msg.h │ │ └── cmd.h │ ├── dos │ │ ├── pce-dos.1 │ │ ├── int10.h │ │ ├── int21.h │ │ ├── main.h │ │ ├── exec.h │ │ ├── int.h │ │ └── Makefile.inc │ ├── sims32 │ │ ├── pce-sims32.cfg.in │ │ ├── sercons.h │ │ └── cmd_s32.h │ ├── atarist │ │ ├── msg.h │ │ └── cmd.h │ ├── vic20 │ │ ├── msg.h │ │ ├── setup.h │ │ ├── main.h │ │ ├── keybd.h │ │ └── cmd.h │ ├── rc759 │ │ ├── msg.h │ │ ├── main.h │ │ └── cmd.h │ └── simarm │ │ └── pce-simarm.cfg.in ├── cpu │ ├── Makefile.inc │ ├── e6502 │ │ └── Makefile.inc │ ├── sparc32 │ │ └── Makefile.inc │ ├── arm │ │ └── Makefile.inc │ ├── e68000 │ │ └── Makefile.inc │ ├── ppc405 │ │ └── Makefile.inc │ ├── e8086 │ │ └── Makefile.inc │ └── e8080 │ │ └── Makefile.inc ├── utils │ ├── Makefile.inc │ ├── aym │ │ ├── aym.1 │ │ └── Makefile.inc │ ├── pti │ │ ├── Makefile.inc │ │ ├── ops.h │ │ └── comment.h │ ├── pce-img │ │ └── Makefile.inc │ ├── psi │ │ ├── Makefile.inc │ │ ├── info.h │ │ ├── delete.h │ │ ├── merge.h │ │ ├── edit.h │ │ ├── list.h │ │ ├── new.h │ │ ├── load.h │ │ ├── save.h │ │ ├── reorder.h │ │ └── comment.h │ ├── pfi │ │ └── Makefile.inc │ └── pri │ │ └── Makefile.inc ├── Makefile.inc ├── drivers │ ├── Makefile.inc │ ├── pfi │ │ ├── Makefile.inc │ │ ├── pfi-a2r.h │ │ ├── pfi-scp.h │ │ ├── pfi-pfi.h │ │ └── pfi-kryo.h │ ├── pti │ │ ├── Makefile.inc │ │ ├── pti-img-cas.h │ │ ├── pti-img-tap.h │ │ ├── pti-img-pti.h │ │ └── pti-img-txt.h │ ├── pri │ │ ├── Makefile.inc │ │ ├── pri-img-tc.h │ │ ├── pri-img-pri.h │ │ ├── pri-img-woz.h │ │ └── pri-img-pbit.h │ ├── block │ │ └── Makefile.inc │ ├── sound │ │ ├── Makefile.inc │ │ ├── sound-null.h │ │ └── sound-oss.h │ ├── video │ │ ├── font.h │ │ └── Makefile.inc │ ├── psi │ │ ├── psi-img-tc.h │ │ ├── psi-img-cp2.h │ │ ├── psi-img-xdf.h │ │ ├── psi-img-ana.h │ │ ├── psi-img-mac.h │ │ ├── psi-img-imd.h │ │ ├── psi-img-msa.h │ │ ├── psi-img-psi.h │ │ ├── psi-img-td0.h │ │ ├── psi-img-dc42.h │ │ ├── psi-img-stx.h │ │ ├── psi-img-pfdc.h │ │ └── Makefile.inc │ └── char │ │ ├── char-null.h │ │ ├── char-tios.h │ │ ├── char-pty.h │ │ ├── char-wincom.h │ │ └── char-posix.h ├── devices │ ├── clock │ │ └── Makefile.inc │ ├── Makefile.inc │ └── video │ │ ├── Makefile.inc │ │ ├── mda_font.h │ │ ├── cga_font.h │ │ ├── olivetti_font.h │ │ └── wy700_font.h ├── chipset │ ├── 80186 │ │ └── Makefile.inc │ ├── ppc405 │ │ └── Makefile.inc │ ├── clock │ │ └── Makefile.inc │ ├── 82xx │ │ └── Makefile.inc │ └── Makefile.inc ├── libini │ └── Makefile.inc ├── config.inc.in └── lib │ ├── endian.c │ ├── cfg.h │ ├── initerm.h │ ├── stdint │ └── stdint.h │ ├── tun.h │ ├── iniata.h │ ├── inidsk.h │ └── Makefile.inc ├── mkdep ├── README ├── doc ├── sound-drivers.txt ├── pce-macplus.txt ├── pce-atarist.txt ├── pbit-format.txt └── pce-ibmpc.txt └── gendep /TODO: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /version: -------------------------------------------------------------------------------- 1 | pce 0 2 2 scm 2 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Hampa Hug 2 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | rm -f configure 4 | autoconf 5 | rm -rf autom4te.cache 6 | -------------------------------------------------------------------------------- /src/arch/ibmpc/bios/pcex.rom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcs/pce/HEAD/src/arch/ibmpc/bios/pcex.rom -------------------------------------------------------------------------------- /src/arch/macplus/pcex/pcex.rom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcs/pce/HEAD/src/arch/macplus/pcex/pcex.rom -------------------------------------------------------------------------------- /src/cpu/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/Makefile.inc 2 | 3 | rel := src/cpu 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | -------------------------------------------------------------------------------- /src/arch/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/arch/Makefile.inc 2 | 3 | rel := src/arch 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | -------------------------------------------------------------------------------- /src/utils/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/Makefile.inc 2 | 3 | rel := src/utils 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | -------------------------------------------------------------------------------- /src/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/Makefile.inc 2 | 3 | rel := src 4 | 5 | DCL += $(rel)/config.h $(rel)/config.inc 6 | DIRS += $(rel) 7 | DIST += $(rel)/Makefile.inc $(rel)/config.h.in $(rel)/config.inc.in 8 | -------------------------------------------------------------------------------- /src/drivers/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/Makefile.inc 2 | 3 | rel := src/drivers 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CLN += $(rel)/options.o 9 | DIST += $(rel)/options.c $(rel)/options.h 10 | 11 | $(rel)/options.o: $(rel)/options.c 12 | -------------------------------------------------------------------------------- /src/arch/sim405/pceutils/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/arch/sim405/pceutils/Makefile.inc 2 | 3 | rel := src/arch/sim405/pceutils 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | # ---------------------------------------------------------------------- 9 | 10 | FILES := Makefile config.h pce.S pce.h pcecp.c pcemsg.c pcetime.c pcever.c 11 | 12 | DIST += $(foreach f,$(FILES),$(rel)/$(f)) 13 | -------------------------------------------------------------------------------- /src/devices/clock/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/devices/clock/Makefile.inc 2 | 3 | rel := src/devices/clock 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DEV_CLK_BAS := ds1743 9 | DEV_CLK_SRC := $(foreach f,$(DEV_CLK_BAS),$(rel)/$(f).c) 10 | DEV_CLK_OBJ := $(foreach f,$(DEV_CLK_BAS),$(rel)/$(f).o) 11 | DEV_CLK_HDR := $(foreach f,$(DEV_CLK_BAS),$(rel)/$(f).h) 12 | 13 | CLN += $(DEV_CLK_OBJ) 14 | DIST += $(DEV_CLK_SRC) $(DEV_CLK_HDR) 15 | 16 | $(rel)/ds1743.o: $(rel)/ds1743.c 17 | -------------------------------------------------------------------------------- /src/chipset/ppc405/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/chipset/ppc405/Makefile.inc 2 | 3 | rel := src/chipset/ppc405 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CS_PPC405_BAS := uic 9 | CS_PPC405_SRC := $(foreach f,$(CS_PPC405_BAS),$(rel)/$(f).c) 10 | CS_PPC405_OBJ := $(foreach f,$(CS_PPC405_BAS),$(rel)/$(f).o) 11 | CS_PPC405_HDR := $(foreach f,$(CS_PPC405_BAS),$(rel)/$(f).h) 12 | 13 | CLN += $(CS_PPC405_OBJ) 14 | DIST += $(CS_PPC405_SRC) $(CS_PPC405_HDR) 15 | 16 | $(rel)/uic.o: $(rel)/uic.c $(rel)/uic.h 17 | -------------------------------------------------------------------------------- /src/chipset/clock/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/chipset/clock/Makefile.inc 2 | 3 | rel := src/chipset/clock 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CS_CLK_BAS := \ 9 | ds1743 \ 10 | mc146818a 11 | 12 | CS_CLK_SRC := $(foreach f,$(CS_CLK_BAS),$(rel)/$(f).c) 13 | CS_CLK_OBJ := $(foreach f,$(CS_CLK_BAS),$(rel)/$(f).o) 14 | CS_CLK_HDR := $(foreach f,$(CS_CLK_BAS),$(rel)/$(f).h) 15 | 16 | CLN += $(CS_CLK_OBJ) 17 | DIST += $(CS_CLK_SRC) $(CS_CLK_HDR) 18 | 19 | $(rel)/ds1743.o: $(rel)/ds1743.c $(rel)/ds1743.h 20 | $(rel)/mc146818a.o: $(rel)/mc146818a.c $(rel)/mc146818a.h 21 | -------------------------------------------------------------------------------- /src/chipset/80186/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/chipset/80186/Makefile.inc 2 | 3 | rel := src/chipset/80186 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CS_80186_BAS := dma icu tcu 9 | CS_80186_SRC := $(foreach f,$(CS_80186_BAS),$(rel)/$(f).c) 10 | CS_80186_OBJ := $(foreach f,$(CS_80186_BAS),$(rel)/$(f).o) 11 | CS_80186_HDR := $(foreach f,$(CS_80186_BAS),$(rel)/$(f).h) 12 | 13 | CLN += $(CS_80186_OBJ) 14 | DIST += $(CS_80186_SRC) $(CS_80186_HDR) 15 | 16 | $(rel)/dma.o: $(rel)/dma.c $(rel)/dma.h 17 | $(rel)/icu.o: $(rel)/icu.c $(rel)/icu.h 18 | $(rel)/tcu.o: $(rel)/tcu.c $(rel)/tcu.h 19 | -------------------------------------------------------------------------------- /src/cpu/e6502/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/e6502/Makefile.inc 2 | 3 | rel := src/cpu/e6502 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_6502_BAS := disasm e6502 ea opcodes 9 | CPU_6502_SRC := $(foreach f,$(CPU_6502_BAS),$(rel)/$(f).c) 10 | CPU_6502_OBJ := $(foreach f,$(CPU_6502_BAS),$(rel)/$(f).o) 11 | CPU_6502_HDR := $(foreach f,e6502 internal,$(rel)/$(f).h) 12 | CPU_6502_ARC := $(rel)/e6502.a 13 | 14 | CLN += $(CPU_6502_ARC) $(CPU_6502_OBJ) 15 | DIST += $(CPU_6502_SRC) $(CPU_6502_HDR) 16 | 17 | $(rel)/disasm.o: $(rel)/disasm.c 18 | $(rel)/e6502.o: $(rel)/e6502.c 19 | $(rel)/ea.o: $(rel)/ea.c 20 | $(rel)/opcodes.o: $(rel)/opcodes.c 21 | 22 | $(rel)/e6502.a: $(CPU_6502_OBJ) 23 | -------------------------------------------------------------------------------- /src/cpu/sparc32/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/sparc32/Makefile.inc 2 | 3 | rel := src/cpu/sparc32 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_SPARC32_BAS := disasm mmu opcodes sparc32 9 | CPU_SPARC32_SRC := $(foreach f,$(CPU_SPARC32_BAS),$(rel)/$(f).c) 10 | CPU_SPARC32_OBJ := $(foreach f,$(CPU_SPARC32_BAS),$(rel)/$(f).o) 11 | CPU_SPARC32_HDR := $(foreach f,sparc32 internal,$(rel)/$(f).h) 12 | CPU_SPARC32_ARC := $(rel)/sparc32.a 13 | 14 | CLN += $(CPU_SPARC32_ARC) $(CPU_SPARC32_OBJ) 15 | DIST += $(CPU_SPARC32_SRC) $(CPU_SPARC32_HDR) 16 | 17 | $(rel)/disasm.o: $(rel)/disasm.c 18 | $(rel)/mmu.o: $(rel)/mmu.c 19 | $(rel)/opcodes.o: $(rel)/opcodes.c 20 | $(rel)/sparc32.o: $(rel)/sparc32.c 21 | 22 | $(rel)/sparc32.a: $(CPU_SPARC32_OBJ) 23 | -------------------------------------------------------------------------------- /src/cpu/arm/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/arm/Makefile.inc 2 | 3 | rel := src/cpu/arm 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_ARM_BAS := arm copr14 copr15 disasm mmu opcodes 9 | CPU_ARM_SRC := $(foreach f,$(CPU_ARM_BAS),$(rel)/$(f).c) 10 | CPU_ARM_OBJ := $(foreach f,$(CPU_ARM_BAS),$(rel)/$(f).o) 11 | CPU_ARM_HDR := $(foreach f,arm internal,$(rel)/$(f).h) 12 | CPU_ARM_ARC := $(rel)/arm.a 13 | 14 | CLN += $(CPU_ARM_ARC) $(CPU_ARM_OBJ) 15 | DIST += $(CPU_ARM_SRC) $(CPU_ARM_HDR) 16 | 17 | $(rel)/arm.o: $(rel)/arm.c 18 | $(rel)/copr14.o: $(rel)/copr14.c 19 | $(rel)/copr15.o: $(rel)/copr15.c 20 | $(rel)/disasm.o: $(rel)/disasm.c 21 | $(rel)/mmu.o: $(rel)/mmu.c 22 | $(rel)/opcodes.o: $(rel)/opcodes.c 23 | 24 | $(rel)/arm.a: $(CPU_ARM_OBJ) 25 | -------------------------------------------------------------------------------- /src/chipset/82xx/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/chipset/82xx/Makefile.inc 2 | 3 | rel := src/chipset/82xx 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CS_82XX_BAS := e8237 e8250 e8253 e8255 e8259 e8272 9 | CS_82XX_SRC := $(foreach f,$(CS_82XX_BAS),$(rel)/$(f).c) 10 | CS_82XX_OBJ := $(foreach f,$(CS_82XX_BAS),$(rel)/$(f).o) 11 | CS_82XX_HDR := $(foreach f,$(CS_82XX_BAS),$(rel)/$(f).h) 12 | 13 | CLN += $(CS_82XX_OBJ) 14 | DIST += $(CS_82XX_SRC) $(CS_82XX_HDR) 15 | 16 | $(rel)/e8237.o: $(rel)/e8237.c $(rel)/e8237.h 17 | $(rel)/e8250.o: $(rel)/e8250.c $(rel)/e8250.h 18 | $(rel)/e8253.o: $(rel)/e8253.c $(rel)/e8253.h 19 | $(rel)/e8255.o: $(rel)/e8255.c $(rel)/e8255.h 20 | $(rel)/e8259.o: $(rel)/e8259.c $(rel)/e8259.h 21 | $(rel)/e8272.o: $(rel)/e8272.c $(rel)/e8272.h 22 | -------------------------------------------------------------------------------- /src/cpu/e68000/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/e68000/Makefile.inc 2 | 3 | rel := src/cpu/e68000 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_68K_BAS := cc disasm ea opcodes ops-020 e68000 9 | CPU_68K_SRC := $(foreach f,$(CPU_68K_BAS),$(rel)/$(f).c) 10 | CPU_68K_OBJ := $(foreach f,$(CPU_68K_BAS),$(rel)/$(f).o) 11 | CPU_68K_HDR := $(foreach f,e68000 internal,$(rel)/$(f).h) 12 | CPU_68K_ARC := $(rel)/e68000.a 13 | 14 | CLN += $(CPU_68K_ARC) $(CPU_68K_OBJ) 15 | DIST += $(CPU_68K_SRC) $(CPU_68K_HDR) 16 | 17 | $(rel)/cc.o: $(rel)/cc.c 18 | $(rel)/disasm.o: $(rel)/disasm.c 19 | $(rel)/ea.o: $(rel)/ea.c 20 | $(rel)/opcodes.o: $(rel)/opcodes.c 21 | $(rel)/ops-020.o: $(rel)/ops-020.c 22 | $(rel)/e68000.o: $(rel)/e68000.c 23 | 24 | $(rel)/e68000.a: $(CPU_68K_OBJ) 25 | -------------------------------------------------------------------------------- /src/libini/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/libini/Makefile.inc 2 | 3 | rel := src/libini 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | LIBINI_BAS := expr read scanner section strings value write 9 | LIBINI_SRC := $(foreach f,$(LIBINI_BAS),$(rel)/$(f).c) 10 | LIBINI_OBJ := $(foreach f,$(LIBINI_BAS),$(rel)/$(f).o) 11 | LIBINI_HDR := $(foreach f,libini scanner,$(rel)/$(f).h) 12 | LIBINI_ARC := $(rel)/libini.a 13 | 14 | CLN += $(LIBINI_ARC) $(LIBINI_OBJ) 15 | DIST += $(LIBINI_SRC) $(LIBINI_HDR) 16 | 17 | $(rel)/expr.o: $(rel)/expr.c 18 | $(rel)/read.o: $(rel)/read.c 19 | $(rel)/scanner.o: $(rel)/scanner.c 20 | $(rel)/section.o: $(rel)/section.c 21 | $(rel)/strings.o: $(rel)/strings.c 22 | $(rel)/value.o: $(rel)/value.c 23 | $(rel)/write.o: $(rel)/write.c 24 | 25 | $(rel)/libini.a: $(LIBINI_OBJ) 26 | -------------------------------------------------------------------------------- /mkdep: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export LC_ALL="C" 4 | 5 | if test -f "Makefile.dep" ; then 6 | mv -f "Makefile.dep" "Makefile.dep.old" 7 | fi 8 | 9 | { 10 | echo "#define PCE_ENABLE_TUN 1" 11 | } > "src/config.h" 12 | 13 | find src -type f -name "*.c" -print |\ 14 | grep -v "^src/arch/sim405/pceutils/" |\ 15 | while read file ; do 16 | echo "${file%.*}.o:" 17 | makedepend -Y -f- -w0 -Isrc "$file" 2> /dev/null 18 | done |\ 19 | grep "^src/.*:" |\ 20 | sort -u |\ 21 | { 22 | printf '# Makefile.dep' 23 | 24 | while read dst src ; do 25 | if test -z "$src" ; then 26 | printf '\n\n%s %s' "$dst" "${dst%.*}.c" 27 | else 28 | printf ' \\\n\t%s' "$src" 29 | fi 30 | done 31 | 32 | echo 33 | } > "Makefile.dep" 34 | 35 | diff -Nu "Makefile.dep.old" "Makefile.dep" > "Makefile.dep.diff" 36 | 37 | rm -f "src/config.h" 38 | -------------------------------------------------------------------------------- /src/utils/aym/aym.1: -------------------------------------------------------------------------------- 1 | .TH AYM 1 "2015-05-21" "HH" "pce" 2 | \ 3 | .SH NAME 4 | aym \- convert and play AYM sound files 5 | 6 | .SH SYNOPSIS 7 | .BI aym " [options] [input-file output-file]]" 8 | 9 | .SH DESCRIPTION 10 | \fBaym\fR(1) is used to convert and play AYM sound files. 11 | 12 | .SH OPTIONS 13 | .TP 14 | .BI "-i, --input " filename 15 | Load an image from \fIfilename\fR. 16 | \ 17 | .TP 18 | .BI "-o, --output " filename 19 | Set the output file name. Before exiting, the current image will 20 | be written to this file. 21 | \ 22 | .TP 23 | .B "-v, --verbose" 24 | Enable verbose operation. 25 | \ 26 | .TP 27 | .B --help 28 | Print usage information. 29 | \ 30 | .TP 31 | .B --version 32 | Print version information. 33 | 34 | .SH SEE ALSO 35 | .BR pce-atarist "(1)" 36 | 37 | .SH AUTHOR 38 | Hampa Hug 39 | -------------------------------------------------------------------------------- /src/cpu/ppc405/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/ppc405/Makefile.inc 2 | 3 | rel := src/cpu/ppc405 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_PPC405_BAS := disasm mmu opcode13 opcode1f opcodes ppc405 9 | CPU_PPC405_SRC := $(foreach f,$(CPU_PPC405_BAS),$(rel)/$(f).c) 10 | CPU_PPC405_OBJ := $(foreach f,$(CPU_PPC405_BAS),$(rel)/$(f).o) 11 | CPU_PPC405_HDR := $(foreach f,ppc405 internal,$(rel)/$(f).h) 12 | CPU_PPC405_ARC := $(rel)/ppc405.a 13 | 14 | CLN += $(CPU_PPC405_ARC) $(CPU_PPC405_OBJ) 15 | DIST += $(CPU_PPC405_SRC) $(CPU_PPC405_HDR) 16 | 17 | $(rel)/disasm.o: $(rel)/disasm.c 18 | $(rel)/mmu.o: $(rel)/mmu.c 19 | $(rel)/opcode13.o: $(rel)/opcode13.c 20 | $(rel)/opcode1f.o: $(rel)/opcode1f.c 21 | $(rel)/opcodes.o: $(rel)/opcodes.c 22 | $(rel)/ppc405.o: $(rel)/ppc405.c 23 | 24 | $(rel)/ppc405.a: $(CPU_PPC405_OBJ) 25 | -------------------------------------------------------------------------------- /src/cpu/e8086/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/e8086/Makefile.inc 2 | 3 | rel := src/cpu/e8086 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_8086_BAS := disasm e8086 e80186 e80286r flags ea opcodes pqueue 9 | CPU_8086_SRC := $(foreach f,$(CPU_8086_BAS),$(rel)/$(f).c) 10 | CPU_8086_OBJ := $(foreach f,$(CPU_8086_BAS),$(rel)/$(f).o) 11 | CPU_8086_HDR := $(foreach f,e8086 internal,$(rel)/$(f).h) 12 | CPU_8086_ARC := $(rel)/e8086.a 13 | 14 | CLN += $(CPU_8086_ARC) $(CPU_8086_OBJ) 15 | DIST += $(CPU_8086_SRC) $(CPU_8086_HDR) 16 | 17 | $(rel)/disasm.o: $(rel)/disasm.c 18 | $(rel)/e8086.o: $(rel)/e8086.c 19 | $(rel)/e80186.o: $(rel)/e80186.c 20 | $(rel)/e80286r.o: $(rel)/e80286r.c 21 | $(rel)/flags.o: $(rel)/flags.c 22 | $(rel)/ea.o: $(rel)/ea.c 23 | $(rel)/opcodes.o: $(rel)/opcodes.c 24 | $(rel)/pqueue.o: $(rel)/pqueue.c 25 | 26 | $(rel)/e8086.a: $(CPU_8086_OBJ) 27 | -------------------------------------------------------------------------------- /src/chipset/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/chipset/Makefile.inc 2 | 3 | rel := src/chipset 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CHIPSET_BAS := \ 9 | e6522 \ 10 | e6560 \ 11 | e6845 \ 12 | e6850 \ 13 | e68901 \ 14 | e8530 \ 15 | wd179x 16 | 17 | CHIPSET_SRC := $(foreach f,$(CHIPSET_BAS),$(rel)/$(f).c) 18 | CHIPSET_OBJ := $(foreach f,$(CHIPSET_BAS),$(rel)/$(f).o) 19 | CHIPSET_HDR := $(foreach f,$(CHIPSET_BAS),$(rel)/$(f).h) 20 | 21 | CLN += $(CHIPSET_OBJ) 22 | DIST += $(CHIPSET_SRC) $(CHIPSET_HDR) 23 | 24 | $(rel)/e6522.o: $(rel)/e6522.c $(rel)/e6522.h 25 | $(rel)/e6560.o: $(rel)/e6560.c $(rel)/e6560.h 26 | $(rel)/e6845.o: $(rel)/e6845.c $(rel)/e6845.h 27 | $(rel)/e6850.o: $(rel)/e6850.c $(rel)/e6850.h 28 | $(rel)/e68901.o: $(rel)/e68901.c $(rel)/e68901.h 29 | $(rel)/e8530.o: $(rel)/e8530.c $(rel)/e8530.h 30 | $(rel)/wd179x.o: $(rel)/wd179x.c $(rel)/wd179x.h 31 | -------------------------------------------------------------------------------- /src/devices/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/devices/Makefile.inc 2 | 3 | rel := src/devices 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DEV_BAS := \ 9 | ata \ 10 | cassette \ 11 | device \ 12 | fdc \ 13 | hdc \ 14 | memory \ 15 | nvram \ 16 | parport \ 17 | pci \ 18 | pci-ata \ 19 | serport \ 20 | slip 21 | 22 | DEV_SRC := $(foreach f,$(DEV_BAS),$(rel)/$(f).c) 23 | DEV_OBJ := $(foreach f,$(DEV_BAS),$(rel)/$(f).o) 24 | DEV_HDR := $(foreach f,$(DEV_BAS),$(rel)/$(f).h) 25 | 26 | CLN += $(DEV_OBJ) 27 | DIST += $(DEV_SRC) $(DEV_HDR) 28 | 29 | $(rel)/ata.o: $(rel)/ata.c 30 | $(rel)/cassette.o: $(rel)/cassette.c 31 | $(rel)/device.o: $(rel)/device.c 32 | $(rel)/fdc.o: $(rel)/fdc.c 33 | $(rel)/hdc.o: $(rel)/hdc.c 34 | $(rel)/memory.o: $(rel)/memory.c 35 | $(rel)/nvram.o: $(rel)/nvram.c 36 | $(rel)/parport.o: $(rel)/parport.c 37 | $(rel)/pci.o: $(rel)/pci.c 38 | $(rel)/pci-ata.o: $(rel)/pci-ata.c 39 | $(rel)/serport.o: $(rel)/serport.c 40 | $(rel)/slip.o: $(rel)/slip.c 41 | -------------------------------------------------------------------------------- /src/drivers/pfi/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/pfi/Makefile.inc 2 | 3 | rel := src/drivers/pfi 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DEV_PFI_BAS := \ 9 | decode-bits \ 10 | pfi-a2r \ 11 | pfi-io \ 12 | pfi-kryo \ 13 | pfi-pfi \ 14 | pfi-scp \ 15 | pfi \ 16 | track 17 | 18 | DEV_PFI_SRC := $(foreach f,$(DEV_PFI_BAS),$(rel)/$(f).c) 19 | DEV_PFI_OBJ := $(foreach f,$(DEV_PFI_BAS),$(rel)/$(f).o) 20 | DEV_PFI_HDR := $(foreach f,$(DEV_PFI_BAS),$(rel)/$(f).h) 21 | DEV_PFI_ARC := $(rel)/pfi.a 22 | 23 | CLN += $(DEV_PFI_ARC) $(DEV_PFI_OBJ) 24 | DIST += $(DEV_PFI_SRC) $(DEV_PFI_HDR) 25 | 26 | $(rel)/decode-bits.o: $(rel)/decode-bits.c 27 | $(rel)/pfi-a2r.o: $(rel)/pfi-a2r.c 28 | $(rel)/pfi-io.o: $(rel)/pfi-io.c 29 | $(rel)/pfi-kryo.o: $(rel)/pfi-kryo.c 30 | $(rel)/pfi-pfi.o: $(rel)/pfi-pfi.c 31 | $(rel)/pfi-scp.o: $(rel)/pfi-scp.c 32 | $(rel)/pfi.o: $(rel)/pfi.c 33 | $(rel)/track.o: $(rel)/track.c 34 | 35 | $(rel)/pfi.a: $(DEV_PFI_OBJ) 36 | -------------------------------------------------------------------------------- /src/drivers/pti/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/pti/Makefile.inc 2 | 3 | rel := src/drivers/pti 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DRV_PTI_BAS := \ 9 | pti-img-cas \ 10 | pti-img-pcm \ 11 | pti-img-pti \ 12 | pti-img-tap \ 13 | pti-img-txt \ 14 | pti-img-wav \ 15 | pti-io \ 16 | pti 17 | 18 | DRV_PTI_SRC := $(foreach f,$(DRV_PTI_BAS),$(rel)/$(f).c) 19 | DRV_PTI_OBJ := $(foreach f,$(DRV_PTI_BAS),$(rel)/$(f).o) 20 | DRV_PTI_HDR := $(foreach f,$(DRV_PTI_BAS),$(rel)/$(f).h) 21 | DRV_PTI_ARC := $(rel)/pti.a 22 | 23 | CLN += $(DRV_PTI_ARC) $(DRV_PTI_OBJ) 24 | DIST += $(DRV_PTI_SRC) $(DRV_PTI_HDR) 25 | 26 | $(rel)/pti-img-cas.o: $(rel)/pti-img-cas.c 27 | $(rel)/pti-img-pcm.o: $(rel)/pti-img-pcm.c 28 | $(rel)/pti-img-pti.o: $(rel)/pti-img-pti.c 29 | $(rel)/pti-img-tap.o: $(rel)/pti-img-tap.c 30 | $(rel)/pti-img-txt.o: $(rel)/pti-img-txt.c 31 | $(rel)/pti-img-wav.o: $(rel)/pti-img-wav.c 32 | $(rel)/pti-io.o: $(rel)/pti-io.c 33 | $(rel)/pti.o: $(rel)/pti.c 34 | 35 | $(rel)/pti.a: $(DRV_PTI_OBJ) 36 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | PCE - PC Emulator 2 | ============================================================================== 3 | 4 | PCE is a collection of microcomputer emulators. 5 | 6 | For further information check out these files: 7 | 8 | doc/pce-ibmpc.txt 9 | PCE/ibmpc, an IBM PC 5150 emulator 10 | 11 | doc/pce-macplus.txt 12 | PCE/macplus, a Macintosh Plus emulator 13 | 14 | doc/keys.txt 15 | Key combinations to control the emulator 16 | 17 | doc/monitor.txt 18 | The monitor interface 19 | 20 | doc/messages.txt 21 | Messages to control the emulator 22 | 23 | 24 | Install 25 | ============================================================================== 26 | 27 | To install do: 28 | 29 | ./configure 30 | make 31 | make install 32 | 33 | The most important options for configure are: 34 | 35 | --prefix=path 36 | Set the installation prefix. The default is /usr/local. 37 | 38 | --with-x11[=path] 39 | Build the X11 based terminal. 40 | 41 | --with-sdl 42 | Build the SDL based terminal. 43 | 44 | 45 | have fun 46 | Hampa Hug 47 | -------------------------------------------------------------------------------- /src/arch/sim405/pceutils/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile 2 | 3 | #CROSS = powerpc-linux- 4 | 5 | CC = $(CROSS)gcc 6 | LD = $(CROSS)gcc 7 | 8 | CFLAGS = -Os -Wall 9 | AFLAGS = 10 | 11 | prefix = inst 12 | bindir = $(prefix)/bin 13 | 14 | BIN := pcecp pcemsg pcetime pcever 15 | 16 | all: $(BIN) 17 | 18 | clean: 19 | rm -f pce.o 20 | rm -f pcecp pcemsg pcetime pcever 21 | rm -f pcecp.o pcemsg.o pcetime.o pcever.o 22 | 23 | install: 24 | mkdir -p $(bindir) 25 | cp $(BIN) $(bindir) 26 | 27 | %.o: %.c 28 | $(CC) $(CFLAGS) -c -o $@ $< 29 | 30 | %.o: %.S 31 | $(CC) $(AFLAGS) -c -o $@ $< 32 | 33 | pce.o: pce.S 34 | pcecp.o: pcecp.c pce.h config.h 35 | pcemsg.o: pcemsg.c pce.h config.h 36 | pcetime.o: pcetime.c pce.h config.h 37 | pcever.o: pcever.c pce.h config.h 38 | 39 | pcecp: pcecp.o pce.o 40 | $(LD) $(LDFLAGS) -o $@ pce.o pcecp.o 41 | 42 | pcemsg: pcemsg.o pce.o 43 | $(LD) $(LDFLAGS) -o $@ pce.o pcemsg.o 44 | 45 | pcetime: pcetime.o pce.o 46 | $(LD) $(LDFLAGS) -o $@ pce.o pcetime.o 47 | 48 | pcever: pcever.o pce.o 49 | $(LD) $(LDFLAGS) -o $@ pce.o pcever.o 50 | -------------------------------------------------------------------------------- /src/drivers/pri/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/pri/Makefile.inc 2 | 3 | rel := src/drivers/pri 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DRV_PRI_BAS := \ 9 | pri-enc-fm \ 10 | pri-enc-gcr \ 11 | pri-enc-mfm \ 12 | pri-img-pbit \ 13 | pri-img-pri \ 14 | pri-img-tc \ 15 | pri-img-woz \ 16 | pri-img \ 17 | pri 18 | 19 | DRV_PRI_SRC := $(foreach f,$(DRV_PRI_BAS),$(rel)/$(f).c) 20 | DRV_PRI_OBJ := $(foreach f,$(DRV_PRI_BAS),$(rel)/$(f).o) 21 | DRV_PRI_HDR := $(foreach f,$(DRV_PRI_BAS),$(rel)/$(f).h) 22 | DRV_PRI_ARC := $(rel)/pri.a 23 | 24 | CLN += $(DRV_PRI_ARC) $(DRV_PRI_OBJ) 25 | DIST += $(DRV_PRI_SRC) $(DRV_PRI_HDR) 26 | 27 | $(rel)/pri-enc-fm.o: $(rel)/pri-enc-fm.c 28 | $(rel)/pri-enc-gcr.o: $(rel)/pri-enc-gcr.c 29 | $(rel)/pri-enc-mfm.o: $(rel)/pri-enc-mfm.c 30 | $(rel)/pri-img-pbit.o: $(rel)/pri-img-pbit.c 31 | $(rel)/pri-img-pri.o: $(rel)/pri-img-pri.c 32 | $(rel)/pri-img-tc.o: $(rel)/pri-img-tc.c 33 | $(rel)/pri-img-woz.o: $(rel)/pri-img-woz.c 34 | $(rel)/pri-img.o: $(rel)/pri-img.c 35 | $(rel)/pri.o: $(rel)/pri.c 36 | 37 | $(rel)/pri.a: $(DRV_PRI_OBJ) 38 | -------------------------------------------------------------------------------- /src/utils/pti/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/pti/Makefile.inc 2 | 3 | rel := src/utils/pti 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | PTI_UTIL_BAS := \ 9 | comment \ 10 | ops \ 11 | space \ 12 | main 13 | 14 | PTI_UTIL_SRC := $(foreach f,$(PTI_UTIL_BAS),$(rel)/$(f).c) 15 | PTI_UTIL_OBJ := $(foreach f,$(PTI_UTIL_BAS),$(rel)/$(f).o) 16 | PTI_UTIL_HDR := $(foreach f,$(PTI_UTIL_BAS),$(rel)/$(f).h) 17 | PTI_UTIL_MAN1 := $(rel)/pti.1 18 | PTI_UTIL_BIN := $(rel)/pti$(EXEEXT) 19 | 20 | PTI_UTIL_OBJ_EXT := \ 21 | src/lib/ciff.o \ 22 | src/lib/endian.o \ 23 | src/lib/getopt.o \ 24 | $(DRV_PTI_OBJ) 25 | 26 | BIN += $(PTI_UTIL_BIN) 27 | MAN1 += $(PTI_UTIL_MAN1) 28 | CLN += $(PTI_UTIL_BIN) $(PTI_UTIL_OBJ) 29 | DIST += $(PTI_UTIL_SRC) $(PTI_UTIL_HDR) $(PTI_UTIL_MAN1) 30 | 31 | $(rel)/comment.o: $(rel)/comment.c 32 | $(rel)/main.o: $(rel)/main.c 33 | $(rel)/ops.o: $(rel)/ops.c 34 | $(rel)/space.o: $(rel)/space.c 35 | 36 | $(rel)/pti$(EXEEXT): $(PTI_UTIL_OBJ_EXT) $(PTI_UTIL_OBJ) 37 | $(QP)echo " LD $@" 38 | $(QR)$(LD) $(LDFLAGS_DEFAULT) -o $@ $(PTI_UTIL_OBJ) $(PTI_UTIL_OBJ_EXT) -lm 39 | -------------------------------------------------------------------------------- /src/utils/aym/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/aym/Makefile.inc 2 | 3 | rel := src/utils/aym 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | AYM_BAS := \ 9 | decode \ 10 | encode \ 11 | play \ 12 | main 13 | 14 | AYM_SRC := $(foreach f,$(AYM_BAS),$(rel)/$(f).c) 15 | AYM_OBJ := $(foreach f,$(AYM_BAS),$(rel)/$(f).o) 16 | AYM_HDR := $(rel)/main.h 17 | AYM_MAN1 := $(rel)/aym.1 18 | AYM_BIN := $(rel)/aym$(EXEEXT) 19 | 20 | AYM_OBJ_EXT := \ 21 | src/arch/atarist/psg.o \ 22 | src/lib/getopt.o \ 23 | src/drivers/options.o \ 24 | $(DRV_SND_OBJ) 25 | 26 | ifeq "$(PCE_ENABLE_SDL)" "1" 27 | AYM_CFLAGS += $(PCE_SDL_CFLAGS) 28 | AYM_LIBS += $(PCE_SDL_LIBS) 29 | endif 30 | 31 | BIN += $(AYM_BIN) 32 | MAN1 += $(AYM_MAN1) 33 | CLN += $(AYM_BIN) $(AYM_OBJ) 34 | DIST += $(AYM_SRC) $(AYM_HDR) $(AYM_MAN1) 35 | 36 | $(rel)/decode.o: $(rel)/decode.c 37 | $(rel)/encode.o: $(rel)/encode.c 38 | $(rel)/play.o: $(rel)/play.c 39 | $(rel)/main.o: $(rel)/main.c 40 | 41 | $(rel)/aym$(EXEEXT): $(AYM_OBJ_EXT) $(AYM_OBJ) 42 | $(QP)echo " LD $@" 43 | $(QR)$(LD) $(LDFLAGS_DEFAULT) -o $@ $(AYM_OBJ) $(AYM_OBJ_EXT) $(AYM_LIBS) -lm 44 | -------------------------------------------------------------------------------- /doc/sound-drivers.txt: -------------------------------------------------------------------------------- 1 | Sound drivers 2 | ============= 3 | 4 | The syntax of a sound driver specification is: 5 | 6 | :=:=... 7 | 8 | White space around option names and values is ignored. If a value contains 9 | a colon, it must be escaped by repeating it. 10 | 11 | 12 | The following options can be used with all sound drivers: 13 | 14 | wav= 15 | Write the sound output to a WAV file. 16 | 17 | lowpass= 18 | Apply a low-pass filter. If is 0 (the default), 19 | the low-pass filter is disabled. 20 | 21 | wavfilter=[0|1] 22 | If true then the low-pass filter is applied before the sound 23 | is written to the WAV file. 24 | 25 | 26 | The following is a list of sound drivers and their options: 27 | 28 | null: 29 | The null sound driver that discards output written to it. It can 30 | still be written to a WAV file as a side effect. 31 | 32 | 33 | wav: 34 | This is another name for the null sound driver. 35 | 36 | 37 | oss: 38 | The OSS sound driver. 39 | 40 | dev= 41 | Set the OSS device. 42 | 43 | 44 | sdl: 45 | The SDL sound driver. 46 | -------------------------------------------------------------------------------- /src/arch/ibmpc/bios/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/arch/ibmpc/bios/Makefile.inc 2 | 3 | rel := src/arch/ibmpc/bios 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | NFLAGS := -Isrc/ -I$(srcdir)/src/arch/ibmpc/ -I$(srcdir)/src/arch/ibmpc/bios/ 9 | 10 | # ---------------------------------------------------------------------- 11 | 12 | PCE_IBMPC_PCEX_BAS := pcex 13 | PCE_IBMPC_PCEX_SRC := $(rel)/pcex.asm 14 | PCE_IBMPC_PCEX_ROM := $(rel)/pcex.rom 15 | PCE_IBMPC_PCEX_BIN := $(rel)/ibmpc-pcex.rom 16 | PCE_IBMPC_PCEX_SDP := src/arch/ibmpc/pce.inc 17 | PCE_IBMPC_PCEX_REL := $(rel) 18 | 19 | CLN += $(PCE_IBMPC_PCEX_BIN) $(PCE_IBMPC_PCEX_OBJ) 20 | DIST += $(PCE_IBMPC_PCEX_SRC) $(PCE_IBMPC_PCEX_ROM) 21 | 22 | ifeq "$(PCE_BUILD_IBMPC)" "1" 23 | TARGETS += $(PCE_IBMPC_PCEX_BIN) 24 | SHARE_IBMPC += $(PCE_IBMPC_PCEX_BIN) 25 | endif 26 | 27 | ifeq "$(PCE_BUILD_IBMPC_ROM)" "1" 28 | 29 | $(rel)/ibmpc-pcex.rom: $(rel)/pcex.asm $(PCE_IBMPC_PCEX_SDP) 30 | $(QP)echo " NASM $@" 31 | $(QR)$(NASM) $(NFLAGS) -DNOFILL -O6 -f bin -o $@ $< 32 | 33 | else 34 | 35 | $(rel)/ibmpc-pcex.rom: $(rel)/pcex.rom 36 | $(QP)echo " CAT $@" 37 | $(QR)cat $< > $@ 38 | 39 | endif 40 | -------------------------------------------------------------------------------- /gendep: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script is used to regenerate Makefile.dep using a sequence 4 | # like this: 5 | # 6 | # $ ./configure 7 | # $ make CFLAGS=-MMD 8 | # $ gendep > Makefile.dep 9 | 10 | 11 | mk_dep_list () 12 | { 13 | local line 14 | local f 15 | 16 | while read line ; do 17 | line=${line/:/} 18 | 19 | for f in $line ; do 20 | echo "$f" 21 | done 22 | done 23 | } 24 | 25 | mk_dep_sort () 26 | { 27 | local tgt src 28 | 29 | read tgt 30 | read src 31 | 32 | echo "$tgt" 33 | echo "$src" 34 | 35 | sort -u 36 | } 37 | 38 | mk_dep_rule () 39 | { 40 | local tgt src 41 | 42 | read tgt 43 | read src 44 | 45 | printf "%s: %s" "$tgt" "$src" 46 | 47 | while read src ; do 48 | printf " \\\\\\n" 49 | printf "\\t%s" "$src" 50 | done 51 | 52 | printf "\\n" 53 | } 54 | 55 | mk_dep () 56 | { 57 | local src=$1 58 | 59 | cat "$src" |\ 60 | mk_dep_list |\ 61 | grep "^src/" |\ 62 | mk_dep_sort |\ 63 | mk_dep_rule 64 | } 65 | 66 | echo "# Makefile.dep" 67 | echo "#" 68 | echo "# This file was generated by gendep" 69 | 70 | find . -type f -name "*.d" |\ 71 | sort |\ 72 | while read src ; do 73 | echo 74 | mk_dep "$src" 75 | done 76 | -------------------------------------------------------------------------------- /src/cpu/e8080/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/cpu/e8080/Makefile.inc 2 | 3 | rel := src/cpu/e8080 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | CPU_8080_BAS := \ 9 | dis_z80 \ 10 | disasm \ 11 | e8080 \ 12 | flags \ 13 | op_cb \ 14 | op_dd \ 15 | op_ed \ 16 | op_fd \ 17 | op_dd_cb \ 18 | op_fd_cb \ 19 | op_z80 \ 20 | opcodes 21 | 22 | CPU_8080_SRC := $(foreach f,$(CPU_8080_BAS),$(rel)/$(f).c) 23 | CPU_8080_OBJ := $(foreach f,$(CPU_8080_BAS),$(rel)/$(f).o) 24 | CPU_8080_HDR := $(foreach f,e8080 internal,$(rel)/$(f).h) 25 | CPU_8080_ARC := $(rel)/e8080.a 26 | 27 | CLN += $(CPU_8080_ARC) $(CPU_8080_OBJ) 28 | DIST += $(CPU_8080_SRC) $(CPU_8080_HDR) 29 | 30 | $(rel)/dis_z80.o: $(rel)/dis_z80.c 31 | $(rel)/disasm.o: $(rel)/disasm.c 32 | $(rel)/e8080.o: $(rel)/e8080.c 33 | $(rel)/flags.o: $(rel)/flags.c 34 | $(rel)/op_cb.o: $(rel)/op_cb.c 35 | $(rel)/op_dd.o: $(rel)/op_dd.c 36 | $(rel)/op_ed.o: $(rel)/op_ed.c 37 | $(rel)/op_fd.o: $(rel)/op_fd.c 38 | $(rel)/op_dd_cb.o: $(rel)/op_dd_cb.c 39 | $(rel)/op_fd_cb.o: $(rel)/op_fd_cb.c 40 | $(rel)/op_z80.o: $(rel)/op_z80.c 41 | $(rel)/opcodes.o: $(rel)/opcodes.c 42 | 43 | $(rel)/e8080.a: $(CPU_8080_OBJ) 44 | -------------------------------------------------------------------------------- /src/drivers/block/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/block/Makefile.inc 2 | 3 | rel := src/drivers/block 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DRV_BLK_BAS := \ 9 | blkchd \ 10 | blkcow \ 11 | blkdosem \ 12 | blkpart \ 13 | blkpbi \ 14 | blkpce \ 15 | blkpri \ 16 | blkpsi \ 17 | blkqed \ 18 | blkram \ 19 | blkraw \ 20 | block 21 | 22 | DRV_BLK_SRC := $(foreach f,$(DRV_BLK_BAS),$(rel)/$(f).c) $(DRV_BLK_PFDC_SRC) 23 | DRV_BLK_OBJ := $(foreach f,$(DRV_BLK_BAS),$(rel)/$(f).o) $(DRV_BLK_PFDC_OBJ) 24 | DRV_BLK_HDR := $(foreach f,$(DRV_BLK_BAS),$(rel)/$(f).h) $(DRV_BLK_PFDC_HDR) 25 | DRV_BLK_ARC := $(rel)/block.a 26 | 27 | CLN += $(DRV_BLK_ARC) $(DRV_BLK_OBJ) 28 | DIST += $(DRV_BLK_SRC) $(DRV_BLK_HDR) 29 | 30 | $(rel)/blkchd.o: $(rel)/blkchd.c 31 | $(rel)/blkcow.o: $(rel)/blkcow.c 32 | $(rel)/blkdosem.o: $(rel)/blkdosem.c 33 | $(rel)/blkpart.o: $(rel)/blkpart.c 34 | $(rel)/blkpbi.o: $(rel)/blkpbi.c 35 | $(rel)/blkpce.o: $(rel)/blkpce.c 36 | $(rel)/blkpri.o: $(rel)/blkpri.c 37 | $(rel)/blkpsi.o: $(rel)/blkpsi.c 38 | $(rel)/blkqed.o: $(rel)/blkqed.c 39 | $(rel)/blkram.o: $(rel)/blkram.c 40 | $(rel)/blkraw.o: $(rel)/blkraw.c 41 | $(rel)/block.o: $(rel)/block.c 42 | 43 | $(rel)/block.a: $(DRV_BLK_OBJ) 44 | -------------------------------------------------------------------------------- /src/devices/video/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/devices/video/Makefile.inc 2 | 3 | rel := src/devices/video 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DEV_VID_BAS := \ 9 | cga \ 10 | cga_font \ 11 | ega \ 12 | hgc \ 13 | mda \ 14 | mda_font \ 15 | olivetti \ 16 | olivetti_font \ 17 | plantronics \ 18 | vga \ 19 | video \ 20 | wy700 \ 21 | wy700_font 22 | 23 | DEV_VID_SRC := $(foreach f,$(DEV_VID_BAS),$(rel)/$(f).c) 24 | DEV_VID_OBJ := $(foreach f,$(DEV_VID_BAS),$(rel)/$(f).o) 25 | DEV_VID_HDR := $(foreach f,$(DEV_VID_BAS),$(rel)/$(f).h) 26 | DEV_VID_ARC := $(rel)/video.a 27 | 28 | CLN += $(DEV_VID_ARC) $(DEV_VID_OBJ) 29 | DIST += $(DEV_VID_SRC) $(DEV_VID_HDR) 30 | 31 | $(rel)/cga.o: $(rel)/cga.c 32 | $(rel)/cga_font.o: $(rel)/cga_font.c 33 | $(rel)/ega.o: $(rel)/ega.c 34 | $(rel)/hgc.o: $(rel)/hgc.c 35 | $(rel)/mda.o: $(rel)/mda.c 36 | $(rel)/mda_font.o: $(rel)/mda_font.c 37 | $(rel)/olivetti.o: $(rel)/olivetti.c 38 | $(rel)/olivetti_font.o: $(rel)/olivetti_font.c 39 | $(rel)/plantronics.o: $(rel)/plantronics.c 40 | $(rel)/vga.o: $(rel)/vga.c 41 | $(rel)/video.o: $(rel)/video.c 42 | $(rel)/wy700.o: $(rel)/wy700.c 43 | $(rel)/wy700_font.o: $(rel)/wy700_font.c 44 | 45 | $(rel)/video.a: $(DEV_VID_OBJ) 46 | -------------------------------------------------------------------------------- /src/utils/pce-img/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/pce-img/Makefile.inc 2 | 3 | rel := src/utils/pce-img 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | PCEIMG_BAS := \ 9 | commit \ 10 | convert \ 11 | cow \ 12 | create \ 13 | info \ 14 | rebase \ 15 | pce-img 16 | 17 | PCEIMG_SRC := $(foreach f,$(PCEIMG_BAS),$(rel)/$(f).c) 18 | PCEIMG_OBJ := $(foreach f,$(PCEIMG_BAS),$(rel)/$(f).o) 19 | PCEIMG_HDR := $(rel)/pce-img.h 20 | PCEIMG_MAN1 := $(rel)/pce-img.1 21 | PCEIMG_BIN := $(rel)/pce-img$(EXEEXT) 22 | 23 | PCEIMG_OBJ_EXT := \ 24 | src/lib/getopt.o \ 25 | src/lib/sysdep.o \ 26 | $(DRV_BLK_OBJ) \ 27 | $(DRV_PRI_OBJ) \ 28 | $(DRV_PSI_OBJ) 29 | 30 | BIN += $(PCEIMG_BIN) 31 | MAN1 += $(PCEIMG_MAN1) 32 | CLN += $(PCEIMG_BIN) $(PCEIMG_OBJ) 33 | DIST += $(PCEIMG_SRC) $(PCEIMG_HDR) $(PCEIMG_MAN1) 34 | 35 | $(rel)/commit.o: $(rel)/commit.c 36 | $(rel)/convert.o: $(rel)/convert.c 37 | $(rel)/cow.o: $(rel)/cow.c 38 | $(rel)/create.o: $(rel)/create.c 39 | $(rel)/info.o: $(rel)/info.c 40 | $(rel)/rebase.o: $(rel)/rebase.c 41 | $(rel)/pce-img.o: $(rel)/pce-img.c 42 | 43 | $(rel)/pce-img$(EXEEXT): $(PCEIMG_OBJ_EXT) $(PCEIMG_OBJ) 44 | $(QP)echo " LD $@" 45 | $(QR)$(LD) $(LDFLAGS_DEFAULT) -o $@ $(PCEIMG_OBJ) $(PCEIMG_OBJ_EXT) 46 | -------------------------------------------------------------------------------- /src/arch/cpm80/pce-cpm80.cfg.in: -------------------------------------------------------------------------------- 1 | # pce-cpm80.cfg 2 | # 3 | # Example config file 4 | 5 | system { 6 | # The machine model. Valid values are "cpm" and "plain". 7 | model = "cpm" 8 | 9 | # The CPU model. Valid values are "8080" and "Z80". 10 | cpu = "8080" 11 | 12 | # The CPU clock speed in Hz. Zero means all out. 13 | #clock = 0 14 | 15 | # The CPU clock speed in MHz. Zero means all out. 16 | speed = 0 17 | 18 | # The CP/M kernel 19 | cpm = "cpm.ihex" 20 | 21 | con = "sercon" 22 | aux = "stdio:file=aux.out:flush=1" 23 | lst = "stdio:file=lst.out:flush=1" 24 | } 25 | 26 | # Multiple "ram" sections may be present 27 | ram { 28 | # The base address 29 | address = 0 30 | 31 | # The size in bytes 32 | size = 65536 33 | 34 | # The RAM image that is used to initialize the RAM 35 | #file = "cpm80.ram" 36 | } 37 | 38 | # load sections are processed after the emulator is set up. 39 | #load { 40 | # format = "ihex" 41 | # file = "cpm80.ihex" 42 | #} 43 | 44 | disk { 45 | drive = 0x00 46 | type = "auto" 47 | file = "fda.img" 48 | file = "fda.psi" 49 | optional = 1 50 | readonly = 0 51 | } 52 | 53 | disk { 54 | drive = 0x01 55 | type = "auto" 56 | file = "fdb.img" 57 | file = "fdb.psi" 58 | optional = 1 59 | readonly = 0 60 | } 61 | -------------------------------------------------------------------------------- /src/utils/psi/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/psi/Makefile.inc 2 | 3 | rel := src/utils/psi 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | PSI_BAS := \ 9 | comment \ 10 | delete \ 11 | edit \ 12 | info \ 13 | list \ 14 | load \ 15 | merge \ 16 | new \ 17 | reorder \ 18 | save \ 19 | main 20 | 21 | PSI_SRC := $(foreach f,$(PSI_BAS),$(rel)/$(f).c) 22 | PSI_OBJ := $(foreach f,$(PSI_BAS),$(rel)/$(f).o) 23 | PSI_HDR := $(foreach f,$(PSI_BAS),$(rel)/$(f).h) 24 | PSI_MAN1 := $(rel)/psi.1 25 | PSI_BIN := $(rel)/psi$(EXEEXT) 26 | 27 | PSI_OBJ_EXT := \ 28 | src/lib/getopt.o \ 29 | $(DRV_PSI_OBJ) 30 | 31 | BIN += $(PSI_BIN) 32 | MAN1 += $(PSI_MAN1) 33 | CLN += $(PSI_BIN) $(PSI_OBJ) 34 | DIST += $(PSI_SRC) $(PSI_HDR) $(PSI_MAN1) 35 | 36 | $(rel)/comment.o: $(rel)/comment.c 37 | $(rel)/delete.o: $(rel)/delete.c 38 | $(rel)/edit.o: $(rel)/edit.c 39 | $(rel)/info.o: $(rel)/info.c 40 | $(rel)/list.o: $(rel)/list.c 41 | $(rel)/load.o: $(rel)/load.c 42 | $(rel)/main.o: $(rel)/main.c 43 | $(rel)/main.o: $(rel)/merge.c 44 | $(rel)/new.o: $(rel)/new.c 45 | $(rel)/save.o: $(rel)/save.c 46 | $(rel)/reorder.o: $(rel)/reorder.c 47 | 48 | $(rel)/psi$(EXEEXT): $(PSI_OBJ_EXT) $(PSI_OBJ) 49 | $(QP)echo " LD $@" 50 | $(QR)$(LD) $(LDFLAGS_DEFAULT) -o $@ $(PSI_OBJ) $(PSI_OBJ_EXT) 51 | -------------------------------------------------------------------------------- /src/arch/dos/pce-dos.1: -------------------------------------------------------------------------------- 1 | .TH PCE-DOS 1 "2015-05-22" "HH" "pce" 2 | \ 3 | .SH NAME 4 | pce-dos \- DOS command line emulator 5 | \ 6 | .SH SYNOPSIS 7 | .BI pce-dos " [options] command [options]" 8 | \ 9 | .SH DESCRIPTION 10 | \fBpce-dos\fR(1) is a simple DOS command line emulator. It can run basic DOS 11 | command line programs from the host command line. 12 | \ 13 | .SH OPTIONS 14 | .TP 15 | .BI "-c, --command " command 16 | Set the DOS executable to run. The executable must be specified as a DOS 17 | path with the exception that slashes will be replaced by backslashes. 18 | \ 19 | .TP 20 | .BI "-d, --drive " "letter path" 21 | Attach a host path to a DOS drive letter. By default, the current 22 | directory is attached to the C drive. 23 | .TP 24 | .BI "-e, --setenv " string 25 | Add \fIstring\fR to the environment. Typically \fIstring\fR will be of the 26 | form name=value. 27 | .TP 28 | .B "-l, --log-int " 29 | Enable logging of interrupts. 30 | \ 31 | .TP 32 | .BI "-m, --memory " size 33 | Set the emulated memory size to \fIsize\fR KiB. The default is 640 KiB. This 34 | should be enough for everybody. 35 | \ 36 | .TP 37 | .B --help 38 | Print usage information 39 | \ 40 | .TP 41 | .B --version 42 | Print version information 43 | \ 44 | .SH SEE ALSO 45 | .BR pce-ibmpc (1) 46 | \ 47 | .SH AUTHOR 48 | Hampa Hug 49 | -------------------------------------------------------------------------------- /src/drivers/sound/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/sound/Makefile.inc 2 | 3 | rel := src/drivers/sound 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DRV_SND_BAS := filter sound sound-null sound-wav 9 | DRV_SND_NBAS := 10 | 11 | ifeq "$(PCE_ENABLE_SOUND_OSS)" "1" 12 | DRV_SND_BAS += sound-oss 13 | else 14 | DRV_SND_NBAS += sound-oss 15 | endif 16 | 17 | ifeq "$(PCE_ENABLE_SDL)" "1" 18 | DRV_SND_BAS += sound-sdl 19 | else 20 | DRV_SND_NBAS += sound-sdl 21 | endif 22 | 23 | DRV_SND_SRC := $(foreach f,$(DRV_SND_BAS),$(rel)/$(f).c) 24 | DRV_SND_NSRC := $(foreach f,$(DRV_SND_NBAS),$(rel)/$(f).c) 25 | DRV_SND_OBJ := $(foreach f,$(DRV_SND_BAS),$(rel)/$(f).o) 26 | DRV_SND_NOBJ := $(foreach f,$(DRV_SND_NBAS),$(rel)/$(f).o) 27 | DRV_SND_HDR := $(foreach f,$(DRV_SND_BAS),$(rel)/$(f).h) 28 | DRV_SND_NHDR := $(foreach f,$(DRV_SND_NBAS),$(rel)/$(f).h) 29 | DRV_SND_ARC := $(rel)/sound.a 30 | 31 | CLN += $(DRV_SND_OBJ) $(DRV_SND_NOBJ) $(DRV_SND_ARC) 32 | DIST += $(DRV_SND_SRC) $(DRV_SND_HDR) $(DRV_SND_NSRC) $(DRV_SND_NHDR) 33 | 34 | $(rel)/sound-sdl.o: $(rel)/sound-sdl.c 35 | $(QP)echo " CC $@" 36 | $(QR)$(CC) -c $(CFLAGS_DEFAULT) $(PCE_SDL_CFLAGS) -o $@ $< 37 | 38 | $(rel)/filter.o: $(rel)/filter.c 39 | $(rel)/sound.o: $(rel)/sound.c 40 | $(rel)/sound-null.o: $(rel)/sound-null.c 41 | $(rel)/sound-oss.o: $(rel)/sound-oss.c 42 | $(rel)/sound-wav.o: $(rel)/sound-wav.c 43 | 44 | $(rel)/sound.a: $(DRV_SND_OBJ) 45 | -------------------------------------------------------------------------------- /src/utils/pfi/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/pfi/Makefile.inc 2 | 3 | rel := src/utils/pfi 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | PFI_UTIL_BAS := \ 9 | comment \ 10 | decode \ 11 | delete \ 12 | encode \ 13 | fold \ 14 | info \ 15 | text \ 16 | track-edit \ 17 | main 18 | 19 | PFI_UTIL_SRC := $(foreach f,$(PFI_UTIL_BAS),$(rel)/$(f).c) 20 | PFI_UTIL_OBJ := $(foreach f,$(PFI_UTIL_BAS),$(rel)/$(f).o) 21 | PFI_UTIL_HDR := $(rel)/main.h 22 | PFI_UTIL_MAN1 := $(rel)/pfi.1 23 | PFI_UTIL_BIN := $(rel)/pfi$(EXEEXT) 24 | 25 | PFI_UTIL_OBJ_EXT := \ 26 | src/lib/ciff.o \ 27 | src/lib/endian.o \ 28 | src/lib/getopt.o \ 29 | $(DRV_PSI_OBJ) \ 30 | $(DRV_PRI_OBJ) \ 31 | $(DEV_PFI_OBJ) 32 | 33 | BIN += $(PFI_UTIL_BIN) 34 | MAN1 += $(PFI_UTIL_MAN1) 35 | CLN += $(PFI_UTIL_BIN) $(PFI_UTIL_OBJ) 36 | DIST += $(PFI_UTIL_SRC) $(PFI_UTIL_HDR) $(PFI_UTIL_MAN1) 37 | 38 | $(rel)/comment.o: $(rel)/comment.c 39 | $(rel)/decode.o: $(rel)/decode.c 40 | $(rel)/delete.o: $(rel)/delete.c 41 | $(rel)/encode.o: $(rel)/encode.c 42 | $(rel)/fold.o: $(rel)/fold.c 43 | $(rel)/info.o: $(rel)/info.c 44 | $(rel)/text.o: $(rel)/text.c 45 | $(rel)/track-edit.o: $(rel)/track-edit.c 46 | $(rel)/main.o: $(rel)/main.c 47 | 48 | $(rel)/pfi$(EXEEXT): $(PFI_UTIL_OBJ_EXT) $(PFI_UTIL_OBJ) 49 | $(QP)echo " LD $@" 50 | $(QR)$(LD) $(LDFLAGS_DEFAULT) -o $@ $(PFI_UTIL_OBJ) $(PFI_UTIL_OBJ_EXT) -lm 51 | -------------------------------------------------------------------------------- /src/arch/sims32/pce-sims32.cfg.in: -------------------------------------------------------------------------------- 1 | # pce-sims32.cfg 2 | # 3 | # Example config file 4 | 5 | section sims32 { 6 | section sparc32 { 7 | model = "sparc32" 8 | nwindows = 4 9 | } 10 | 11 | # Multiple "ram" sections may be present 12 | section ram { 13 | # The linear base address 14 | address = 0x00000000 15 | 16 | # The size in bytes 17 | size = 0x04000000 18 | 19 | # The RAM image that is used to initialize the RAM 20 | file = "linux.bin" 21 | } 22 | 23 | # Multiple "rom" sections may be present 24 | section rom { 25 | # The file from which the rom code is loaded 26 | file = "sims32.rom" 27 | 28 | # The linear base address 29 | address = 0xffff0000 30 | 31 | # The rom size in bytes 32 | size = 65536 33 | } 34 | 35 | # load sections are processed after the emulator is set up. 36 | section load { 37 | format = "ihex" 38 | file = "sims32.ihex" 39 | } 40 | 41 | section load { 42 | format = "binary" 43 | file = "rom.bin" 44 | address = 0xffff0000 45 | } 46 | 47 | # Up to two "serial" sections may be present. The first is 48 | # UART0, the second UART1. If the base addresses are changed, 49 | # linux won't find the UARTs 50 | section serial { 51 | address = 0xef600300 52 | irq = 0 53 | 54 | # The file that output is written to 55 | file = "current/uart0.out" 56 | } 57 | 58 | section serial { 59 | address = 0xef600400 60 | irq = 1 61 | file = "current/uart1.out" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/config.inc.in: -------------------------------------------------------------------------------- 1 | ;----------------------------------------------------------------------------- 2 | ; pce 3 | ;----------------------------------------------------------------------------- 4 | 5 | ;----------------------------------------------------------------------------- 6 | ; File name: src/config.inc.in 7 | ; Created: 2003-09-03 by Hampa Hug 8 | ; Copyright: (C) 2003-2022 Hampa Hug 9 | ;----------------------------------------------------------------------------- 10 | 11 | ;----------------------------------------------------------------------------- 12 | ; This program is free software. You can redistribute it and / or modify it 13 | ; under the terms of the GNU General Public License version 2 as published 14 | ; by the Free Software Foundation. 15 | ; 16 | ; This program is distributed in the hope that it will be useful, but 17 | ; WITHOUT ANY WARRANTY, without even the implied warranty of 18 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 19 | ; Public License for more details. 20 | ;----------------------------------------------------------------------------- 21 | 22 | 23 | %ifndef PCE_CONFIG_INC 24 | %define PCE_CONFIG_INC 1 25 | 26 | 27 | %define PCE_YEAR "2022" 28 | 29 | %define PCE_VERSION_MAJ @PCE_VERSION_MAJ@ 30 | %define PCE_VERSION_MIN @PCE_VERSION_MIN@ 31 | %define PCE_VERSION_MIC @PCE_VERSION_MIC@ 32 | %define PCE_VERSION_STR "@PCE_VERSION_STR@" 33 | 34 | 35 | %endif 36 | -------------------------------------------------------------------------------- /doc/pce-macplus.txt: -------------------------------------------------------------------------------- 1 | PCE/macplus - Macintosh Plus Emulator 2 | ============================================================================== 3 | 4 | PCE/macplus is a Macintosh Plus emulator. It emulates a Macintosh 128K, 5 | Macintosh 512k, Macintosh 512ke or a Macintosh Plus on Unix-like and Windows 6 | host operating systems. 7 | 8 | Emulated parts: 9 | 10 | Part Status 11 | 12 | CPU A complete MC68000 emulator. 13 | 14 | ROM An unmodified ROM image from a Macintosh Plus is needed. 15 | 16 | RAM Memory configurations of 128K, 512K, 1M, 2.5M and 4M are 17 | supported. 18 | 19 | Video Supported (512*342*2) 20 | 21 | Sound Not yet supported 22 | 23 | Floppy disks Supported by a custom driver. For this to work the ROM is 24 | patched at runtime. 25 | 26 | SCSI Up to 7 harddisks are supported 27 | 28 | Serial ports Supported 29 | 30 | Mouse Supported 31 | 32 | Keyboard Supported 33 | 34 | 35 | Configuration 36 | ============================================================================== 37 | 38 | PCE/macplus is configured by means of a config file. A documented example 39 | config file is installed in $(prefix)/etc/pce-macplus.cfg. 40 | 41 | 42 | Running PCE/macplus 43 | ============================================================================== 44 | 45 | After starting the emulator, pce/macplus is in command mode (unless the -r 46 | option was used). Type 'h' to get a short summary of the available 47 | commands. 48 | 49 | The 'g' command starts the simulation. It can be interrupted by 50 | pressing Ctrl-`. 51 | -------------------------------------------------------------------------------- /src/lib/endian.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/endian.c * 7 | * Created: 2022-02-12 by Hampa Hug * 8 | * Copyright: (C) 2022 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #include 24 | 25 | #include 26 | 27 | #include 28 | -------------------------------------------------------------------------------- /src/arch/dos/int10.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/dos/int10.h * 7 | * Created: 2013-01-02 by Hampa Hug * 8 | * Copyright: (C) 2013-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DOS_INT10_H 24 | #define PCE_DOS_INT10_H 1 25 | 26 | 27 | int sim_int10 (dos_t *sim); 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/arch/dos/int21.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/dos/int21.h * 7 | * Created: 2012-12-30 by Hampa Hug * 8 | * Copyright: (C) 2012-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DOS_INT21_H 24 | #define PCE_DOS_INT21_H 1 25 | 26 | 27 | int sim_int21 (dos_t *sim); 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/arch/sims32/sercons.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/sims32/sercons.h * 7 | * Created: 2004-09-28 by Hampa Hug * 8 | * Copyright: (C) 2004-2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_SIMS32_SERCONS_H 24 | #define PCE_SIMS32_SERCONS_H 1 25 | 26 | 27 | void scon_check (sims32_t *sim); 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/arch/sim405/pceutils/config.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: config.h * 7 | * Created: 2018-12-24 by Hampa Hug * 8 | * Copyright: (C) 2018 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCEUTILS_CONFIG_H 24 | #define PCEUTILS_CONFIG_H 1 25 | 26 | 27 | #define PCEUTILS_VERSION_STR "0.0.1" 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/drivers/video/font.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/video/font.h * 7 | * Created: 2003-09-15 by Hampa Hug * 8 | * Copyright: (C) 2003-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_TERMINAL_FONT_H 24 | #define PCE_TERMINAL_FONT_H 1 25 | 26 | 27 | extern unsigned char fnt_8x16[256 * 16]; 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/arch/dos/main.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/dos/main.h * 7 | * Created: 2012-12-30 by Hampa Hug * 8 | * Copyright: (C) 2012-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DOS_MAIN_H 24 | #define PCE_DOS_MAIN_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | extern const char *arg0; 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/macplus/traps.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/macplus/traps.h * 7 | * Created: 2007-11-22 by Hampa Hug * 8 | * Copyright: (C) 2007-2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MACPLUS_TRAPS_H 24 | #define PCE_MACPLUS_TRAPS_H 1 25 | 26 | 27 | const char *mac_get_trap_name (unsigned trap); 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/devices/video/mda_font.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/devices/video/mda_font.h * 7 | * Created: 2008-10-29 by Hampa Hug * 8 | * Copyright: (C) 2008-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIDEO_MDA_FONT_H 24 | #define PCE_VIDEO_MDA_FONT_H 1 25 | 26 | 27 | extern unsigned char mda_font_8x14[256 * 14]; 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/arch/atarist/msg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/atarist/msg.h * 7 | * Created: 2011-03-17 by Hampa Hug * 8 | * Copyright: (C) 2011-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_ATARIST_MSG_H 24 | #define PCE_ATARIST_MSG_H 1 25 | 26 | 27 | int st_set_msg (atari_st_t *sim, const char *msg, const char *val); 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/arch/dos/exec.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/dos/exec.h * 7 | * Created: 2012-12-31 by Hampa Hug * 8 | * Copyright: (C) 2012-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DOS_EXEC_H 24 | #define PCE_DOS_EXEC_H 1 25 | 26 | 27 | #include "dos.h" 28 | 29 | 30 | int sim_exec (dos_t *sim, const char *name); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/dos/int.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/dos/int.h * 7 | * Created: 2013-01-03 by Hampa Hug * 8 | * Copyright: (C) 2013-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DOS_INT_H 24 | #define PCE_DOS_INT_H 1 25 | 26 | 27 | #include "dos.h" 28 | 29 | 30 | void sim_int (dos_t *sim, unsigned char val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/utils/psi/info.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/info.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_INFO_H 24 | #define PSI_INFO_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_print_info (psi_img_t *img); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/cpm80/main.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/cpm80/main.h * 7 | * Created: 2012-11-28 by Hampa Hug * 8 | * Copyright: (C) 2012-2016 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_CPM80_MAIN_H 24 | #define PCE_CPM80_MAIN_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | void sim_log_deb (const char *msg, ...); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-tc.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-tc.h * 7 | * Created: 2011-08-18 by Hampa Hug * 8 | * Copyright: (C) 2011-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_TC_H 24 | #define PSI_IMG_TC_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_tc (FILE *fp); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/utils/psi/delete.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/delete.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_DELETE_H 24 | #define PSI_DELETE_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_delete_sectors (psi_img_t *img); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/ibmpc/msg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/ibmpc/msg.h * 7 | * Created: 2004-09-25 by Hampa Hug * 8 | * Copyright: (C) 2004-2010 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MSG_H 24 | #define PCE_MSG_H 1 25 | 26 | 27 | #include "ibmpc.h" 28 | 29 | 30 | int pc_set_msg (ibmpc_t *pc, const char *msg, const char *val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/lib/cfg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/cfg.h * 7 | * Created: 2019-01-06 by Hampa Hug * 8 | * Copyright: (C) 2019 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_LIB_CFG_H 24 | #define PCE_LIB_CFG_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int pce_load_config (ini_sct_t *ini, const char *fname); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/utils/psi/merge.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/merge.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_MERGE_H 24 | #define PSI_MERGE_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_merge_image (psi_img_t *img, const char *fname); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/cpm80/msg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/cpm80/msg.h * 7 | * Created: 2012-11-30 by Hampa Hug * 8 | * Copyright: (C) 2012-2016 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_CPM80_MSG_H 24 | #define PCE_CPM80_MSG_H 1 25 | 26 | 27 | #include "cpm80.h" 28 | 29 | 30 | int c80_set_msg (cpm80_t *sim, const char *msg, const char *val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/vic20/msg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/vic20/msg.h * 7 | * Created: 2020-04-18 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIC20_MSG_H 24 | #define PCE_vic20_MSG_H 1 25 | 26 | 27 | #include "vic20.h" 28 | 29 | 30 | int v20_set_msg (vic20_t *sim, const char *msg, const char *val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/rc759/msg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/rc759/msg.h * 7 | * Created: 2012-06-29 by Hampa Hug * 8 | * Copyright: (C) 2012 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_RC759_MSG_H 24 | #define PCE_RC759_MSG_H 1 25 | 26 | 27 | #include "rc759.h" 28 | 29 | 30 | int rc759_set_msg (rc759_t *sim, const char *msg, const char *val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /doc/pce-atarist.txt: -------------------------------------------------------------------------------- 1 | PCE/atarist - Atari ST Emulator 2 | ============================================================================== 3 | 4 | PCE/atarist is an Atari ST emulator. It emulates the various ST and Mega ST 5 | models on Unix-like and Windows host operating systems. 6 | 7 | Emulated parts: 8 | 9 | Part Status 10 | ------------------------------------------------------------------------------ 11 | 12 | CPU A complete MC68000 emulator. 13 | 14 | ROM An unmodified ROM image from an Atari ST is needed. Supported 15 | TOS versions are 1.00, 1.02, 1.04 and 2.06. 16 | 17 | RAM Up to 14 MiB of memory are supported. 18 | 19 | Video All 3 standard Atari ST video modes are supported. Special 20 | border effects, used by some demos and games, are not yet 21 | supported. 22 | 23 | Sound Not yet supported 24 | 25 | FDC Supported 26 | 27 | ACSI Up to 7 harddisks are supported. 28 | 29 | Serial port Supported 30 | 31 | Parallel port Supported 32 | 33 | Mouse Supported 34 | 35 | Keyboard Supported 36 | 37 | MIDI Output can be written to a standard MIDI file. 38 | 39 | 40 | Configuration 41 | ============================================================================== 42 | 43 | PCE/atarist is configured by means of a config file. A documented example 44 | config file is installed in $(prefix)/etc/pce-atarist.cfg. 45 | 46 | 47 | Running PCE/atarist 48 | ============================================================================== 49 | 50 | After starting the emulator, pce/atarist is in command mode (unless the -r 51 | option was used). Type 'h' to get a short summary of the available 52 | commands. 53 | 54 | The 'g' command starts the simulation. It can be interrupted by 55 | pressing Ctrl-`. 56 | -------------------------------------------------------------------------------- /src/arch/macplus/msg.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/macplus/msg.h * 7 | * Created: 2007-12-04 by Hampa Hug * 8 | * Copyright: (C) 2007-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MACPLUS_MSG_H 24 | #define PCE_MACPLUS_MSG_H 1 25 | 26 | 27 | #include "macplus.h" 28 | 29 | 30 | int mac_set_msg (macplus_t *sim, const char *msg, const char *val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/utils/psi/edit.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/edit.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_EDIT_H 24 | #define PSI_EDIT_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_edit_sectors (psi_img_t *img, const char *what, const char *val); 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/macplus/pcex/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/arch/macplus/pcex/Makefile.inc 2 | 3 | rel := src/arch/macplus/pcex 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | # ---------------------------------------------------------------------- 9 | 10 | MACX_CROSS := m68k-elf- 11 | 12 | MACX_CC := $(MACX_CROSS)gcc 13 | MACX_LD := $(MACX_CROSS)ld 14 | MACX_OC := $(MACX_CROSS)objcopy 15 | 16 | MACX_CFLAGS = -m68000 17 | 18 | MACX_ADDR := 0xf80000 19 | 20 | # ---------------------------------------------------------------------- 21 | 22 | PCE_MACPLUS_PCEX_SRC := $(rel)/pcex.S 23 | PCE_MACPLUS_PCEX_OBJ := $(rel)/pcex.o 24 | PCE_MACPLUS_PCEX_ELF := $(rel)/pcex.elf 25 | PCE_MACPLUS_PCEX_ROM := $(rel)/pcex.rom 26 | PCE_MACPLUS_PCEX_BIN := $(rel)/macplus-pcex.rom 27 | PCE_MACPLUS_PCEX_CLN := pcex.o pcex.elf macplus-pcex.rom 28 | 29 | CLN += $(foreach f,$(PCE_MACPLUS_PCEX_CLN),$(rel)/$(f)) 30 | DIST += $(PCE_MACPLUS_PCEX_SRC) $(PCE_MACPLUS_PCEX_ROM) 31 | 32 | ifeq "$(PCE_BUILD_MACPLUS)" "1" 33 | TARGETS += $(PCE_MACPLUS_PCEX_BIN) 34 | SHARE_MACPLUS += $(PCE_MACPLUS_PCEX_BIN) 35 | endif 36 | 37 | 38 | ifeq "$(PCE_BUILD_MACPLUS_ROM)" "1" 39 | $(rel)/macplus-pcex.rom: $(rel)/pcex.S 40 | $(QP)echo " CC68 $(PCE_MACPLUS_PCEX_OBJ)" 41 | $(QR)$(MACX_CC) $(MACX_CFLAGS) -c -o $(PCE_MACPLUS_PCEX_OBJ) $< 42 | 43 | $(QP)echo " LD68 $(PCE_MACPLUS_PCEX_ELF)" 44 | $(QR)$(MACX_LD) --entry=0 -Ttext $(MACX_ADDR) -o $(PCE_MACPLUS_PCEX_ELF) $(PCE_MACPLUS_PCEX_OBJ) 45 | 46 | $(QP)echo " OC68 $(PCE_MACPLUS_PCEX_ROM)" 47 | $(QR)$(MACX_OC) --output-target binary $(PCE_MACPLUS_PCEX_ELF) $@ 48 | $(QR)chmod 644 $@ 49 | else 50 | $(rel)/macplus-pcex.rom: $(rel)/pcex.rom 51 | $(QP)echo " CAT $@" 52 | $(QR)cat $< > $@ 53 | endif 54 | -------------------------------------------------------------------------------- /src/devices/video/cga_font.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/devices/video/cga_font.h * 7 | * Created: 2008-10-29 by Hampa Hug * 8 | * Copyright: (C) 2008-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIDEO_CGA_FONT_H 24 | #define PCE_VIDEO_CGA_FONT_H 1 25 | 26 | 27 | extern unsigned char cga_font_thick[256 * 8]; 28 | extern unsigned char cga_font_thin[8 * 256]; 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/drivers/video/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/video/Makefile.inc 2 | 3 | rel := src/drivers/video 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DRV_TRM_BAS := font keys null terminal 9 | DRV_TRM_NBAS := 10 | 11 | ifeq "$(PCE_ENABLE_X11)" "1" 12 | DRV_TRM_BAS += x11 13 | else 14 | DRV_TRM_NBAS += x11 15 | endif 16 | 17 | ifeq "$(PCE_ENABLE_SDL1)" "1" 18 | DRV_TRM_BAS += sdl 19 | else 20 | DRV_TRM_NBAS += sdl 21 | endif 22 | 23 | ifeq "$(PCE_ENABLE_SDL2)" "1" 24 | DRV_TRM_BAS += sdl2 25 | else 26 | DRV_TRM_NBAS += sdl2 27 | endif 28 | 29 | DRV_TRM_SRC := $(foreach f,$(DRV_TRM_BAS),$(rel)/$(f).c) 30 | DRV_TRM_NSRC := $(foreach f,$(DRV_TRM_NBAS),$(rel)/$(f).c) 31 | DRV_TRM_OBJ := $(foreach f,$(DRV_TRM_BAS),$(rel)/$(f).o) 32 | DRV_TRM_NOBJ := $(foreach f,$(DRV_TRM_NBAS),$(rel)/$(f).o) 33 | DRV_TRM_HDR := $(foreach f,$(DRV_TRM_BAS),$(rel)/$(f).h) 34 | DRV_TRM_NHDR := $(foreach f,$(DRV_TRM_NBAS),$(rel)/$(f).h) 35 | DRV_TRM_ARC := $(rel)/terminal.a 36 | 37 | CLN += $(DRV_TRM_ARC) $(DRV_TRM_OBJ) $(DRV_TRM_NOBJ) 38 | DIST += $(DRV_TRM_SRC) $(DRV_TRM_HDR) $(DRV_TRM_NSRC) $(DRV_TRM_NHDR) 39 | 40 | $(rel)/x11.o: $(rel)/x11.c 41 | $(QP)echo " CC $@" 42 | $(QR)$(CC) -c $(CFLAGS_DEFAULT) $(PCE_X11_CFLAGS) -o $@ $< 43 | 44 | $(rel)/sdl.o: $(rel)/sdl.c 45 | $(QP)echo " CC $@" 46 | $(QR)$(CC) -c $(CFLAGS_DEFAULT) $(PCE_SDL_CFLAGS) -o $@ $< 47 | 48 | $(rel)/sdl2.o: $(rel)/sdl2.c 49 | $(QP)echo " CC $@" 50 | $(QR)$(CC) -c $(CFLAGS_DEFAULT) $(PCE_SDL_CFLAGS) -o $@ $< 51 | 52 | $(rel)/font.o: $(rel)/font.c 53 | $(rel)/keys.o: $(rel)/keys.c 54 | $(rel)/null.o: $(rel)/null.c 55 | $(rel)/term-old.o: $(rel)/term-old.c 56 | $(rel)/terminal.o: $(rel)/terminal.c 57 | 58 | $(rel)/terminal.a: $(DRV_TRM_OBJ) 59 | -------------------------------------------------------------------------------- /src/utils/psi/list.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/list.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_LIST_H 24 | #define PSI_LIST_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_list_sectors (psi_img_t *img); 31 | int psi_list_tracks (psi_img_t *img); 32 | 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/arch/macplus/iwm-io.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/macplus/iwm-io.h * 7 | * Created: 2012-01-16 by Hampa Hug * 8 | * Copyright: (C) 2012 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MACPLUS_IWM_IO_H 24 | #define PCE_MACPLUS_IWM_IO_H 1 25 | 26 | 27 | #include "iwm.h" 28 | 29 | 30 | int iwm_drv_load (mac_iwm_drive_t *drv); 31 | 32 | int iwm_drv_save (mac_iwm_drive_t *drv); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/drivers/char/char-null.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/char/char-null.h * 7 | * Created: 2009-03-10 by Hampa Hug * 8 | * Copyright: (C) 2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_CHAR_NULL_H 24 | #define PCE_DRIVERS_CHAR_NULL_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | typedef struct char_null_t { 31 | char_drv_t cdrv; 32 | } char_null_t; 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/arch/macplus/hook.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/macplus/hook.h * 7 | * Created: 2007-12-04 by Hampa Hug * 8 | * Copyright: (C) 2007-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MACPLUS_HOOK_H 24 | #define PCE_MACPLUS_HOOK_H 1 25 | 26 | 27 | #include "macplus.h" 28 | 29 | 30 | void mac_hook_skip (macplus_t *sim, unsigned cnt); 31 | 32 | int mac_hook (void *ext, unsigned val); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/arch/macplus/hotkey.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/macplus/hotkey.h * 7 | * Created: 2010-11-05 by Hampa Hug * 8 | * Copyright: (C) 2010-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MACPLUS_HOTKEY_H 24 | #define PCE_MACPLUS_HOTKEY_H 1 25 | 26 | 27 | #include "macplus.h" 28 | 29 | #include 30 | 31 | 32 | int mac_set_hotkey (macplus_t *sim, pce_key_t key); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-cp2.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-cp2.h * 7 | * Created: 2010-10-26 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_CP2_H 24 | #define PSI_IMG_CP2_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_cp2 (FILE *fp); 31 | 32 | int psi_save_cp2 (FILE *fp, const psi_img_t *img); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-xdf.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-xdf.h * 7 | * Created: 2012-06-24 by Hampa Hug * 8 | * Copyright: (C) 2012-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_XDF_H 24 | #define PSI_IMG_XDF_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_xdf (FILE *fp); 31 | 32 | int psi_save_xdf (FILE *fp, const psi_img_t *img); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /doc/pbit-format.txt: -------------------------------------------------------------------------------- 1 | PBIT File Format (Version 0) 2 | ============================ 3 | 4 | All integers are in big-endian format. 5 | 6 | 7 | File structure 8 | -------------- 9 | 10 | 11 | 12 | [] 13 | 14 | For each track: 15 | 16 | [other chunks] 17 | [] 18 | 19 | 20 | 21 | 22 | File header chunk 23 | ----------------- 24 | 25 | 0 4 Magic ('PBIT') 26 | 4 4 Size (8) 27 | 8 4 Version (0) 28 | 12 4 File flags 29 | 16 4 CRC 30 | 31 | 32 | Comment chunk 33 | ------------- 34 | 35 | 0 4 Magic ('TEXT') 36 | 4 4 Size (n) 37 | 8 n Data 38 | 8+n 4 CRC 39 | 40 | 41 | Track header chunk 42 | ------------------ 43 | 44 | 0 4 Magic ('TRAK') 45 | 4 4 Size (20) 46 | 8 4 Cylinder 47 | 12 4 Head 48 | 16 4 Track length in bits 49 | 20 4 Bit clock rate 50 | 24 4 Track flags 51 | 28 4 CRC 52 | 53 | 54 | Track data chunk 55 | ---------------- 56 | 57 | 0 4 Magic ('DATA') 58 | 4 4 Size (n) 59 | 8 n Track data 60 | n+8 4 CRC 61 | 62 | 63 | End chunk 64 | --------- 65 | 66 | 0 4 Magic ('END ') 67 | 4 4 Size (0) 68 | 8 4 CRC (0x3d64af78) 69 | 70 | 71 | CRC 72 | --- 73 | 74 | - The algorithm used is big-endian CRC-32C with generator 75 | polynomial 0x1edc6f41. The CRC value is initialized to 0. 76 | 77 | unsigned long pbit_crc (const unsigned char *src, unsigned cnt) 78 | { 79 | unsigned i, j; 80 | unsigned long crc; 81 | 82 | crc = 0; 83 | 84 | for (i = 0; i < cnt; i++) { 85 | crc ^= (unsigned long) (src[i] & 0xff) << 24; 86 | 87 | for (j = 0; j < 8; j++) { 88 | if (crc & 0x80000000) { 89 | crc = (crc << 1) ^ 0x1edc6f41; 90 | } 91 | else { 92 | crc = crc << 1; 93 | } 94 | } 95 | } 96 | 97 | return (crc & 0xffffffff); 98 | } 99 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-ana.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-ana.h * 7 | * Created: 2010-08-13 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_ANA_H 24 | #define PSI_IMG_ANA_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_anadisk (FILE *fp); 31 | 32 | int psi_save_anadisk (FILE *fp, const psi_img_t *img); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/drivers/sound/sound-null.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/sound/sound-null.h * 7 | * Created: 2009-10-17 by Hampa Hug * 8 | * Copyright: (C) 2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_SOUND_NULL_H 24 | #define PCE_DRIVERS_SOUND_NULL_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | typedef struct sound_null_t { 31 | sound_drv_t sdrv; 32 | } sound_null_t; 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/lib/initerm.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/initerm.h * 7 | * Created: 2008-10-21 by Hampa Hug * 8 | * Copyright: (C) 2008-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_LIB_INITERM_H 24 | #define PCE_LIB_INITERM_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | 32 | terminal_t *ini_get_terminal (ini_sct_t *ini, const char *def); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/utils/pti/ops.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/pti/ops.h * 7 | * Created: 2020-04-30 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PTI_OPS_H 24 | #define PTI_OPS_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int pti_cat (pti_img_t **img, const char *fname); 31 | 32 | int pti_operation (pti_img_t **img, const char *op, int argc, char **argv); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-mac.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-mac.h * 7 | * Created: 2015-04-11 by Hampa Hug * 8 | * Copyright: (C) 2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_MAC_H 24 | #define PSI_IMG_MAC_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_mac (FILE *fp); 31 | 32 | int psi_probe_mac_fp (FILE *fp); 33 | int psi_probe_mac (const char *fname); 34 | 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/devices/video/olivetti_font.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/devices/video/olivetti_font.h * 7 | * Created: 2017-08-10 by Hampa Hug * 8 | * Copyright: (C) 2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIDEO_OLIVETTI_FONT_H 24 | #define PCE_VIDEO_OLIVETTI_FONT_H 1 25 | 26 | 27 | extern unsigned char m24_font[256 * 16]; 28 | 29 | extern unsigned char m24_scrambler_p2[4096]; 30 | extern unsigned char m24_scrambler_p3[4096]; 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/arch/sim405/hook.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/sim405/hook.h * 7 | * Created: 2018-12-22 by Hampa Hug * 8 | * Copyright: (C) 2018 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_SIM405_HOOK_H 24 | #define PCE_SIM405_HOOK_H 1 25 | 26 | 27 | #include "sim405.h" 28 | 29 | 30 | void s405_hook_init (sim405_t *sim); 31 | void s405_hook_free (sim405_t *sim); 32 | 33 | void s405_hook (sim405_t *sim, unsigned long ir); 34 | 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/arch/dos/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/arch/dos/Makefile.inc 2 | 3 | rel := src/arch/dos 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | # ---------------------------------------------------------------------- 9 | 10 | PCE_DOS_CFLAGS := $(CFLAGS_DEFAULT) 11 | PCE_DOS_LDFLAGS := $(LDFLAGS_DEFAULT) 12 | PCE_DOS_LIBS := $(LIBS) 13 | 14 | ifeq "$(PCE_HOST_WINDOWS)" "1" 15 | PCE_DOS_LIBS += -mconsole 16 | endif 17 | 18 | $(rel)/%.o: $(rel)/%.c 19 | $(QP)echo " CC $@" 20 | $(QR)$(CC) -c $(PCE_DOS_CFLAGS) -o $@ $< 21 | 22 | # ---------------------------------------------------------------------- 23 | 24 | PCE_DOS_BAS := \ 25 | dos \ 26 | dosmem \ 27 | exec \ 28 | int \ 29 | int10 \ 30 | int21 \ 31 | main \ 32 | path 33 | 34 | PCE_DOS_SRC := $(foreach f,$(PCE_DOS_BAS),$(rel)/$(f).c) 35 | PCE_DOS_OBJ := $(foreach f,$(PCE_DOS_BAS),$(rel)/$(f).o) 36 | PCE_DOS_HDR := $(foreach f,$(PCE_DOS_BAS),$(rel)/$(f).h) 37 | PCE_DOS_MAN1 := $(rel)/pce-dos.1 38 | PCE_DOS_BIN := $(rel)/pce-dos$(EXEEXT) 39 | 40 | PCE_DOS_OBJ_EXT := \ 41 | src/lib/getopt.o \ 42 | src/lib/sysdep.o \ 43 | $(CPU_8086_OBJ) 44 | 45 | #ifeq "$(PCE_BUILD_DOS)" "1" 46 | BIN += $(PCE_DOS_BIN) 47 | MAN1 += $(PCE_DOS_MAN1) 48 | #endif 49 | 50 | CLN += $(PCE_DOS_BIN) $(PCE_DOS_OBJ) 51 | DIST += $(PCE_DOS_SRC) $(PCE_DOS_HDR) $(PCE_DOS_MAN1) 52 | 53 | $(rel)/dos.o: $(rel)/dos.c 54 | $(rel)/dosmem.o: $(rel)/dosmem.c 55 | $(rel)/exec.o: $(rel)/exec.c 56 | $(rel)/int.o: $(rel)/int.c 57 | $(rel)/int10.o: $(rel)/int10.c 58 | $(rel)/int21.o: $(rel)/int21.c 59 | $(rel)/main.o: $(rel)/main.c 60 | $(rel)/path.o: $(rel)/path.c 61 | 62 | $(rel)/pce-dos$(EXEEXT): $(PCE_DOS_OBJ_EXT) $(PCE_DOS_OBJ) 63 | $(QP)echo " LD $@" 64 | $(QR)$(LD) $(PCE_DOS_LDFLAGS) -o $@ $(PCE_DOS_OBJ) $(PCE_DOS_OBJ_EXT) $(PCE_DOS_LIBS) -lm 65 | -------------------------------------------------------------------------------- /src/arch/rc759/main.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/rc759/main.h * 7 | * Created: 2012-06-29 by Hampa Hug * 8 | * Copyright: (C) 2012-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_RC759_MAIN_H 24 | #define PCE_RC759_MAIN_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | extern const char *par_terminal; 31 | extern const char *par_video; 32 | 33 | 34 | void sim_stop (void); 35 | 36 | void sim_log_deb (const char *msg, ...); 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/utils/psi/new.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/new.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013-2018 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_NEW_H 24 | #define PSI_NEW_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_new (psi_img_t **img); 31 | 32 | psi_img_t *psi_new_image (const char *type, const char *size); 33 | 34 | int psi_regular (psi_img_t **img, const char *def); 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/arch/vic20/setup.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/vic20/setup.h * 7 | * Created: 2020-04-19 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIC20_SETUP_H 24 | #define PCE_VIC20_SETUP_H 1 25 | 26 | 27 | #include 28 | 29 | #include "vic20.h" 30 | 31 | 32 | void v20_setup_keybd (vic20_t *sim, ini_sct_t *ini); 33 | 34 | vic20_t *v20_new (ini_sct_t *ini); 35 | 36 | void v20_del (vic20_t *sim); 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/utils/psi/load.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/load.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_LOAD_H 24 | #define PSI_LOAD_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_load_sectors (psi_img_t *img, const char *fname); 31 | int psi_load_weak (psi_img_t *img, const char *fname); 32 | int psi_load_tags (psi_img_t *img, const char *fname); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/utils/psi/save.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/save.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_SAVE_H 24 | #define PSI_SAVE_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_save_sectors (psi_img_t *img, const char *fname); 31 | int psi_save_weak (psi_img_t *img, const char *fname); 32 | int psi_save_tags (psi_img_t *img, const char *fname); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/devices/video/wy700_font.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/devices/video/wy700_font.h * 7 | * Created: 2008-10-29 by Hampa Hug * 8 | * Copyright: (C) 2008-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIDEO_WY700_FONT_H 24 | #define PCE_VIDEO_WY700_FONT_H 1 25 | 26 | 27 | /* 28 | * Wyse 700 thick font 29 | */ 30 | extern unsigned char wy700_font_thick[256 * 32]; 31 | 32 | /* 33 | * Wyse 700 thin font 34 | */ 35 | extern unsigned char wy700_font_thin[256 * 32]; 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/pfi/pfi-a2r.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pfi/pfi-a2r.h * 7 | * Created: 2019-06-18 by Hampa Hug * 8 | * Copyright: (C) 2019 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PFI_IMG_A2R_H 24 | #define PFI_IMG_A2R_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pfi_img_t *pfi_load_a2r (FILE *fp); 31 | 32 | int pfi_save_a2r (FILE *fp, pfi_img_t *img); 33 | 34 | int pfi_probe_a2r_fp (FILE *fp); 35 | int pfi_probe_a2r (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/pfi/pfi-scp.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pfi/pfi-scp.h * 7 | * Created: 2014-01-30 by Hampa Hug * 8 | * Copyright: (C) 2014-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PFI_IMG_SCP_H 24 | #define PFI_IMG_SCP_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pfi_img_t *pfi_load_scp (FILE *fp); 31 | 32 | int pfi_save_scp (FILE *fp, pfi_img_t *img); 33 | 34 | int pfi_probe_scp_fp (FILE *fp); 35 | int pfi_probe_scp (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/lib/stdint/stdint.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/stdint/stdint.h * 7 | * Created: 2005-07-11 by Hampa Hug * 8 | * Copyright: (C) 2005-2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_LIB_STDINT_H 24 | #define PCE_LIB_STDINT_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | #ifdef HAVE_INTTYPES_H 31 | #include 32 | #else 33 | typedef unsigned char uint8_t; 34 | typedef unsigned short uint16_t; 35 | typedef unsigned long uint32_t; 36 | #endif 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/drivers/char/char-tios.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/char/char-tios.h * 7 | * Created: 2009-03-06 by Hampa Hug * 8 | * Copyright: (C) 2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_CHAR_TIOS_H 24 | #define PCE_DRIVERS_CHAR_TIOS_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | 32 | typedef struct char_tios_t { 33 | char_drv_t cdrv; 34 | 35 | char *fname; 36 | 37 | int fd; 38 | } char_tios_t; 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/arch/sims32/cmd_s32.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/sims32/cmd_s32.h * 7 | * Created: 2004-09-28 by Hampa Hug * 8 | * Copyright: (C) 2004-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | void ss32_dasm_str (char *dst, s32_dasm_t *op); 24 | 25 | void ss32_prt_state_cpu (sparc32_t *c, FILE *fp); 26 | void ss32_prt_state_mem (sims32_t *sim, FILE *fp); 27 | 28 | void ss32_run (sims32_t *sim); 29 | 30 | int ss32_do_cmd (sims32_t *sim, cmd_t *cmd); 31 | 32 | void ss32_cmd_init (sims32_t *sim, monitor_t *mon); 33 | -------------------------------------------------------------------------------- /src/drivers/pfi/pfi-pfi.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pfi/pfi-pfi.h * 7 | * Created: 2013-12-26 by Hampa Hug * 8 | * Copyright: (C) 2013-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PFI_IMG_PFI_H 24 | #define PFI_IMG_PFI_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pfi_img_t *pfi_load_pfi (FILE *fp); 31 | 32 | int pfi_save_pfi (FILE *fp, const pfi_img_t *img); 33 | 34 | int pfi_probe_pfi_fp (FILE *fp); 35 | int pfi_probe_pfi (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-imd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-imd.h * 7 | * Created: 2010-08-14 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_IMD_H 24 | #define PSI_IMG_IMD_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_imd (FILE *fp); 31 | 32 | int psi_save_imd (FILE *fp, const psi_img_t *img); 33 | 34 | int psi_probe_imd_fp (FILE *fp); 35 | int psi_probe_imd (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-msa.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-msa.h * 7 | * Created: 2013-06-03 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_MSA_H 24 | #define PSI_IMG_MSA_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_msa (FILE *fp); 31 | 32 | int psi_save_msa (FILE *fp, const psi_img_t *img); 33 | 34 | int psi_probe_msa_fp (FILE *fp); 35 | int psi_probe_msa (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-psi.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-psi.h * 7 | * Created: 2013-05-29 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_PSI_H 24 | #define PSI_IMG_PSI_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_psi (FILE *fp); 31 | 32 | int psi_save_psi (FILE *fp, const psi_img_t *img); 33 | 34 | int psi_probe_psi_fp (FILE *fp); 35 | int psi_probe_psi (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-td0.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-td0.h * 7 | * Created: 2010-09-04 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_TD0_H 24 | #define PSI_IMG_TD0_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_td0 (FILE *fp); 31 | 32 | int psi_save_td0 (FILE *fp, const psi_img_t *img); 33 | 34 | int psi_probe_td0_fp (FILE *fp); 35 | int psi_probe_td0 (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/pri/pri-img-tc.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pri/pri-img-tc.h * 7 | * Created: 2012-02-01 by Hampa Hug * 8 | * Copyright: (C) 2012-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_PRI_IMG_TC_H 24 | #define PCE_PRI_IMG_TC_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pri_img_t *pri_load_tc (FILE *fp); 31 | 32 | int pri_save_tc (FILE *fp, const pri_img_t *img); 33 | 34 | int pri_probe_tc_fp (FILE *fp); 35 | int pri_probe_tc (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/arch/ibmpc/int13.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/ibmpc/int13.h * 7 | * Created: 2003-04-14 by Hampa Hug * 8 | * Copyright: (C) 2003-2022 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_INT13_H 24 | #define PCE_INT13_H 1 25 | 26 | 27 | #include "ibmpc.h" 28 | 29 | #include 30 | #include 31 | 32 | 33 | int pc_int13_check (ibmpc_t *pc); 34 | 35 | void dsk_int_13_check (ibmpc_t *pc); 36 | 37 | void dsk_int13 (disks_t *dsks, e8086_t *cpu); 38 | 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/drivers/pri/pri-img-pri.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pri/pri-img-pri.h * 7 | * Created: 2012-01-31 by Hampa Hug * 8 | * Copyright: (C) 2012-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_PRI_IMG_PRI_H 24 | #define PCE_PRI_IMG_PRI_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pri_img_t *pri_load_pri (FILE *fp); 31 | 32 | int pri_save_pri (FILE *fp, const pri_img_t *img); 33 | 34 | int pri_probe_pri_fp (FILE *fp); 35 | int pri_probe_pfdc (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/pri/pri-img-woz.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pri/pri-img-woz.h * 7 | * Created: 2019-06-19 by Hampa Hug * 8 | * Copyright: (C) 2019 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_PRI_IMG_WOZ_H 24 | #define PCE_PRI_IMG_WOZ_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pri_img_t *pri_load_woz (FILE *fp); 31 | 32 | int pri_save_woz (FILE *fp, const pri_img_t *img); 33 | 34 | int pri_probe_woz_fp (FILE *fp); 35 | int pri_probe_woz (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-dc42.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-dc42.h * 7 | * Created: 2011-07-09 by Hampa Hug * 8 | * Copyright: (C) 2011-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_DC42_H 24 | #define PSI_IMG_DC42_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | psi_img_t *psi_load_dc42 (FILE *fp); 31 | 32 | int psi_save_dc42 (FILE *fp, const psi_img_t *img); 33 | 34 | int psi_probe_dc42_fp (FILE *fp); 35 | int psi_probe_dc42 (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/pri/pri-img-pbit.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pri/pri-img-pbit.h * 7 | * Created: 2012-01-31 by Hampa Hug * 8 | * Copyright: (C) 2012-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_PRI_IMG_PBIT_H 24 | #define PCE_PRI_IMG_PBIT_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pri_img_t *pri_load_pbit (FILE *fp); 31 | 32 | int pri_save_pbit (FILE *fp, const pri_img_t *img); 33 | 34 | int pri_probe_pbit_fp (FILE *fp); 35 | int pri_probe_pfdc (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/lib/tun.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/tun.h * 7 | * Created: 2004-12-15 by Hampa Hug * 8 | * Copyright: (C) 2004-2012 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_LIB_TUN_H 24 | #define PCE_LIB_TUN_H 1 25 | 26 | 27 | int tun_open (const char *name); 28 | int tap_open (const char *name); 29 | void tun_close (int fd); 30 | int tun_set_packet (int fd, const void *buf, unsigned cnt); 31 | int tun_get_packet (int fd, void *buf, unsigned *cnt); 32 | int tun_check_packet (int fd); 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/drivers/char/char-pty.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/char/char-pty.h * 7 | * Created: 2009-03-08 by Hampa Hug * 8 | * Copyright: (C) 2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_CHAR_PTY_H 24 | #define PCE_DRIVERS_CHAR_PTY_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | 32 | typedef struct char_pty_t { 33 | char_drv_t cdrv; 34 | 35 | int fd; 36 | 37 | char *ptsname; 38 | char *symlink; 39 | } char_pty_t; 40 | 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /src/arch/vic20/main.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/vic20/main.h * 7 | * Created: 2020-04-18 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIC20_MAIN_H 24 | #define PCE_VIC20_MAIN_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | #define V20_CPU_SYNC 100 31 | 32 | 33 | extern int par_verbose; 34 | 35 | extern const char *par_terminal; 36 | 37 | extern struct vic20_s *par_sim; 38 | 39 | 40 | void sim_log_deb (const char *msg, ...); 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/drivers/pti/pti-img-cas.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pti/pti-img-cas.h * 7 | * Created: 2020-04-27 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PTI_IMG_CAS_H 24 | #define PTI_IMG_CAS_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pti_img_t *pti_load_cas (FILE *fp, unsigned long clock); 31 | 32 | int pti_save_cas (FILE *fp, const pti_img_t *img); 33 | 34 | int pti_probe_cas_fp (FILE *fp); 35 | int pti_probe_cas (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/pti/pti-img-tap.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pti/pti-img-tap.h * 7 | * Created: 2020-04-25 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PTI_IMG_TAP_H 24 | #define PTI_IMG_TAP_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pti_img_t *pti_load_tap (FILE *fp, unsigned long clock); 31 | 32 | int pti_save_tap (FILE *fp, const pti_img_t *img); 33 | 34 | int pti_probe_tap_fp (FILE *fp); 35 | int pti_probe_tap (const char *fname); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/drivers/sound/sound-oss.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/sound/sound-oss.h * 7 | * Created: 2009-10-17 by Hampa Hug * 8 | * Copyright: (C) 2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_SOUND_OSS_H 24 | #define PCE_DRIVERS_SOUND_OSS_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | typedef struct sound_oss_t { 31 | sound_drv_t sdrv; 32 | 33 | int sign; 34 | int big_endian; 35 | 36 | char *dev; 37 | int fd; 38 | } sound_oss_t; 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/utils/pri/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/utils/pri/Makefile.inc 2 | 3 | rel := src/utils/pri 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | PRI_BAS := \ 9 | comment \ 10 | decode \ 11 | delete \ 12 | edit \ 13 | encode \ 14 | event \ 15 | info \ 16 | list \ 17 | merge \ 18 | new \ 19 | pri-mac-gcr \ 20 | rotate \ 21 | text-ibm-fm \ 22 | text-ibm-mfm \ 23 | text-mac-gcr \ 24 | text-raw \ 25 | text \ 26 | weak \ 27 | main 28 | 29 | PRI_SRC := $(foreach f,$(PRI_BAS),$(rel)/$(f).c) 30 | PRI_OBJ := $(foreach f,$(PRI_BAS),$(rel)/$(f).o) 31 | PRI_HDR := $(rel)/main.h $(rel)/pri-mac-gcr.h $(rel)/text.h 32 | PRI_MAN1 := $(rel)/pri.1 33 | PRI_BIN := $(rel)/pri$(EXEEXT) 34 | 35 | PRI_OBJ_EXT := \ 36 | src/lib/getopt.o \ 37 | src/lib/sysdep.o \ 38 | $(DRV_PSI_OBJ) \ 39 | $(DRV_PRI_OBJ) 40 | 41 | BIN += $(PRI_BIN) 42 | MAN1 += $(PRI_MAN1) 43 | CLN += $(PRI_BIN) $(PRI_OBJ) 44 | DIST += $(PRI_SRC) $(PRI_HDR) $(PRI_MAN1) 45 | 46 | $(rel)/comment.o: $(rel)/comment.c 47 | $(rel)/decode.o: $(rel)/decode.c 48 | $(rel)/delete.o: $(rel)/delete.c 49 | $(rel)/edit.o: $(rel)/edit.c 50 | $(rel)/encode.o: $(rel)/encode.c 51 | $(rel)/event.o: $(rel)/event.c 52 | $(rel)/info.o: $(rel)/info.c 53 | $(rel)/list.o: $(rel)/list.c 54 | $(rel)/merge.o: $(rel)/merge.c 55 | $(rel)/new.o: $(rel)/new.c 56 | $(rel)/pri-mac-gcr.o: $(rel)/pri-mac-gcr.c 57 | $(rel)/rotate.o: $(rel)/rotate.c 58 | $(rel)/text-ibm-fm.o: $(rel)/text-ibm-fm.c 59 | $(rel)/text-ibm-mfm.o: $(rel)/text-ibm-mfm.c 60 | $(rel)/text-mac-gcr.o: $(rel)/text-mac-gcr.c 61 | $(rel)/text-raw.o: $(rel)/text-raw.c 62 | $(rel)/text.o: $(rel)/text.c 63 | $(rel)/weak.o: $(rel)/weak.c 64 | $(rel)/main.o: $(rel)/main.c 65 | 66 | $(rel)/pri$(EXEEXT): $(PRI_OBJ_EXT) $(PRI_OBJ) 67 | $(QP)echo " LD $@" 68 | $(QR)$(LD) $(LDFLAGS_DEFAULT) -o $@ $(PRI_OBJ) $(PRI_OBJ_EXT) 69 | -------------------------------------------------------------------------------- /src/drivers/pti/pti-img-pti.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pti/pti-img-pti.h * 7 | * Created: 2020-04-25 by Hampa Hug * 8 | * Copyright: (C) 2020-2022 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PTI_IMG_PTI_H 24 | #define PTI_IMG_PTI_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | 32 | pti_img_t *pti_load_pti (FILE *fp); 33 | 34 | int pti_save_pti (FILE *fp, const pti_img_t *img); 35 | 36 | int pti_probe_pti_fp (FILE *fp); 37 | int pti_probe_pti (const char *fname); 38 | 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/drivers/char/char-wincom.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/char/char-wincom.h * 7 | * Created: 2009-03-07 by Hampa Hug * 8 | * Copyright: (C) 2009-2015 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_CHAR_WINCOM_H 24 | #define PCE_DRIVERS_CHAR_WINCOM_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | #include 32 | 33 | 34 | typedef struct char_wincom_t { 35 | char_drv_t cdrv; 36 | 37 | char *fname; 38 | 39 | HANDLE h; 40 | } char_wincom_t; 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-stx.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-stx.h * 7 | * Created: 2013-06-06 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_STX_H 24 | #define PSI_IMG_STX_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | extern char par_stx_dump_tracks; 31 | 32 | 33 | psi_img_t *psi_load_stx (FILE *fp); 34 | 35 | int psi_save_stx (FILE *fp, const psi_img_t *img); 36 | 37 | int psi_probe_stx_fp (FILE *fp); 38 | int psi_probe_stx (const char *fname); 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/utils/psi/reorder.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/reorder.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_REORDER_H 24 | #define PSI_REORDER_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_interleave_tracks (psi_img_t *img, unsigned il); 31 | int psi_reorder_tracks (psi_img_t *img, const char *order); 32 | int psi_rotate_tracks (psi_img_t *img, unsigned first); 33 | int psi_sort_tracks (psi_img_t *img, int reverse); 34 | 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/arch/vic20/keybd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/vic20/keybd.h * 7 | * Created: 2020-04-19 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIC20_KEYBD_H 24 | #define PCE_VIC20_KEYBD_H 1 25 | 26 | 27 | #include "vic20.h" 28 | 29 | #include 30 | 31 | 32 | void v20_keybd_matrix (vic20_t *sim, unsigned char *row, unsigned char *col); 33 | 34 | void v20_keybd_reset (vic20_t *sim); 35 | 36 | void v20_keybd_set_key (vic20_t *sim, unsigned event, pce_key_t key); 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/drivers/pfi/pfi-kryo.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pfi/pfi-kryo.h * 7 | * Created: 2012-01-20 by Hampa Hug * 8 | * Copyright: (C) 2012-2017 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PFI_IMG_KRYO_H 24 | #define PFI_IMG_KRYO_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pfi_img_t *pfi_load_kryo (FILE *fp); 31 | pfi_img_t *pfi_load_kryo_set (const char *fname); 32 | 33 | int pfi_save_kryo_set (const char *fname, pfi_img_t *img); 34 | 35 | int pfi_probe_kryo_fp (FILE *fp); 36 | int pfi_probe_kryo (const char *fname); 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/arch/atarist/cmd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/atarist/cmd.h * 7 | * Created: 2011-03-17 by Hampa Hug * 8 | * Copyright: (C) 2011-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_ATARIST_CMD_H 24 | #define PCE_ATARIST_CMD_H 1 25 | 26 | 27 | #include "atarist.h" 28 | 29 | #include 30 | #include 31 | 32 | 33 | void st_print_state_cpu (atari_st_t *sim); 34 | 35 | void st_run (atari_st_t *sim); 36 | 37 | int st_cmd (atari_st_t *sim, cmd_t *cmd); 38 | 39 | void st_cmd_init (atari_st_t *sim, monitor_t *mon); 40 | 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /src/drivers/psi/psi-img-pfdc.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/psi/psi-img-pfdc.h * 7 | * Created: 2010-08-13 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_IMG_PFDC_H 24 | #define PSI_IMG_PFDC_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | #define PFDC_MAGIC 0x50464443 31 | 32 | 33 | psi_img_t *psi_load_pfdc (FILE *fp); 34 | 35 | int psi_save_pfdc (FILE *fp, const psi_img_t *img, unsigned vers); 36 | 37 | int psi_probe_pfdc_fp (FILE *fp); 38 | int psi_probe_pfdc (const char *fname); 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/drivers/pti/pti-img-txt.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/pti/pti-img-txt.h * 7 | * Created: 2020-04-25 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PTI_IMG_TXT_H 24 | #define PTI_IMG_TXT_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | pti_img_t *pti_load_txt (FILE *fp); 31 | 32 | int pti_txt_save_comment (FILE *fp, const pti_img_t *img); 33 | 34 | int pti_save_txt (FILE *fp, const pti_img_t *img); 35 | 36 | int pti_probe_txt_fp (FILE *fp); 37 | int pti_probe_txt (const char *fname); 38 | 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /doc/pce-ibmpc.txt: -------------------------------------------------------------------------------- 1 | PCE/ibmpc - IBM PC Emulator 2 | ============================================================================== 3 | 4 | PCE/ibmpc is an IBM PC emulator. It emulates most (but see below) of the 5 | hardware of an IBM PC 5150. The emulation is complete enough to boot DOS and 6 | run most DOS applications. 7 | 8 | Emulated parts: 9 | 10 | Part Status 11 | 12 | CPU An 8086/80186 emulator. The specific CPU model can be set 13 | to 8088, 8086, 80188 or 80186 at run time. 14 | 15 | BIOS An unmodified BIOS from an IBM PC or PC/XT is needed. 16 | 17 | 8237 DMAC Supported, but not particularily useful yet 18 | 19 | 8250 UART Supported 20 | 21 | 8253 PIT Only counting modes 0, 2 and 3 are supported at this time 22 | 23 | 8255 PPI Supported 24 | 25 | 8259 PIC Supported 26 | 27 | Sound Not yet supported 28 | 29 | Video Supported video cards are: MDA, CGA, Plantronics ColorPlus, 30 | Wyse 700, HGC, EGA, VGA 31 | 32 | EMS Supported, with a custom DOS driver. 33 | 34 | XMS Supported, with a custom DOS driver. 35 | 36 | Disks Only supported through INT 13h at the moment. 37 | 38 | Sound Not yet supported. 39 | 40 | Mouse A Microsoft serial mouse is emulated. 41 | 42 | Parallel Port Partially supported. Output is written to a file. 43 | 44 | Serial Port Supported. 45 | 46 | 47 | Configuration 48 | ============================================================================== 49 | 50 | PCE/ibmpc is configured by means of a config file. A documented example config 51 | file is installed in $(prefix)/etc/pce-ibmpc.cfg. 52 | 53 | 54 | Running PCE/ibmpc 55 | ============================================================================== 56 | 57 | After starting the emulator, pce is in command mode (unless the -r 58 | option was used). Type 'h' to get a short summary of the available 59 | commands. 60 | 61 | The 'g' command starts the simulation. It can be interrupted by 62 | pressing Ctrl-`. 63 | -------------------------------------------------------------------------------- /src/arch/ibmpc/m24.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/ibmpc/m24.h * 7 | * Created: 2012-01-07 by Hampa Hug * 8 | * Copyright: (C) 2012 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_IBMPC_M24_H 24 | #define PCE_IBMPC_M24_H 1 25 | 26 | 27 | #include "ibmpc.h" 28 | 29 | 30 | int m24_get_port8 (ibmpc_t *pc, unsigned long addr, unsigned char *val); 31 | int m24_set_port8 (ibmpc_t *pc, unsigned long addr, unsigned char val); 32 | 33 | void m24_set_video_mode (ibmpc_t *pc, unsigned mode); 34 | 35 | void pc_setup_m24 (ibmpc_t *pc, ini_sct_t *ini); 36 | 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/arch/ibmpc/atari-pc.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/ibmpc/atari-pc.h * 7 | * Created: 2018-09-01 by Hampa Hug * 8 | * Copyright: (C) 2018 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_IBMPC_ATARI_PC_H 24 | #define PCE_IBMPC_ATARI_PC_H 1 25 | 26 | 27 | #include "ibmpc.h" 28 | 29 | 30 | int atari_pc_get_port8 (ibmpc_t *pc, unsigned long addr, unsigned char *val); 31 | int atari_pc_set_port8 (ibmpc_t *pc, unsigned long addr, unsigned char val); 32 | 33 | void pc_setup_atari_pc (ibmpc_t *pc, ini_sct_t *ini); 34 | void atari_pc_del (ibmpc_t *pc); 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/arch/ibmpc/cmd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/ibmpc/cmd.h * 7 | * Created: 2010-09-21 by Hampa Hug * 8 | * Copyright: (C) 2010-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_IBMPC_CMD_H 24 | #define PCE_IBMPC_CMD_H 1 25 | 26 | 27 | #include "ibmpc.h" 28 | 29 | #include 30 | 31 | #include 32 | #include 33 | 34 | 35 | void prt_state_cpu (e8086_t *c); 36 | 37 | void pc_run (ibmpc_t *pc); 38 | 39 | int pc_cmd (ibmpc_t *pc, cmd_t *cmd); 40 | 41 | void pc_cmd_init (ibmpc_t *pc, monitor_t *mon); 42 | 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/drivers/char/char-posix.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/drivers/char/char-posix.h * 7 | * Created: 2009-03-10 by Hampa Hug * 8 | * Copyright: (C) 2009 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_DRIVERS_CHAR_POSIX_H 24 | #define PCE_DRIVERS_CHAR_POSIX_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | 32 | typedef struct { 33 | char_drv_t cdrv; 34 | 35 | char *name; 36 | char *name_read; 37 | char *name_write; 38 | 39 | int fd_read; 40 | int fd_write; 41 | } char_posix_t; 42 | 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/lib/iniata.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/iniata.h * 7 | * Created: 2006-12-16 by Hampa Hug * 8 | * Copyright: (C) 2006-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_LIB_INIATA_H 24 | #define PCE_LIB_INIATA_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | #include 31 | 32 | #include 33 | 34 | 35 | int ini_get_ata_chn (ata_chn_t *ata, disks_t *dsks, ini_sct_t *sct, unsigned idx); 36 | int ini_get_pci_ata (pci_ata_t *pciata, disks_t *dsks, ini_sct_t *sct); 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/arch/cpm80/cmd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/cpm80/cmd.h * 7 | * Created: 2012-11-28 by Hampa Hug * 8 | * Copyright: (C) 2012-2016 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_CPM80_CMD_H 24 | #define PCE_CPM80_CMD_H 1 25 | 26 | 27 | #include "cpm80.h" 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | 34 | void print_state_cpu (e8080_t *c); 35 | 36 | void c80_run (cpm80_t *sim); 37 | 38 | int c80_cmd (cpm80_t *sim, cmd_t *cmd); 39 | 40 | void c80_cmd_init (cpm80_t *sim, monitor_t *mon); 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/lib/inidsk.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/lib/inidsk.h * 7 | * Created: 2004-12-13 by Hampa Hug * 8 | * Copyright: (C) 2004-2011 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_LIB_INIDSK_H 24 | #define PCE_LIB_INIDSK_H 1 25 | 26 | 27 | #include 28 | 29 | #include 30 | 31 | 32 | int dsk_insert (disks_t *dsks, const char *str, int eject); 33 | 34 | disk_t *ini_get_cow (ini_sct_t *sct, disk_t *dsk); 35 | 36 | int ini_get_disk (ini_sct_t *sct, disk_t **ret); 37 | 38 | disks_t *ini_get_disks (ini_sct_t *ini); 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/arch/macplus/cmd_68k.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/macplus/cmd_68k.h * 7 | * Created: 2007-04-15 by Hampa Hug * 8 | * Copyright: (C) 2007-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_MACPLUS_CMD_68K_H 24 | #define PCE_MACPLUS_CMD_68K_H 1 25 | 26 | 27 | #include "macplus.h" 28 | 29 | #include 30 | #include 31 | 32 | 33 | void mac_prt_state (macplus_t *sim, const char *str); 34 | 35 | void mac_run (macplus_t *sim); 36 | 37 | int mac_cmd (macplus_t *sim, cmd_t *cmd); 38 | 39 | void mac_cmd_init (macplus_t *sim, monitor_t *mon); 40 | 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /src/arch/rc759/cmd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/rc759/cmd.h * 7 | * Created: 2012-06-29 by Hampa Hug * 8 | * Copyright: (C) 2012-2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_RC759_CMD_H 24 | #define PCE_RC759_CMD_H 1 25 | 26 | 27 | #include "rc759.h" 28 | 29 | #include 30 | 31 | #include 32 | #include 33 | 34 | 35 | void print_state_cpu (e8086_t *c); 36 | 37 | void rc759_run (rc759_t *sim); 38 | 39 | int rc759_cmd (rc759_t *sim, cmd_t *cmd); 40 | 41 | void rc759_cmd_init (rc759_t *sim, monitor_t *mon); 42 | 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/arch/simarm/pce-simarm.cfg.in: -------------------------------------------------------------------------------- 1 | # pce-simarm.cfg 2 | # 3 | # Example config file 4 | 5 | section simarm { 6 | section cpu { 7 | # This has no effect yet 8 | model = "xscale" 9 | 10 | # Set to 1 for a big endian system 11 | bigendian = 0 12 | 13 | # The processor ID 14 | id = 0x69052000 15 | } 16 | 17 | # Multiple "ram" sections may be present 18 | section ram { 19 | # The linear base address 20 | address = 0x00000000 21 | 22 | # The size in bytes 23 | size = 0x04000000 24 | 25 | # The RAM image that is used to initialize the RAM (optional) 26 | file = "linux.bin" 27 | } 28 | 29 | # Multiple "rom" sections may be present 30 | section rom { 31 | # The file from which the rom code is loaded (optional) 32 | file = "simarm.rom" 33 | 34 | # The linear base address 35 | address = 0xffff0000 36 | 37 | # The rom size in bytes 38 | size = 65536 39 | } 40 | 41 | # load sections are processed after all ram and rom sections. 42 | section load { 43 | format = "ihex" 44 | file = "simarm.ihex" 45 | } 46 | 47 | section load { 48 | format = "binary" 49 | file = "rom.bin" 50 | address = 0xffff0000 51 | } 52 | 53 | # interrupt controller 54 | section intc { 55 | address = 0xd6000000 56 | } 57 | 58 | # timer 59 | section timer { 60 | address = 0xc0020000 61 | } 62 | 63 | # serial port 64 | section serial { 65 | address = 0xc0030000 66 | irq = 2 67 | 68 | # Up to multichar characters are sent or received 69 | # without any transmission delay. For a real serial port 70 | # this value is 1 but larger values can speed up 71 | # transmission. 72 | multichar = 1 73 | 74 | # Not all character drivers are supported on 75 | # all platforms. 76 | #driver = "null" 77 | driver = "stdio:file=uart0.out" 78 | #driver = "tios:file=/dev/ttyS0" 79 | } 80 | 81 | section console { 82 | serial = 0 83 | } 84 | 85 | section pci { 86 | irq = 15 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /src/arch/vic20/cmd.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/arch/vic20/cmd.h * 7 | * Created: 2020-04-18 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PCE_VIC20_CMD_H 24 | #define PCE_VIC20_CMD_H 1 25 | 26 | 27 | #include "vic20.h" 28 | 29 | #include 30 | 31 | #include 32 | #include 33 | 34 | 35 | void v20_print_state_cpu (e6502_t *c); 36 | 37 | void v20_run (vic20_t *sim); 38 | 39 | int v20_cmd (vic20_t *sim, cmd_t *cmd); 40 | 41 | void v20_cmd_init (vic20_t *sim, monitor_t *mon); 42 | 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/drivers/psi/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/drivers/psi/Makefile.inc 2 | 3 | rel := src/drivers/psi 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc 7 | 8 | DRV_PSI_BAS := \ 9 | psi-img-ana \ 10 | psi-img-cp2 \ 11 | psi-img-dc42 \ 12 | psi-img-imd \ 13 | psi-img-mac \ 14 | psi-img-msa \ 15 | psi-img-pfdc \ 16 | psi-img-psi \ 17 | psi-img-raw \ 18 | psi-img-stx \ 19 | psi-img-tc \ 20 | psi-img-td0 \ 21 | psi-img-xdf \ 22 | psi-img \ 23 | psi-io \ 24 | psi 25 | 26 | DRV_PSI_BAS2 := \ 27 | psi-img-pfdc0 \ 28 | psi-img-pfdc1 \ 29 | psi-img-pfdc2 \ 30 | psi-img-pfdc4 31 | 32 | DRV_PSI_SRC := $(foreach f,$(DRV_PSI_BAS) $(DRV_PSI_BAS2),$(rel)/$(f).c) 33 | DRV_PSI_OBJ := $(foreach f,$(DRV_PSI_BAS) $(DRV_PSI_BAS2),$(rel)/$(f).o) 34 | DRV_PSI_HDR := $(foreach f,$(DRV_PSI_BAS),$(rel)/$(f).h) 35 | DRV_PSI_ARC := $(rel)/psi.a 36 | 37 | CLN += $(DRV_PSI_ARC) $(DRV_PSI_OBJ) 38 | DIST += $(DRV_PSI_SRC) $(DRV_PSI_HDR) 39 | 40 | $(rel)/psi-img-ana.o: $(rel)/psi-img-ana.c 41 | $(rel)/psi-img-cp2.o: $(rel)/psi-img-cp2.c 42 | $(rel)/psi-img-dc42.o: $(rel)/psi-img-dc42.c 43 | $(rel)/psi-img-imd.o: $(rel)/psi-img-imd.c 44 | $(rel)/psi-img-mac.o: $(rel)/psi-img-mac.c 45 | $(rel)/psi-img-msa.o: $(rel)/psi-img-msa.c 46 | $(rel)/psi-img-pfdc.o: $(rel)/psi-img-pfdc.c 47 | $(rel)/psi-img-pfdc0.o: $(rel)/psi-img-pfdc0.c 48 | $(rel)/psi-img-pfdc1.o: $(rel)/psi-img-pfdc1.c 49 | $(rel)/psi-img-pfdc2.o: $(rel)/psi-img-pfdc2.c 50 | $(rel)/psi-img-pfdc4.o: $(rel)/psi-img-pfdc4.c 51 | $(rel)/psi-img-psi.o: $(rel)/psi-img-psi.c 52 | $(rel)/psi-img-raw.o: $(rel)/psi-img-raw.c 53 | $(rel)/psi-img-stx.o: $(rel)/psi-img-stx.c 54 | $(rel)/psi-img-tc.o: $(rel)/psi-img-tc.c 55 | $(rel)/psi-img-td0.o: $(rel)/psi-img-td0.c 56 | $(rel)/psi-img-xdf.o: $(rel)/psi-img-xdf.c 57 | $(rel)/psi-img.o: $(rel)/psi-img.c 58 | $(rel)/psi-io.o: $(rel)/psi-io.c 59 | $(rel)/psi.o: $(rel)/psi.c 60 | 61 | $(rel)/psi.a: $(DRV_PSI_OBJ) 62 | -------------------------------------------------------------------------------- /src/lib/Makefile.inc: -------------------------------------------------------------------------------- 1 | # src/lib/Makefile.inc 2 | 3 | rel := src/lib 4 | 5 | DIRS += $(rel) 6 | DIST += $(rel)/Makefile.inc $(rel)/stdint/stdint.h 7 | 8 | LIBPCE_BAS := \ 9 | brkpt \ 10 | cfg \ 11 | ciff \ 12 | cmd \ 13 | console \ 14 | endian \ 15 | getopt \ 16 | ihex \ 17 | iniata \ 18 | inidsk \ 19 | iniram \ 20 | initerm \ 21 | load \ 22 | log \ 23 | mhex \ 24 | monitor \ 25 | msg \ 26 | msgdsk \ 27 | path \ 28 | srec \ 29 | string \ 30 | sysdep \ 31 | thex 32 | 33 | ifeq "$(PCE_ENABLE_TUN)" "1" 34 | LIBPCE_BAS += tun 35 | else 36 | DIST += $(rel)/tun.c $(rel)/tun.h 37 | endif 38 | 39 | ifeq "$(PCE_ENABLE_VMNET)" "1" 40 | LIBPCE_BAS += vmnet 41 | else 42 | DIST += $(rel)/vmnet.m $(rel)/vmnet.h 43 | endif 44 | 45 | LIBPCE_SRC := $(foreach f,$(LIBPCE_BAS),$(rel)/$(f).c) 46 | LIBPCE_OBJ := $(foreach f,$(LIBPCE_BAS),$(rel)/$(f).o) 47 | LIBPCE_HDR := $(foreach f,$(LIBPCE_BAS),$(rel)/$(f).h) 48 | LIBPCE_SDP := src/config.h 49 | 50 | LIBPCE_LOAD_OBJ := $(rel)/ihex.o $(rel)/mhex.o $(rel)/srec.o $(rel)/thex.o $(rel)/load.o 51 | 52 | CLN += $(LIBPCE_OBJ) 53 | DIST += $(LIBPCE_SRC) $(LIBPCE_HDR) 54 | 55 | $(rel)/brkpt.o: $(rel)/brkpt.c 56 | $(rel)/cfg.o: $(rel)/cfg.c 57 | $(rel)/ciff.o: $(rel)/ciff.c 58 | $(rel)/cmd.o: $(rel)/cmd.c 59 | $(rel)/console.o: $(rel)/console.c 60 | $(rel)/endian.o: $(rel)/endian.c 61 | $(rel)/getopt.o: $(rel)/getopt.c 62 | $(rel)/ihex.o: $(rel)/ihex.c 63 | $(rel)/iniata.o: $(rel)/iniata.c 64 | $(rel)/inidsk.o: $(rel)/inidsk.c 65 | $(rel)/iniram.o: $(rel)/iniram.c 66 | $(rel)/initerm.o: $(rel)/initerm.c 67 | $(rel)/log.o: $(rel)/log.c 68 | $(rel)/mhex.o: $(rel)/mhex.c 69 | $(rel)/monitor.o: $(rel)/monitor.c 70 | $(rel)/msg.o: $(rel)/msg.c 71 | $(rel)/msgdsk.o: $(rel)/msgdsk.c 72 | $(rel)/path.o: $(rel)/path.c 73 | $(rel)/tun.o: $(rel)/tun.c 74 | $(rel)/srec.o: $(rel)/srec.c 75 | $(rel)/string.o: $(rel)/string.c 76 | $(rel)/sysdep.o: $(rel)/sysdep.c 77 | $(rel)/thex.o: $(rel)/thex.c 78 | -------------------------------------------------------------------------------- /src/utils/psi/comment.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/psi/comment.h * 7 | * Created: 2013-06-09 by Hampa Hug * 8 | * Copyright: (C) 2013 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PSI_COMMENT_H 24 | #define PSI_COMMENT_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int psi_add_comment (psi_img_t *img, const char *str); 31 | int psi_load_comment (psi_img_t *img, const char *fname); 32 | int psi_save_comment (psi_img_t *img, const char *fname); 33 | int psi_set_comment (psi_img_t *img, const char *str); 34 | int psi_show_comment (psi_img_t *img); 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/utils/pti/comment.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pce * 3 | *****************************************************************************/ 4 | 5 | /***************************************************************************** 6 | * File name: src/utils/pti/comment.h * 7 | * Created: 2020-04-30 by Hampa Hug * 8 | * Copyright: (C) 2020 Hampa Hug * 9 | *****************************************************************************/ 10 | 11 | /***************************************************************************** 12 | * This program is free software. You can redistribute it and / or modify it * 13 | * under the terms of the GNU General Public License version 2 as published * 14 | * by the Free Software Foundation. * 15 | * * 16 | * This program is distributed in the hope that it will be useful, but * 17 | * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 | * Public License for more details. * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef PTI_COMMENT_H 24 | #define PTI_COMMENT_H 1 25 | 26 | 27 | #include 28 | 29 | 30 | int pti_comment_add (pti_img_t *img, const char *str); 31 | int pti_comment_load (pti_img_t *img, const char *fname); 32 | int pti_comment_save (pti_img_t *img, const char *fname); 33 | int pti_comment_set (pti_img_t *img, const char *str); 34 | int pti_comment_show (pti_img_t *img); 35 | 36 | 37 | #endif 38 | --------------------------------------------------------------------------------