mirror of
https://github.com/KarolS/millfork.git
synced 2026-04-21 09:16:34 +00:00
Allow importing modules from subdirectories. Move platform definitions
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
[compilation]
|
||||
arch=strict
|
||||
modules=a8_hardware,a8_os,a8_kernel,default_panic,stdlib
|
||||
encoding=atascii
|
||||
screen_encoding=atasciiscr
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_bytes=$80-$A5
|
||||
segment_default_start=$2000
|
||||
; TODO
|
||||
segment_default_end=$3fff
|
||||
|
||||
[define]
|
||||
ATARI_8=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
;TODO
|
||||
style=single
|
||||
format=$FF,$FF,$E0,$02,$E1,$02,startaddr,startaddr,endaddr,allocated
|
||||
extension=xex
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[compilation]
|
||||
arch=strict
|
||||
encoding=apple2
|
||||
modules=apple2_kernel,default_panic,stdlib,default_readword
|
||||
lenient_encoding=true
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_bytes=6-9, $EB-$EE, $FA-$FD
|
||||
segment_default_start=$0C00
|
||||
segment_default_end=$95FF
|
||||
|
||||
[define]
|
||||
APPLE_2=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=0
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
;TODO
|
||||
style=single
|
||||
format=allocated
|
||||
extension=a2
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
[compilation]
|
||||
arch=65sc02
|
||||
modules=atari_lynx_hardware, default_panic,stdlib
|
||||
; TODO: is this a good choice?
|
||||
encoding=atascii
|
||||
screen_encoding=atasciiscr
|
||||
|
||||
[allocation]
|
||||
zp_bytes=$2-$ff
|
||||
segment_default_start=$300
|
||||
; TODO: $FBFF ?
|
||||
segment_default_end=$dc00
|
||||
|
||||
[define]
|
||||
ATARI_LYNX=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=0
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
;TODO
|
||||
style=single
|
||||
format=$80,$08,$3,$00,length_be+10,$42,$53,$39,$33,allocated
|
||||
extension=o
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
[compilation]
|
||||
; "strict" guarantees compatibility with Rockwell CPU's in some later Model B's
|
||||
arch=strict
|
||||
encoding=bbc
|
||||
modules=bbc_kernal,bbc_hardware,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_bytes=$70-$8F
|
||||
; TODO: figure out a better loading scheme
|
||||
segment_default_start=$1900
|
||||
segment_default_layout=__basic_padding,main,*
|
||||
; The following is for Model B; for Model A, consider changing it to $31FF
|
||||
segment_default_end=$71FF
|
||||
|
||||
[define]
|
||||
BBC_MICRO=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
PAL=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=allocated
|
||||
extension=
|
||||
bbc_inf=true
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=c128_hardware,loader_1c01,c128_kernal,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=$FB,$FD,$43,$45,$47,$4B,$F7,$F9,$9E,$9B,$3D
|
||||
segment_default_start=$1C0D
|
||||
segment_default_end=$FEFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_128=1
|
||||
CBM_64_COMPAT=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_1001,c264_kernal,c264_hardware,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=3,5,7,$2b,$2D,$2F,$31,$9B
|
||||
segment_default_start=$100D
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$3FFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_264=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
; Commodore 64
|
||||
; assuming a program loaded from disk or tape
|
||||
|
||||
[compilation]
|
||||
; CPU architecture: nmos, strictnmos, ricoh, strictricoh, cmos
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
; modules to load
|
||||
modules=c64_hardware,loader_0801,c64_kernal,c64_panic,stdlib
|
||||
; optionally: default flags
|
||||
|
||||
|
||||
[allocation]
|
||||
; list of free zp pointer locations (these assume that some BASIC routines will keep working)
|
||||
zp_pointers=$FB,$FD,$43,$45,$47,$4B,$F7,$F9,$9E,$9B,$3D
|
||||
segments=default
|
||||
default_code_segment=default
|
||||
segment_default_start=$80D
|
||||
segment_default_codeend=$9fff
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$cfff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
; how the banks are laid out in the output files
|
||||
style=single
|
||||
; output file format
|
||||
; startaddr - little-endian address of the first used byte in the bank
|
||||
; endaddr - little-endian address of the last used byte in the bank
|
||||
; allocated - all used bytes in the bank
|
||||
; <addr>:<addr> - bytes from the current bank
|
||||
; <bank>:addr>:<addr> - bytes from arbitrary bank
|
||||
; <byte> - single byte
|
||||
format=startaddr,allocated
|
||||
; default output file extension
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
; Commodore 64
|
||||
; 16K ROM cartridge
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=c64_hardware,loader_c64crt,c64_kernal,c64_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
zp_pointers=2-$ff
|
||||
segments=default,prgrom
|
||||
default_code_segment=prgrom
|
||||
ram_init_segment=prgrom
|
||||
|
||||
segment_default_start=$800
|
||||
segment_default_end=$7fff
|
||||
segment_prgrom_start=$8000
|
||||
segment_prgrom_end=$bfff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
CBM_64_CRT=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format =$43,$36,$34,$20,$43,$41,$52,$54,$52,$49,$44,$47,$45,$20,$20,$20, \
|
||||
0,0,0,$40, 1,0, 0,0, 0, 0, 0,0,0,0,0,0, \
|
||||
$4d,$49,$4c,$4c, $46,$4f,$52,$4b, $20,$31,$36,$4b, $20,$50,$52,$4f, \
|
||||
$47,$52,$41,$4d, 0,0,0,0, 0,0,0,0, 0,0,0,0, \
|
||||
$43,$48,$49,$50, 0,0,$40,$10, 0,0, 0,0, $80,$00, $40,$00, \
|
||||
prgrom:$8000:$bfff
|
||||
extension=crt
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
; Commodore 64
|
||||
; 8K ROM cartridge
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=c64_hardware,loader_c64crt,c64_kernal,c64_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
zp_bytes=2-$ff
|
||||
segments=default,prgrom
|
||||
ram_init_segment=prgrom
|
||||
|
||||
default_code_segment=prgrom
|
||||
segment_default_start=$800
|
||||
segment_default_end=$7fff
|
||||
segment_prgrom_start=$8000
|
||||
segment_prgrom_end=$9fff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
CBM_64_CRT=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format =$43,$36,$34,$20,$43,$41,$52,$54,$52,$49,$44,$47,$45,$20,$20,$20, \
|
||||
0,0,0,$40, 1,0, 0,0, 0, 1, 0,0,0,0,0,0, \
|
||||
$4d,$49,$4c,$4c, $46,$4f,$52,$4b, $20,$38,$4b,$20, $50,$52,$4f,$47, \
|
||||
$52,$41,$4d,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,0, 0,0, $80,$00, $20,$00, \
|
||||
prgrom:$8000:$9fff
|
||||
extension=crt
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
; Commodore 64
|
||||
; 128K EasyFlash cartridge
|
||||
; the $8000-$9FFF bank is mirrored 8 times
|
||||
; the $A000-$BFFF bank is swappable
|
||||
; actual total code size: 72 KB
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=c64_hardware,c64_easyflash,c64_kernal,c64_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
zp_pointers=$FB,$FD,$43,$45,$47,$4B,$F7,$F9,$9E,$9B,$3D
|
||||
segments=default,lorom,hirom0,hirom1,hirom2,hirom3,hirom4,hirom5,hirom6,hirom7
|
||||
default_code_segment=lorom
|
||||
ram_init_segment=hirom0
|
||||
|
||||
segment_default_start=$800
|
||||
segment_default_end=$7FFF
|
||||
segment_ram_bank=$ff
|
||||
|
||||
segment_lorom_start=$8000
|
||||
segment_lorom_end=$9FFF
|
||||
segment_lorom_bank=0
|
||||
segment_lorom_fill=$ff
|
||||
|
||||
segment_hirom0_start=$A000
|
||||
segment_hirom0_end=$BFFF
|
||||
segment_hirom0_bank=0
|
||||
segment_hirom0_fill=$f0
|
||||
|
||||
segment_hirom1_start=$A000
|
||||
segment_hirom1_end=$BFFF
|
||||
segment_hirom1_bank=1
|
||||
segment_hirom1_fill=$f1
|
||||
|
||||
segment_hirom2_start=$A000
|
||||
segment_hirom2_end=$BFFF
|
||||
segment_hirom2_bank=2
|
||||
segment_hirom2_fill=$f2
|
||||
|
||||
segment_hirom3_start=$A000
|
||||
segment_hirom3_end=$BFFF
|
||||
segment_hirom3_bank=3
|
||||
segment_hirom3_fill=$f3
|
||||
|
||||
segment_hirom4_start=$A000
|
||||
segment_hirom4_end=$BFFF
|
||||
segment_hirom4_bank=4
|
||||
segment_hirom4_fill=$f4
|
||||
|
||||
segment_hirom5_start=$A000
|
||||
segment_hirom5_end=$BFFF
|
||||
segment_hirom5_bank=5
|
||||
segment_hirom5_fill=$f5
|
||||
|
||||
segment_hirom6_start=$A000
|
||||
segment_hirom6_end=$BFFF
|
||||
segment_hirom6_bank=6
|
||||
segment_hirom6_fill=$f6
|
||||
|
||||
segment_hirom7_start=$A000
|
||||
segment_hirom7_end=$BFFF
|
||||
segment_hirom7_bank=7
|
||||
segment_hirom7_fill=$f7
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
CBM_64_CRT=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format= $43,$36,$34,$20,$43,$41,$52,$54,$52,$49,$44,$47,$45,$20,$20,$20, \
|
||||
0,0,0,$40, 1,0, 0,32, 1, 0, 0,0,0,0,0,0, \
|
||||
$4d,$49,$4c,$4c, $46,$4f,$52,$4b, $20,$31,$36,$4b, $20,$50,$52,$4f, \
|
||||
$47,$52,$41,$4d, 0,0,0,0, 0,0,0,0, 0,0,0,0, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,0, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,0, $A0,$00, $20,$00, \
|
||||
hirom0:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,1, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,1, $A0,$00, $20,$00, \
|
||||
hirom1:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,2, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,2, $A0,$00, $20,$00, \
|
||||
hirom2:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,3, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,3, $A0,$00, $20,$00, \
|
||||
hirom3:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,4, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,4, $A0,$00, $20,$00, \
|
||||
hirom4:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,5, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,5, $A0,$00, $20,$00, \
|
||||
hirom5:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,6, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,6, $A0,$00, $20,$00, \
|
||||
hirom6:$A000:$BFFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,7, $80,$00, $20,$00, \
|
||||
lorom:$8000:$9FFF, \
|
||||
$43,$48,$49,$50, 0,0,$20,$10, 0,2, 0,7, $A0,$00, $20,$00, \
|
||||
hirom7:$A000:$BFFF
|
||||
extension=crt
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
; Commodore 64 with a SuperCPU
|
||||
; assuming a program loaded from disk or tape
|
||||
|
||||
[compilation]
|
||||
arch=65816
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=c64_hardware,loader_0801,c64_kernal,c64_panic,stdlib
|
||||
emit_65816=emulation
|
||||
|
||||
[allocation]
|
||||
zp_pointers=$FB,$FD,$43,$45,$47,$4B,$F7,$F9,$9E,$9B,$3D
|
||||
segment_default_start=$80D
|
||||
segment_default_codeend=$9fff
|
||||
segment_default_end=$cfff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
; Commodore 64 with a SuperCPU, running in native mode
|
||||
; assuming a program loaded from disk or tape
|
||||
; This has lower compatibility with inline assembly, but it's clearly faster.
|
||||
|
||||
[compilation]
|
||||
arch=65816
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=c64_hardware,loader_0801_16bit,c64_kernal,c64_panic,stdlib
|
||||
emit_65816=native
|
||||
|
||||
[allocation]
|
||||
main_org=$811
|
||||
zp_pointers=$FB,$FD,$43,$45,$47,$4B,$F7,$F9,$9E,$9B,$3D
|
||||
segment_default_start=$80D
|
||||
segment_default_codeend=$9fff
|
||||
segment_default_end=$cfff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
; Commodore 64, Japanese version
|
||||
; assuming a program loaded from disk or tape
|
||||
; TODO: figure out if the memory map is similar enough
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petjp
|
||||
screen_encoding=petscrjp
|
||||
modules=c64_hardware,loader_1001,c64_kernal,c64_panic,stdlib
|
||||
|
||||
[allocation]
|
||||
; list of free zp pointer locations (these assume that some BASIC routines will keep working)
|
||||
zp_pointers=$FB,$FD,$43,$45,$47,$4B,$F7,$F9,$9E,$9B,$3D
|
||||
segments=default
|
||||
default_code_segment=default
|
||||
segment_default_start=$100D
|
||||
segment_default_codeend=$9fff
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$cfff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_64=1
|
||||
MOS_6510=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
;a single-load Amstrad CPC 464 program
|
||||
[compilation]
|
||||
arch=z80
|
||||
encoding=ascii
|
||||
modules=default_panic,cpc,stdlib
|
||||
|
||||
[allocation]
|
||||
segments=default
|
||||
segment_default_start=$400
|
||||
segment_default_datastart=after_code
|
||||
; ???
|
||||
segment_default_end=$b0ff
|
||||
|
||||
[define]
|
||||
AMSTRAD_CPC=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=allocated
|
||||
extension=
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
;a single-load CP/M program
|
||||
[compilation]
|
||||
arch=i8080
|
||||
encoding=ascii
|
||||
modules=default_panic,stdlib,cpm_bdos
|
||||
|
||||
[allocation]
|
||||
segment_default_start=$100
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$ffff
|
||||
; TODO: actual end?
|
||||
|
||||
[define]
|
||||
CPM=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=0
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=allocated
|
||||
extension=com
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
;a single-load CP/M program for Z80-based machines
|
||||
[compilation]
|
||||
arch=z80
|
||||
encoding=ascii
|
||||
modules=default_panic,stdlib,cpm_bdos
|
||||
|
||||
[allocation]
|
||||
segment_default_start=$100
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$ffff
|
||||
; TODO: actual end?
|
||||
|
||||
[define]
|
||||
CPM=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=0
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=allocated
|
||||
extension=com
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
;a COM program for DOS
|
||||
[compilation]
|
||||
arch=i8086
|
||||
encoding=ascii
|
||||
modules=default_panic,stdlib,pc_dos
|
||||
|
||||
[allocation]
|
||||
segment_default_start=$100
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$ffff
|
||||
; TODO: actual end?
|
||||
|
||||
[define]
|
||||
IBM_PC=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=0
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=allocated
|
||||
extension=com
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
[compilation]
|
||||
arch=lr35902
|
||||
encoding=ascii
|
||||
screen_encoding=ascii
|
||||
modules=default_panic,stdlib,gb_hardware,gb_header_small
|
||||
|
||||
|
||||
[allocation]
|
||||
|
||||
segments=default,rom,hiram
|
||||
default_code_segment=rom
|
||||
ram_init_segment=rom
|
||||
|
||||
segment_default_start=$c000
|
||||
segment_default_end=$dfff
|
||||
|
||||
segment_rom_start=$0150
|
||||
segment_rom_end=$7fff
|
||||
segment_hiram_start=$ff80
|
||||
segment_hiram_end=$fffe
|
||||
|
||||
[define]
|
||||
GAMEBOY=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=0
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=rom:0:$7fff
|
||||
gb_checksum=true
|
||||
extension=gb
|
||||
labels=sym
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
; Commodore 64/128 running LUnix 0.21
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=lunix,stdlib
|
||||
lunix=true
|
||||
|
||||
|
||||
[allocation]
|
||||
zp_bytes=$80-$bf
|
||||
segments=default
|
||||
default_code_segment=default
|
||||
segment_default_start=$1006
|
||||
segment_default_codeend=$8fff
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$8fff
|
||||
|
||||
[define]
|
||||
LUNIX=1
|
||||
CBM_64=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=lunix
|
||||
format=$ff,$fe,0,21,pagecount,startpage,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
; MSX1 16kB RAM
|
||||
; 16K cartridge
|
||||
|
||||
[compilation]
|
||||
arch=z80
|
||||
encoding=msx_intl
|
||||
; TODO: won't handle extended characters well:
|
||||
screen_encoding=msx_intl
|
||||
modules=stdlib,msx,default_panic,msx_crt,default_readword
|
||||
|
||||
|
||||
[allocation]
|
||||
segments=default
|
||||
default_code_segment=default
|
||||
segment_default_start=$4000
|
||||
segment_default_codeend=$8fff
|
||||
segment_default_datastart=$8000
|
||||
segment_default_end=$bfff
|
||||
|
||||
[define]
|
||||
MSX=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=$4000:$7fff
|
||||
extension=rom
|
||||
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
; a NES MMC4 cartridge, uses iNES mapper 10
|
||||
; 8×16 kB PRGROM and 32×4kB CHRROM
|
||||
; $c000–$ffff is assumed to be fixed to prgrom7, $8000-$bfff can be switched
|
||||
; the initial values for variables are stored in prgrom0
|
||||
; has switchable mirroring; call set_vertical_mirroring() or set_horizontal_mirroring() to switch
|
||||
; uses extra 8K of RAM at $6000–$7fff that is not battery-backed:
|
||||
; - to disable it, change byte #10 of the header from $07 to 0 and remove the ram segment
|
||||
; - to make it battery-backed, change byte #10 of the header from $07 to $77
|
||||
; output file size: 262160 bytes
|
||||
|
||||
[compilation]
|
||||
arch=ricoh
|
||||
modules=nes_hardware,nes_routines,default_panic,nes_mmc4,stdlib
|
||||
|
||||
[allocation]
|
||||
zp_bytes=all
|
||||
|
||||
segments=default,ram,prgrom0,prgrom1,prgrom2,prgrom3,prgrom4,prgrom5,prgrom6,prgrom7,chrrom0,chrrom1
|
||||
default_code_segment=prgrom7
|
||||
ram_init_segment=prgrom0
|
||||
|
||||
segment_default_start=$200
|
||||
segment_default_end=$7ff
|
||||
segment_default_bank=$ff
|
||||
|
||||
segment_ram_start=$6000
|
||||
segment_ram_end=$7fff
|
||||
segment_ram_bank=$ff
|
||||
|
||||
segment_prgrom7_start=$c000
|
||||
segment_prgrom7_end=$ffff
|
||||
segment_prgrom7_bank=7
|
||||
|
||||
segment_prgrom0_start=$8000
|
||||
segment_prgrom0_end=$bfff
|
||||
segment_prgrom0_bank=0
|
||||
|
||||
segment_prgrom1_start=$8000
|
||||
segment_prgrom1_end=$bfff
|
||||
segment_prgrom1_bank=1
|
||||
|
||||
segment_prgrom2_start=$8000
|
||||
segment_prgrom2_end=$bfff
|
||||
segment_prgrom2_bank=2
|
||||
|
||||
segment_prgrom3_start=$8000
|
||||
segment_prgrom3_end=$bfff
|
||||
segment_prgrom3_bank=3
|
||||
|
||||
segment_prgrom4_start=$8000
|
||||
segment_prgrom4_end=$bfff
|
||||
segment_prgrom4_bank=4
|
||||
|
||||
segment_prgrom5_start=$8000
|
||||
segment_prgrom5_end=$bfff
|
||||
segment_prgrom5_bank=5
|
||||
|
||||
segment_prgrom6_start=$8000
|
||||
segment_prgrom6_end=$bfff
|
||||
segment_prgrom6_bank=6
|
||||
|
||||
segment_chrrom0_start=$0000
|
||||
segment_chrrom0_end=$ffff
|
||||
|
||||
segment_chrrom1_start=$0000
|
||||
segment_chrrom1_end=$ffff
|
||||
|
||||
[define]
|
||||
NES=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=0
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=$4E,$45,$53,$1A, 8,16,$A0,8, 0,0,$07,0, 2,0,0,0, prgrom0:$8000:$bfff,prgrom1:$8000:$bfff,prgrom2:$8000:$bfff,prgrom3:$8000:$bfff,prgrom4:$8000:$bfff,prgrom5:$8000:$bfff,prgrom6:$8000:$bfff,prgrom7:$c000:$ffff,chrrom0:$0000:$ffff,chrrom1:$0000:$ffff
|
||||
|
||||
extension=nes
|
||||
labels=nesasm
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
; a very simple NES cartridge format
|
||||
; uses mapper 0 and no bankswitching, so it's only good for very simple games
|
||||
; assumes CHRROM is at chrrom:$0000-$1fff and PRGROM is at prgrom:$8000-$ffff
|
||||
; uses horizontal mirroring; to use vertical mirroring, change byte #6 of the header from 0 to 1
|
||||
; output file size: 40976 bytes
|
||||
|
||||
[compilation]
|
||||
arch=ricoh
|
||||
modules=nes_hardware,nes_routines,default_panic,stdlib
|
||||
|
||||
[allocation]
|
||||
zp_bytes=all
|
||||
|
||||
segments=default,prgrom,chrrom
|
||||
default_code_segment=prgrom
|
||||
ram_init_segment=prgrom
|
||||
|
||||
segment_default_start=$200
|
||||
segment_default_end=$7ff
|
||||
segment_default_bank=$ff
|
||||
|
||||
segment_prgrom_start=$8000
|
||||
segment_prgrom_end=$ffff
|
||||
|
||||
segment_chrrom_start=$0000
|
||||
segment_chrrom_end=$1fff
|
||||
|
||||
[define]
|
||||
NES=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=0
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=$4E,$45,$53,$1A, 2,1,0,0, 0,0,0,0, 0,0,0,0, prgrom:$8000:$ffff, chrrom:$0000:$1fff
|
||||
extension=nes
|
||||
labels=nesasm
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
;DON'T USE THIS
|
||||
;a single-load PC-88 program
|
||||
[compilation]
|
||||
arch=z80
|
||||
encoding=jisx
|
||||
modules=default_panic,stdlib,pc88,default_readword
|
||||
|
||||
[allocation]
|
||||
; TODO: find a more optimal start address
|
||||
segment_default_start=$9000
|
||||
segment_default_codeend=$bfff
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$efff
|
||||
|
||||
[define]
|
||||
NEC_PC_88=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
; TODO:
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
NTSC=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=d88
|
||||
extension=d88
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=oldpetscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_0401,pet_kernal,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=$C1,$C3,$FB,$FD,$39,$3B,$3D,$43,$4B
|
||||
segment_default_start=$40D
|
||||
segment_default_end=$FFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_PET=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=0
|
||||
HAS_BITMAP_MODE=0
|
||||
PET2000_SUPPORT=1
|
||||
PET3000_SUPPORT=1
|
||||
PET4000_SUPPORT=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_1001,c264_kernal,c264_hardware,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=3,5,7,$2b,$2D,$2F,$31,$9B
|
||||
segment_default_start=$100D
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$3FFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_264=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=per_bank
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
; an Atari VCS cartridge format without any bankswitching
|
||||
; output file size: 4096 bytes
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
modules=vcs_hardware,default_panic,stdlib
|
||||
; use -fzp-register to override this:
|
||||
zeropage_register=false
|
||||
|
||||
|
||||
[allocation]
|
||||
zp_bytes=$80-$a5
|
||||
segments=default,prgrom
|
||||
default_code_segment=prgrom
|
||||
ram_init_segment=prgrom
|
||||
|
||||
|
||||
; last 16 bytes are left for stack
|
||||
segment_default_start=$80
|
||||
segment_default_end=$ef
|
||||
|
||||
segment_prgrom_start=$f000
|
||||
segment_prgrom_end=$ffff
|
||||
|
||||
[define]
|
||||
ATARI_2600=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=0
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=prgrom:$f000:$ffff
|
||||
extension=bin
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_1001,vic20_kernal,vic20_hardware,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=$C1,$C3,$FB,$FD,$39,$3B,$3D,$43,$4B
|
||||
segment_default_start=$100D
|
||||
segment_default_end=$1CFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_VIC=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_0401,vic20_kernal,vic20_hardware,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=$C1,$C3,$FB,$FD,$39,$3B,$3D,$43,$4B
|
||||
segment_default_start=$40D
|
||||
segment_default_end=$1CFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_VIC=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_1201,vic20_kernal,vic20_hardware,,default_panic,stdlib
|
||||
|
||||
|
||||
[allocation]
|
||||
; TODO
|
||||
zp_pointers=$C1,$C3,$FB,$FD,$39,$3B,$3D,$43,$4B
|
||||
segment_default_start=$120D
|
||||
segment_default_end=$1FFF
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_VIC=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
; VIC-20
|
||||
; 8K ROM cartridge at $A000
|
||||
|
||||
[compilation]
|
||||
arch=nmos
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=vic20_kernal,default_panic,stdlib,vic20_hardware,loader_a000
|
||||
|
||||
|
||||
[allocation]
|
||||
zp_pointers=$C1,$C3,$FB,$FD,$39,$3B,$3D,$43,$4B
|
||||
segments=default,prgrom
|
||||
default_code_segment=prgrom
|
||||
ram_init_segment=prgrom
|
||||
|
||||
segment_default_start=$1000
|
||||
segment_default_end=$1fff
|
||||
segment_prgrom_start=$a000
|
||||
segment_prgrom_end=$bfff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
CBM_VIC=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=$00,$a0,prgrom:$a000:$bfff
|
||||
extension=crt
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
; Commander X16
|
||||
; VERY EXPERIMENTAL
|
||||
; The device's haven't been completed yet, so this platform configuration may not run on the final device
|
||||
; Use only for goofing around plz
|
||||
|
||||
[compilation]
|
||||
arch=w65c02
|
||||
encoding=petscii
|
||||
screen_encoding=petscr
|
||||
modules=loader_0801,x16_kernal,x16_hardware,c64_panic,stdlib
|
||||
|
||||
[allocation]
|
||||
; Let's not use the BASIC:
|
||||
zp_pointers=0-$7F
|
||||
segments=default,himem_00,himem_ff
|
||||
default_code_segment=default
|
||||
segment_default_start=$80D
|
||||
segment_default_codeend=$9eff
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$9eff
|
||||
|
||||
segment_himem_00_start=$a000
|
||||
segment_himem_00_codeend=$bfff
|
||||
segment_himem_00_datastart=after_code
|
||||
segment_himem_00_end=$bfff
|
||||
segment_himem_00_bank=$00
|
||||
|
||||
segment_himem_ff_start=$a000
|
||||
segment_himem_ff_codeend=$bfff
|
||||
segment_himem_ff_datastart=after_code
|
||||
segment_himem_ff_end=$bfff
|
||||
segment_himem_ff_bank=$ff
|
||||
|
||||
[define]
|
||||
CBM=1
|
||||
COMMANDER_X16=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=2
|
||||
HAS_BITMAP_MODE=1
|
||||
; Use VERA 0.8, as this is what the newest version of the emulator implements:
|
||||
VERA_VERSION=8
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=startaddr,allocated
|
||||
extension=prg
|
||||
labels=vice
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
;a single-load ZX Spectrum 48k program
|
||||
[compilation]
|
||||
arch=z80
|
||||
encoding=sinclair
|
||||
modules=default_panic,zxspectrum,stdlib,default_readword
|
||||
|
||||
[allocation]
|
||||
segments=default,slowram
|
||||
segment_default_start=$8000
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$ffff
|
||||
segment_slowram_start=$5ccb
|
||||
segment_slowram_end=$7fff
|
||||
|
||||
[define]
|
||||
ZX_SPECTRUM=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=tap
|
||||
extension=tap
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
;a single-load ZX Spectrum 48k program
|
||||
;using just the Intel 8080 instruction set
|
||||
[compilation]
|
||||
arch=i8080
|
||||
encoding=sinclair
|
||||
modules=default_panic,zxspectrum,stdlib
|
||||
|
||||
[allocation]
|
||||
segments=default,slowram
|
||||
segment_default_start=$8000
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$ffff
|
||||
segment_slowram_start=$5ccb
|
||||
segment_slowram_end=$7fff
|
||||
|
||||
[define]
|
||||
ZX_SPECTRUM=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=tap
|
||||
extension=tap
|
||||
|
||||
|
||||
Reference in New Issue
Block a user