mirror of https://github.com/wwarthen/RomWBW.git
2 changed files with 547 additions and 547 deletions
@ -1,341 +1,341 @@ |
|||||
diskdef ibm-3740 |
|
||||
seclen 128 |
|
||||
tracks 77 |
|
||||
sectrk 26 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 6 |
|
||||
boottrk 2 |
|
||||
os p2dos |
|
||||
end |
|
||||
|
|
||||
diskdef 4mb-hd |
|
||||
seclen 128 |
|
||||
tracks 1024 |
|
||||
sectrk 32 |
|
||||
blocksize 2048 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
os p2dos |
|
||||
end |
|
||||
|
|
||||
diskdef pcw |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 9 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 1 |
|
||||
boottrk 1 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
diskdef pc1.2m |
|
||||
seclen 512 |
|
||||
tracks 80 |
|
||||
# this format uses 15 sectors per track, but 30 per cylinder |
|
||||
sectrk 30 |
|
||||
blocksize 4096 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
# CP/M 86 on 1.44MB floppies |
|
||||
diskdef cpm86-144feat |
|
||||
seclen 512 |
|
||||
tracks 160 |
|
||||
sectrk 18 |
|
||||
blocksize 4096 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 2 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
diskdef cf2dd |
|
||||
seclen 512 |
|
||||
tracks 160 |
|
||||
sectrk 9 |
|
||||
blocksize 2048 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 1 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
#amstrad: values are read from super block (special name hardcoded) |
|
||||
|
|
||||
# Royal alphatronic |
|
||||
# setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2 |
|
||||
diskdef alpha |
|
||||
seclen 256 |
|
||||
tracks 40 |
|
||||
sectrk 32 |
|
||||
blocksize 2048 |
|
||||
maxdir 128 |
|
||||
skew 1 |
|
||||
boottrk 2 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# Apple II CP/M skew o Apple II DOS 3.3 skew |
|
||||
diskdef apple-do |
|
||||
seclen 256 |
|
||||
tracks 35 |
|
||||
sectrk 16 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 0 |
|
||||
boottrk 3 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# Apple II CP/M skew o Apple II PRODOS skew |
|
||||
diskdef apple-po |
|
||||
seclen 256 |
|
||||
tracks 35 |
|
||||
sectrk 16 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 0 |
|
||||
boottrk 3 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# MYZ80 hard drive (only works with libdsk, because it has a 256-byte header) |
|
||||
diskdef myz80 |
|
||||
seclen 1024 |
|
||||
tracks 64 |
|
||||
sectrk 128 |
|
||||
blocksize 4096 |
|
||||
maxdir 1024 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
# Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad |
|
||||
# superblock. You'll need to use libdsk to access them because the Linux |
|
||||
# and Windows kernel drivers won't touch them. |
|
||||
diskdef cpcsys |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 9 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 1 |
|
||||
boottrk 2 |
|
||||
os 3 |
|
||||
end |
|
||||
diskdef cpcdata |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 9 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
# after being read in with no sector skew. |
|
||||
diskdef nigdos |
|
||||
seclen 512 |
|
||||
# NigDos double sided disk format, 42 tracks * 2 sides |
|
||||
tracks 84 |
|
||||
sectrk 10 |
|
||||
blocksize 2048 |
|
||||
maxdir 128 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
# this format wastes half of the directory entry |
|
||||
logicalextents 1 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
diskdef epsqx10 |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 20 |
|
||||
blocksize 2048 |
|
||||
maxdir 128 |
|
||||
skew 0 |
|
||||
boottrk 2 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef ibm-8ss |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 8 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 0 |
|
||||
boottrk 1 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef ibm-8ds |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 8 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 0 |
|
||||
boottrk 1 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef electroglas |
|
||||
seclen 512 |
|
||||
tracks 80 |
|
||||
sectrk 10 |
|
||||
blocksize 2048 |
|
||||
maxdir 256 |
|
||||
skew 0 |
|
||||
boottrk 1 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
# IBM CP/M-86 |
|
||||
# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1 |
|
||||
diskdef ibmpc-514ss |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 8 |
|
||||
blocksize 1024 |
|
||||
maxdir 64 |
|
||||
skew 1 |
|
||||
boottrk 1 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# IBM CP/M-86 |
|
||||
# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 |
|
||||
diskdef ibmpc-514ds |
|
||||
seclen 512 |
|
||||
tracks 80 |
|
||||
sectrk 8 |
|
||||
blocksize 2048 |
|
||||
maxdir 64 |
|
||||
skew 0 |
|
||||
boottrk 2 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef p112 |
|
||||
seclen 512 |
|
||||
tracks 160 |
|
||||
sectrk 18 |
|
||||
blocksize 2048 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 2 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
diskdef p112-old |
|
||||
seclen 512 |
|
||||
tracks 160 |
|
||||
sectrk 18 |
|
||||
blocksize 2048 |
|
||||
maxdir 128 |
|
||||
skew 1 |
|
||||
boottrk 1 |
|
||||
os 3 |
|
||||
end |
|
||||
|
|
||||
diskdef kpii |
|
||||
seclen 512 |
|
||||
tracks 40 |
|
||||
sectrk 10 |
|
||||
blocksize 1024 |
|
||||
maxdir 32 |
|
||||
skew 0 |
|
||||
boottrk 1 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# setfdprm /dev/fd0 dd sect=10 |
|
||||
diskdef interak |
|
||||
seclen 512 |
|
||||
tracks 80 |
|
||||
sectrk 20 |
|
||||
blocksize 4096 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 2 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# For 512KB ROM, less 32K for system image |
|
||||
diskdef rom512KB |
|
||||
seclen 128 |
|
||||
tracks 14 |
|
||||
sectrk 256 |
|
||||
blocksize 2048 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# For 1024KB ROM, less 32K for system image |
|
||||
diskdef rom1024KB |
|
||||
seclen 128 |
|
||||
tracks 30 |
|
||||
sectrk 256 |
|
||||
blocksize 2048 |
|
||||
maxdir 256 |
|
||||
skew 1 |
|
||||
boottrk 0 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
# For N8VEM mass storage (4 raw partitions) |
|
||||
diskdef hd0 |
|
||||
seclen 512 |
|
||||
tracks 65 |
|
||||
sectrk 256 |
|
||||
blocksize 4096 |
|
||||
maxdir 512 |
|
||||
skew 1 |
|
||||
boottrk 1 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef hd1 |
|
||||
seclen 512 |
|
||||
tracks 130 |
|
||||
sectrk 256 |
|
||||
blocksize 4096 |
|
||||
maxdir 512 |
|
||||
skew 1 |
|
||||
boottrk 66 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef hd2 |
|
||||
seclen 512 |
|
||||
tracks 195 |
|
||||
sectrk 256 |
|
||||
blocksize 4096 |
|
||||
maxdir 512 |
|
||||
skew 1 |
|
||||
boottrk 131 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
|
||||
diskdef hd3 |
|
||||
seclen 512 |
|
||||
tracks 260 |
|
||||
sectrk 256 |
|
||||
blocksize 4096 |
|
||||
maxdir 512 |
|
||||
skew 1 |
|
||||
boottrk 196 |
|
||||
os 2.2 |
|
||||
end |
|
||||
|
diskdef ibm-3740 |
||||
|
seclen 128 |
||||
|
tracks 77 |
||||
|
sectrk 26 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 6 |
||||
|
boottrk 2 |
||||
|
os p2dos |
||||
|
end |
||||
|
|
||||
|
diskdef 4mb-hd |
||||
|
seclen 128 |
||||
|
tracks 1024 |
||||
|
sectrk 32 |
||||
|
blocksize 2048 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
os p2dos |
||||
|
end |
||||
|
|
||||
|
diskdef pcw |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 9 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 1 |
||||
|
boottrk 1 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
diskdef pc1.2m |
||||
|
seclen 512 |
||||
|
tracks 80 |
||||
|
# this format uses 15 sectors per track, but 30 per cylinder |
||||
|
sectrk 30 |
||||
|
blocksize 4096 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
# CP/M 86 on 1.44MB floppies |
||||
|
diskdef cpm86-144feat |
||||
|
seclen 512 |
||||
|
tracks 160 |
||||
|
sectrk 18 |
||||
|
blocksize 4096 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 2 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
diskdef cf2dd |
||||
|
seclen 512 |
||||
|
tracks 160 |
||||
|
sectrk 9 |
||||
|
blocksize 2048 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 1 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
#amstrad: values are read from super block (special name hardcoded) |
||||
|
|
||||
|
# Royal alphatronic |
||||
|
# setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2 |
||||
|
diskdef alpha |
||||
|
seclen 256 |
||||
|
tracks 40 |
||||
|
sectrk 32 |
||||
|
blocksize 2048 |
||||
|
maxdir 128 |
||||
|
skew 1 |
||||
|
boottrk 2 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# Apple II CP/M skew o Apple II DOS 3.3 skew |
||||
|
diskdef apple-do |
||||
|
seclen 256 |
||||
|
tracks 35 |
||||
|
sectrk 16 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 0 |
||||
|
boottrk 3 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# Apple II CP/M skew o Apple II PRODOS skew |
||||
|
diskdef apple-po |
||||
|
seclen 256 |
||||
|
tracks 35 |
||||
|
sectrk 16 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 0 |
||||
|
boottrk 3 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# MYZ80 hard drive (only works with libdsk, because it has a 256-byte header) |
||||
|
diskdef myz80 |
||||
|
seclen 1024 |
||||
|
tracks 64 |
||||
|
sectrk 128 |
||||
|
blocksize 4096 |
||||
|
maxdir 1024 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
# Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad |
||||
|
# superblock. You'll need to use libdsk to access them because the Linux |
||||
|
# and Windows kernel drivers won't touch them. |
||||
|
diskdef cpcsys |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 9 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 1 |
||||
|
boottrk 2 |
||||
|
os 3 |
||||
|
end |
||||
|
diskdef cpcdata |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 9 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
# after being read in with no sector skew. |
||||
|
diskdef nigdos |
||||
|
seclen 512 |
||||
|
# NigDos double sided disk format, 42 tracks * 2 sides |
||||
|
tracks 84 |
||||
|
sectrk 10 |
||||
|
blocksize 2048 |
||||
|
maxdir 128 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
# this format wastes half of the directory entry |
||||
|
logicalextents 1 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
diskdef epsqx10 |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 20 |
||||
|
blocksize 2048 |
||||
|
maxdir 128 |
||||
|
skew 0 |
||||
|
boottrk 2 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef ibm-8ss |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 8 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 0 |
||||
|
boottrk 1 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef ibm-8ds |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 8 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 0 |
||||
|
boottrk 1 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef electroglas |
||||
|
seclen 512 |
||||
|
tracks 80 |
||||
|
sectrk 10 |
||||
|
blocksize 2048 |
||||
|
maxdir 256 |
||||
|
skew 0 |
||||
|
boottrk 1 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
# IBM CP/M-86 |
||||
|
# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1 |
||||
|
diskdef ibmpc-514ss |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 8 |
||||
|
blocksize 1024 |
||||
|
maxdir 64 |
||||
|
skew 1 |
||||
|
boottrk 1 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# IBM CP/M-86 |
||||
|
# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 |
||||
|
diskdef ibmpc-514ds |
||||
|
seclen 512 |
||||
|
tracks 80 |
||||
|
sectrk 8 |
||||
|
blocksize 2048 |
||||
|
maxdir 64 |
||||
|
skew 0 |
||||
|
boottrk 2 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef p112 |
||||
|
seclen 512 |
||||
|
tracks 160 |
||||
|
sectrk 18 |
||||
|
blocksize 2048 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 2 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
diskdef p112-old |
||||
|
seclen 512 |
||||
|
tracks 160 |
||||
|
sectrk 18 |
||||
|
blocksize 2048 |
||||
|
maxdir 128 |
||||
|
skew 1 |
||||
|
boottrk 1 |
||||
|
os 3 |
||||
|
end |
||||
|
|
||||
|
diskdef kpii |
||||
|
seclen 512 |
||||
|
tracks 40 |
||||
|
sectrk 10 |
||||
|
blocksize 1024 |
||||
|
maxdir 32 |
||||
|
skew 0 |
||||
|
boottrk 1 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# setfdprm /dev/fd0 dd sect=10 |
||||
|
diskdef interak |
||||
|
seclen 512 |
||||
|
tracks 80 |
||||
|
sectrk 20 |
||||
|
blocksize 4096 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 2 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# For 512KB ROM, less 32K for system image |
||||
|
diskdef rom512KB |
||||
|
seclen 128 |
||||
|
tracks 14 |
||||
|
sectrk 256 |
||||
|
blocksize 2048 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# For 1024KB ROM, less 32K for system image |
||||
|
diskdef rom1024KB |
||||
|
seclen 128 |
||||
|
tracks 30 |
||||
|
sectrk 256 |
||||
|
blocksize 2048 |
||||
|
maxdir 256 |
||||
|
skew 1 |
||||
|
boottrk 0 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
# For N8VEM mass storage (4 raw partitions) |
||||
|
diskdef hd0 |
||||
|
seclen 512 |
||||
|
tracks 65 |
||||
|
sectrk 256 |
||||
|
blocksize 4096 |
||||
|
maxdir 512 |
||||
|
skew 1 |
||||
|
boottrk 1 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef hd1 |
||||
|
seclen 512 |
||||
|
tracks 130 |
||||
|
sectrk 256 |
||||
|
blocksize 4096 |
||||
|
maxdir 512 |
||||
|
skew 1 |
||||
|
boottrk 66 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef hd2 |
||||
|
seclen 512 |
||||
|
tracks 195 |
||||
|
sectrk 256 |
||||
|
blocksize 4096 |
||||
|
maxdir 512 |
||||
|
skew 1 |
||||
|
boottrk 131 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|
||||
|
diskdef hd3 |
||||
|
seclen 512 |
||||
|
tracks 260 |
||||
|
sectrk 256 |
||||
|
blocksize 4096 |
||||
|
maxdir 512 |
||||
|
skew 1 |
||||
|
boottrk 196 |
||||
|
os 2.2 |
||||
|
end |
||||
|
|||||
@ -1,206 +1,206 @@ |
|||||
# |
|
||||
# GCC based makefile |
|
||||
# |
|
||||
# 06/18/2012 2.0 dgg - updated for v2.0 |
|
||||
# |
|
||||
# 02/22/2012 1.5 dgg - modified for assembly under Linux |
|
||||
# |
|
||||
# 01/11/2011 1.4 wbw - added support for ZSDOS/ZDDOS/ZCPR |
|
||||
# |
|
||||
# 12/22/2011 1.3 wbw - removed all built-in config stuff, operation is now entirely |
|
||||
# dependent on variables CONFIG, ROMSIZE, and CPU |
|
||||
# |
|
||||
# 12/02/2011 1.3 wbw - replaced makever functionality with built-in makefile stuff |
|
||||
# |
|
||||
# 11/29/2011 1.3 dwg - uses makever to generate stdincl.inc from the version.hpp file |
|
||||
# |
|
||||
# 11/19/2011 1.3 dwg - added n8vem_vdu to "usage" and "all" rules |
|
||||
# enhanced clean to get files in $(OUTDIR) |
|
||||
# added custom to "all" rule |
|
||||
|
|
||||
# |
|
||||
# The operation of this makefile is entirely dependent on the setting |
|
||||
# of three variables: CONFIG, ROMSIZE, and CPU: |
|
||||
# |
|
||||
# CONFIG determines which configuration to build which means that |
|
||||
# it will determine the config_xxx.asm config settings file to |
|
||||
# include as well as the output file names. So, for example, |
|
||||
# if CONFIG is "n8vem", the config_n8vem.asm file will be used |
|
||||
# for BIOS configuration settings and the output files will be |
|
||||
# n8vem.rom, n8vem.sys, and n8vem.com. |
|
||||
# |
|
||||
# ROMSIZE specifies the size of the ROM image to be produced and |
|
||||
# currently must be either "1024" for a 1MB ROM or "512" for a |
|
||||
# 512KB ROM. |
|
||||
# |
|
||||
# CPU specifies the instruction set to be used in assembly and |
|
||||
# must be either "80" for Z80 or "180" for Z180. Currently, |
|
||||
# you should use 180 for N8 ROMs and 80 for everything else. |
|
||||
# |
|
||||
# SYS specifies the system variant to build in. CPM will |
|
||||
# build traditional CP/M. ZSYS will build ZSystem which |
|
||||
# currently means ZSDOS 1.2 & ZCPR 1.0 |
|
||||
# |
|
||||
# ROMNAME names the output file. It defaults to |
|
||||
# CONFIG. The output of the build will be: |
|
||||
# <ROMNAME>.rom, <ROMNAME>.sys, and <ROMNAME>.com. |
|
||||
# |
|
||||
# These variables can be passed into the makefile by the command |
|
||||
# line, hardcoded in this file, or set as environment variables |
|
||||
# in the OS. To use a command line, use the following format: |
|
||||
# |
|
||||
# make CONFIG=<config> ROMSIZE=<romsize> CPU=<cpu> SYS=<sys> ROMNAME=<romname> |
|
||||
# |
|
||||
# An example of this is: |
|
||||
# |
|
||||
# make CONFIG=n8vem ROMSIZE=512 CPU=80 SYS=CPM ROMNAME=n8vem |
|
||||
# |
|
||||
# Alternatively, you can specify the variables by hardcoding them |
|
||||
# in this file. To do so, uncomment the five lines after these |
|
||||
# comments and change the values as desired. |
|
||||
# If the variables are specified this way, you would then invoke |
|
||||
# the make by simply using "make" |
|
||||
# |
|
||||
# If you want to set them as environment variables, you can |
|
||||
# do this with commands like the following at an OS command |
|
||||
# prompt or in a batch file: |
|
||||
# |
|
||||
# SET CONFIG=n8vem |
|
||||
# SET ROMSIZE=512 |
|
||||
# SET CPU=80 |
|
||||
# SET SYS=CPM |
|
||||
# SET ROMNAME=n8vem |
|
||||
# |
|
||||
# Note: use "make clean" to delete temporary and output files |
|
||||
# |
|
||||
# A good idea is to do a clean with every build and this can be |
|
||||
# accomplished on one command line doing something like this: |
|
||||
# |
|
||||
# make clean all CONFIG=n8vem ROMSIZE=512 CPU=80 SYS=CPM ROMNAME=n8vem |
|
||||
# |
|
||||
# or, if you are using hard coded variables above: |
|
||||
# |
|
||||
# make clean all |
|
||||
# |
|
||||
# Uncomment and update values below to hardcode settings: |
|
||||
# |
|
||||
#CONFIG := n8vem |
|
||||
#ROMSIZE := 512 |
|
||||
#CPU := 80 |
|
||||
#SYS := CPM |
|
||||
#ROMNAME := n8vem |
|
||||
|
|
||||
ifndef ROMNAME |
|
||||
ROMNAME := $(CONFIG) |
|
||||
endif |
|
||||
|
|
||||
CPMCP := /usr/bin/cpmcp |
|
||||
|
|
||||
ROMDSKFILES := ../RomDsk/$(SYS)_$(ROMSIZE)KB/*.* ../RomDsk/cfg_$(CONFIG)/*.* ../Apps/core/*.* |
|
||||
|
|
||||
ifeq "$(SYS)" "CPM" |
|
||||
DOSBIN := bdosb01.bin |
|
||||
CPBIN := ccpb03.bin |
|
||||
else |
|
||||
DOSBIN := zsdos.bin |
|
||||
CPBIN := zcprw.bin |
|
||||
endif |
|
||||
|
|
||||
OUTDIR := ../Output |
|
||||
|
|
||||
TASM := /usr/local/bin/tasm |
|
||||
TASMTABS := /usr/local/lib |
|
||||
export TASMTABS |
|
||||
|
|
||||
ASMOPT80 := -t$(CPU) -g3 |
|
||||
ASMOPT85 := -t85 -g3 |
|
||||
|
|
||||
ASM80 := $(TASM) $(ASMOPT80) |
|
||||
ASM85 := $(TASM) $(ASMOPT85) |
|
||||
ASMIMG := $(TASM) $(ASMOPT80) -b -fE5 |
|
||||
|
|
||||
NULL := |
|
||||
SPACE := ${NULL} ${NULL} |
|
||||
|
|
||||
%.bin: %.asm |
|
||||
$(ASM80) $< $@ |
|
||||
|
|
||||
%.com: %.asm |
|
||||
$(ASM80) $< $@ |
|
||||
|
|
||||
%.img: %.asm |
|
||||
$(ASMIMG) $< $@ |
|
||||
|
|
||||
%.exe: %.cpp |
|
||||
$(CC) $< -o $@ |
|
||||
|
|
||||
ifneq ($(MAKECMDGOALS),clean) |
|
||||
ifeq "$(and $(CONFIG), $(ROMSIZE), $(CPU), $(SYS), $(ROMNAME))" "" |
|
||||
$(error Usage: make CONFIG=<config> ROMSIZE=[512|1024] CPU=[80|180] SYS=[CPM|ZSYS] ROMNAME=<romname>) |
|
||||
endif |
|
||||
endif |
|
||||
|
|
||||
all: $(OUTDIR)/$(ROMNAME).rom $(OUTDIR)/$(ROMNAME).sys $(OUTDIR)/$(ROMNAME).com |
|
||||
|
|
||||
build.inc: |
|
||||
echo ';' >$@ |
|
||||
echo -n '; RomWBW Configured for '$(CONFIG)' ' >>$@ |
|
||||
date >> $@ |
|
||||
echo ; >>$@ |
|
||||
echo -n '#DEFINE TIMESTAMP "' >>$@ |
|
||||
date '+%Y %m %d %H%M"' >>$@ |
|
||||
echo ; >>$@ |
|
||||
echo '#DEFINE VARIANT "WBW-$(USERNAME)"' >>$@ |
|
||||
echo ; >>$@ |
|
||||
echo ROMSIZE .EQU $(ROMSIZE) >>$@ |
|
||||
echo ; >>$@ |
|
||||
echo '#INCLUDE "config_'$(CONFIG)'.asm"' >>$@ |
|
||||
echo ; >>$@ |
|
||||
|
|
||||
bootrom.bin : bootrom.asm std.asm build.inc ver.inc |
|
||||
$(TASM) $(ASMOPT80) $< $@ |
|
||||
|
|
||||
bootapp.bin : bootapp.asm std.asm build.inc ver.inc |
|
||||
$(TASM) $(ASMOPT80) $< $@ |
|
||||
|
|
||||
pgzero.bin : pgzero.asm std.asm build.inc ver.inc |
|
||||
$(TASM) $(ASMOPT80) $< $@ |
|
||||
|
|
||||
zcprw.bin : zcprw.asm zcpr.asm |
|
||||
$(TASM) $(ASMOPT85) $< $@ |
|
||||
|
|
||||
zsdos.bin : zsdos.asm zsdos.lib zsdos-gp.z80 |
|
||||
$(TASM) $(ASMOPT80) $< $@ |
|
||||
|
|
||||
cbios.bin: cbios.asm fd_data.asm ide_data.asm ppide_data.asm sd_data.asm prp_data.asm ppp_data.asm uart.asm vdu.asm std.asm ver.inc build.inc |
|
||||
$(TASM) $(ASMOPT80) -dBLD_SYS=SYS_$(SYS) $< $@ |
|
||||
|
|
||||
dbgmon.bin: dbgmon.asm std.asm ver.inc build.inc |
|
||||
|
|
||||
syscfg.bin: syscfg.asm std.asm build.inc ver.inc |
|
||||
|
|
||||
os.bin: $(CPBIN) $(DOSBIN) cbios.bin |
|
||||
cat $(CPBIN) $(DOSBIN) cbios.bin >>$@ |
|
||||
|
|
||||
rom0.bin: pgzero.bin bootrom.bin syscfg.bin loader.bin romfill.bin dbgmon.bin os.bin hbfill.bin |
|
||||
cat pgzero.bin bootrom.bin syscfg.bin loader.bin romfill.bin dbgmon.bin os.bin hbfill.bin >>$@ |
|
||||
|
|
||||
rom1.bin: pgzero.bin bootrom.bin syscfg.bin loader.bin bnk1.bin |
|
||||
cat pgzero.bin bootrom.bin syscfg.bin loader.bin bnk1.bin >>$@ |
|
||||
|
|
||||
$(OUTDIR)/$(ROMNAME).rom: rom0.bin rom1.bin $(ROMDISKFILES) $(OUTDIR)/$(ROMNAME).sys |
|
||||
cp blank$(ROMSIZE)KB.dat RomDisk.tmp |
|
||||
$(CPMCP) -f rom$(ROMSIZE)KB RomDisk.tmp $(ROMDSKFILES) 0: |
|
||||
$(CPMCP) -f rom$(ROMSIZE)KB RomDisk.tmp ../Output/$(ROMNAME).sys 0:$(SYS).sys |
|
||||
cat rom0.bin rom1.bin RomDisk.tmp >>$@ |
|
||||
|
|
||||
$(OUTDIR)/$(ROMNAME).com: bootapp.bin syscfg.bin loader.bin bnk1.bin dbgmon.bin os.bin |
|
||||
cat bootapp.bin syscfg.bin loader.bin bnk1.bin dbgmon.bin os.bin >>$@ |
|
||||
|
|
||||
$(OUTDIR)/$(ROMNAME).sys: prefix.bin os.bin |
|
||||
cat prefix.bin os.bin >>$@ |
|
||||
|
|
||||
clean: |
|
||||
rm -f *.bin *.com *.img *.rom *.lst *.exp *.tmp |
|
||||
rm -f build.inc |
|
||||
rm -f $(OUTDIR)/*.* |
|
||||
|
# |
||||
|
# GCC based makefile |
||||
|
# |
||||
|
# 06/18/2012 2.0 dgg - updated for v2.0 |
||||
|
# |
||||
|
# 02/22/2012 1.5 dgg - modified for assembly under Linux |
||||
|
# |
||||
|
# 01/11/2011 1.4 wbw - added support for ZSDOS/ZDDOS/ZCPR |
||||
|
# |
||||
|
# 12/22/2011 1.3 wbw - removed all built-in config stuff, operation is now entirely |
||||
|
# dependent on variables CONFIG, ROMSIZE, and CPU |
||||
|
# |
||||
|
# 12/02/2011 1.3 wbw - replaced makever functionality with built-in makefile stuff |
||||
|
# |
||||
|
# 11/29/2011 1.3 dwg - uses makever to generate stdincl.inc from the version.hpp file |
||||
|
# |
||||
|
# 11/19/2011 1.3 dwg - added n8vem_vdu to "usage" and "all" rules |
||||
|
# enhanced clean to get files in $(OUTDIR) |
||||
|
# added custom to "all" rule |
||||
|
|
||||
|
# |
||||
|
# The operation of this makefile is entirely dependent on the setting |
||||
|
# of three variables: CONFIG, ROMSIZE, and CPU: |
||||
|
# |
||||
|
# CONFIG determines which configuration to build which means that |
||||
|
# it will determine the config_xxx.asm config settings file to |
||||
|
# include as well as the output file names. So, for example, |
||||
|
# if CONFIG is "n8vem", the config_n8vem.asm file will be used |
||||
|
# for BIOS configuration settings and the output files will be |
||||
|
# n8vem.rom, n8vem.sys, and n8vem.com. |
||||
|
# |
||||
|
# ROMSIZE specifies the size of the ROM image to be produced and |
||||
|
# currently must be either "1024" for a 1MB ROM or "512" for a |
||||
|
# 512KB ROM. |
||||
|
# |
||||
|
# CPU specifies the instruction set to be used in assembly and |
||||
|
# must be either "80" for Z80 or "180" for Z180. Currently, |
||||
|
# you should use 180 for N8 ROMs and 80 for everything else. |
||||
|
# |
||||
|
# SYS specifies the system variant to build in. CPM will |
||||
|
# build traditional CP/M. ZSYS will build ZSystem which |
||||
|
# currently means ZSDOS 1.2 & ZCPR 1.0 |
||||
|
# |
||||
|
# ROMNAME names the output file. It defaults to |
||||
|
# CONFIG. The output of the build will be: |
||||
|
# <ROMNAME>.rom, <ROMNAME>.sys, and <ROMNAME>.com. |
||||
|
# |
||||
|
# These variables can be passed into the makefile by the command |
||||
|
# line, hardcoded in this file, or set as environment variables |
||||
|
# in the OS. To use a command line, use the following format: |
||||
|
# |
||||
|
# make CONFIG=<config> ROMSIZE=<romsize> CPU=<cpu> SYS=<sys> ROMNAME=<romname> |
||||
|
# |
||||
|
# An example of this is: |
||||
|
# |
||||
|
# make CONFIG=n8vem ROMSIZE=512 CPU=80 SYS=CPM ROMNAME=n8vem |
||||
|
# |
||||
|
# Alternatively, you can specify the variables by hardcoding them |
||||
|
# in this file. To do so, uncomment the five lines after these |
||||
|
# comments and change the values as desired. |
||||
|
# If the variables are specified this way, you would then invoke |
||||
|
# the make by simply using "make" |
||||
|
# |
||||
|
# If you want to set them as environment variables, you can |
||||
|
# do this with commands like the following at an OS command |
||||
|
# prompt or in a batch file: |
||||
|
# |
||||
|
# SET CONFIG=n8vem |
||||
|
# SET ROMSIZE=512 |
||||
|
# SET CPU=80 |
||||
|
# SET SYS=CPM |
||||
|
# SET ROMNAME=n8vem |
||||
|
# |
||||
|
# Note: use "make clean" to delete temporary and output files |
||||
|
# |
||||
|
# A good idea is to do a clean with every build and this can be |
||||
|
# accomplished on one command line doing something like this: |
||||
|
# |
||||
|
# make clean all CONFIG=n8vem ROMSIZE=512 CPU=80 SYS=CPM ROMNAME=n8vem |
||||
|
# |
||||
|
# or, if you are using hard coded variables above: |
||||
|
# |
||||
|
# make clean all |
||||
|
# |
||||
|
# Uncomment and update values below to hardcode settings: |
||||
|
# |
||||
|
#CONFIG := n8vem |
||||
|
#ROMSIZE := 512 |
||||
|
#CPU := 80 |
||||
|
#SYS := CPM |
||||
|
#ROMNAME := n8vem |
||||
|
|
||||
|
ifndef ROMNAME |
||||
|
ROMNAME := $(CONFIG) |
||||
|
endif |
||||
|
|
||||
|
CPMCP := /usr/bin/cpmcp |
||||
|
|
||||
|
ROMDSKFILES := ../RomDsk/$(SYS)_$(ROMSIZE)KB/*.* ../RomDsk/cfg_$(CONFIG)/*.* ../Apps/core/*.* |
||||
|
|
||||
|
ifeq "$(SYS)" "CPM" |
||||
|
DOSBIN := bdosb01.bin |
||||
|
CPBIN := ccpb03.bin |
||||
|
else |
||||
|
DOSBIN := zsdos.bin |
||||
|
CPBIN := zcprw.bin |
||||
|
endif |
||||
|
|
||||
|
OUTDIR := ../Output |
||||
|
|
||||
|
TASM := /usr/local/bin/tasm |
||||
|
TASMTABS := /usr/local/lib |
||||
|
export TASMTABS |
||||
|
|
||||
|
ASMOPT80 := -t$(CPU) -g3 |
||||
|
ASMOPT85 := -t85 -g3 |
||||
|
|
||||
|
ASM80 := $(TASM) $(ASMOPT80) |
||||
|
ASM85 := $(TASM) $(ASMOPT85) |
||||
|
ASMIMG := $(TASM) $(ASMOPT80) -b -fE5 |
||||
|
|
||||
|
NULL := |
||||
|
SPACE := ${NULL} ${NULL} |
||||
|
|
||||
|
%.bin: %.asm |
||||
|
$(ASM80) $< $@ |
||||
|
|
||||
|
%.com: %.asm |
||||
|
$(ASM80) $< $@ |
||||
|
|
||||
|
%.img: %.asm |
||||
|
$(ASMIMG) $< $@ |
||||
|
|
||||
|
%.exe: %.cpp |
||||
|
$(CC) $< -o $@ |
||||
|
|
||||
|
ifneq ($(MAKECMDGOALS),clean) |
||||
|
ifeq "$(and $(CONFIG), $(ROMSIZE), $(CPU), $(SYS), $(ROMNAME))" "" |
||||
|
$(error Usage: make CONFIG=<config> ROMSIZE=[512|1024] CPU=[80|180] SYS=[CPM|ZSYS] ROMNAME=<romname>) |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
all: $(OUTDIR)/$(ROMNAME).rom $(OUTDIR)/$(ROMNAME).sys $(OUTDIR)/$(ROMNAME).com |
||||
|
|
||||
|
build.inc: |
||||
|
echo ';' >$@ |
||||
|
echo -n '; RomWBW Configured for '$(CONFIG)' ' >>$@ |
||||
|
date >> $@ |
||||
|
echo ; >>$@ |
||||
|
echo -n '#DEFINE TIMESTAMP "' >>$@ |
||||
|
date '+%Y %m %d %H%M"' >>$@ |
||||
|
echo ; >>$@ |
||||
|
echo '#DEFINE VARIANT "WBW-$(USERNAME)"' >>$@ |
||||
|
echo ; >>$@ |
||||
|
echo ROMSIZE .EQU $(ROMSIZE) >>$@ |
||||
|
echo ; >>$@ |
||||
|
echo '#INCLUDE "config_'$(CONFIG)'.asm"' >>$@ |
||||
|
echo ; >>$@ |
||||
|
|
||||
|
bootrom.bin : bootrom.asm std.asm build.inc ver.inc |
||||
|
$(TASM) $(ASMOPT80) $< $@ |
||||
|
|
||||
|
bootapp.bin : bootapp.asm std.asm build.inc ver.inc |
||||
|
$(TASM) $(ASMOPT80) $< $@ |
||||
|
|
||||
|
pgzero.bin : pgzero.asm std.asm build.inc ver.inc |
||||
|
$(TASM) $(ASMOPT80) $< $@ |
||||
|
|
||||
|
zcprw.bin : zcprw.asm zcpr.asm |
||||
|
$(TASM) $(ASMOPT85) $< $@ |
||||
|
|
||||
|
zsdos.bin : zsdos.asm zsdos.lib zsdos-gp.z80 |
||||
|
$(TASM) $(ASMOPT80) $< $@ |
||||
|
|
||||
|
cbios.bin: cbios.asm fd_data.asm ide_data.asm ppide_data.asm sd_data.asm prp_data.asm ppp_data.asm uart.asm vdu.asm std.asm ver.inc build.inc |
||||
|
$(TASM) $(ASMOPT80) -dBLD_SYS=SYS_$(SYS) $< $@ |
||||
|
|
||||
|
dbgmon.bin: dbgmon.asm std.asm ver.inc build.inc |
||||
|
|
||||
|
syscfg.bin: syscfg.asm std.asm build.inc ver.inc |
||||
|
|
||||
|
os.bin: $(CPBIN) $(DOSBIN) cbios.bin |
||||
|
cat $(CPBIN) $(DOSBIN) cbios.bin >>$@ |
||||
|
|
||||
|
rom0.bin: pgzero.bin bootrom.bin syscfg.bin loader.bin romfill.bin dbgmon.bin os.bin hbfill.bin |
||||
|
cat pgzero.bin bootrom.bin syscfg.bin loader.bin romfill.bin dbgmon.bin os.bin hbfill.bin >>$@ |
||||
|
|
||||
|
rom1.bin: pgzero.bin bootrom.bin syscfg.bin loader.bin bnk1.bin |
||||
|
cat pgzero.bin bootrom.bin syscfg.bin loader.bin bnk1.bin >>$@ |
||||
|
|
||||
|
$(OUTDIR)/$(ROMNAME).rom: rom0.bin rom1.bin $(ROMDISKFILES) $(OUTDIR)/$(ROMNAME).sys |
||||
|
cp blank$(ROMSIZE)KB.dat RomDisk.tmp |
||||
|
$(CPMCP) -f rom$(ROMSIZE)KB RomDisk.tmp $(ROMDSKFILES) 0: |
||||
|
$(CPMCP) -f rom$(ROMSIZE)KB RomDisk.tmp ../Output/$(ROMNAME).sys 0:$(SYS).sys |
||||
|
cat rom0.bin rom1.bin RomDisk.tmp >>$@ |
||||
|
|
||||
|
$(OUTDIR)/$(ROMNAME).com: bootapp.bin syscfg.bin loader.bin bnk1.bin dbgmon.bin os.bin |
||||
|
cat bootapp.bin syscfg.bin loader.bin bnk1.bin dbgmon.bin os.bin >>$@ |
||||
|
|
||||
|
$(OUTDIR)/$(ROMNAME).sys: prefix.bin os.bin |
||||
|
cat prefix.bin os.bin >>$@ |
||||
|
|
||||
|
clean: |
||||
|
rm -f *.bin *.com *.img *.rom *.lst *.exp *.tmp |
||||
|
rm -f build.inc |
||||
|
rm -f $(OUTDIR)/*.* |
||||
|
|||||
Loading…
Reference in new issue