mirror of
https://github.com/marketideas/qasm.git
synced 2026-10-24 22:02:28 +00:00
Move the assembler to src/qasm. qlink links OMF 1.0 and 2.0 from a script. makeBin flattens a load file, qomf dumps OMF, and qpro builds ProDOS volumes. APW and MPW assemble through the ORCA front end. Relocatable modules emit OMF objects. Listings stay off unless -l is set. make boot assembles the GS/OS 6.0.1 ProDOS 8 kernel and BASIC.SYSTEM into an 800K volume. BASIC.SYSTEM accepts ls and pfx, and its splash reports PRODOS BASIC 2.0, copyright 1983-2026. IIGS.601.SRC is the source and the BASIC.SYSTEM oracle that image is built from.
1 line
5.3 KiB
Lua
1 line
5.3 KiB
Lua
#####################################################################################
|
|
# P8 Makefile
|
|
# By Bryan Atsatt
|
|
# from original by Grady Ward
|
|
# 06 Dec 88
|
|
#
|
|
#
|
|
# Modification history:
|
|
#
|
|
# Date Who What
|
|
# ------ --- -----------------------------------------------------------------
|
|
# 1/25/89 Monte Benaresh
|
|
# 06/14/90 GAB Included dependencies and build instructions for the new Quit code
|
|
# 08/22/90 GAB Included dependencies and build instructions for GQuit's dispatcher
|
|
#
|
|
#####################################################################################
|
|
|
|
DriverDir = "{P8}"P8.Drivers:
|
|
|
|
"{SDSystem}"p8 Ä "{Makefiles}"make.p8 ¶
|
|
"{workfolder}"cclock.bin ¶
|
|
"{workfolder}"tclock.bin ¶
|
|
"{workfolder}"ram.bin ¶
|
|
"{workfolder}"sel.bin ¶
|
|
"{workfolder}"sel.alt.bin ¶
|
|
"{workfolder}"QuitCode.bin ¶
|
|
"{workfolder}"xrwtot.bin ¶
|
|
"{workfolder}"ProdosBIN
|
|
OverlayIIGS "{workfolder}"ram.bin.2 "{workfolder}"ProdosBIN -a $0c80 # /RAM driver installer
|
|
OverlayIIGS "{workfolder}"ram.bin.3 "{workfolder}"ProdosBIN -a $0d00 # /Ram Main Bank driver
|
|
OverlayIIGS "{workfolder}"ProdosBIN.4 "{workfolder}"ProdosBIN -a $0d9B # page $FF interrupt handlers
|
|
OverlayIIGS "{workfolder}"ProdosBIN.2 "{workfolder}"ProdosBIN -a $0e00 # Global page
|
|
OverlayIIGS "{workfolder}"TClock.bin "{workfolder}"ProdosBIN -a $0f00 # Thunderclock driver
|
|
OverlayIIGS "{workfolder}"cclock.bin "{workfolder}"ProdosBIN -a $0f80 # GS Clock driver
|
|
OverlayIIGS "{workfolder}"ProdosBIN.3 "{workfolder}"ProdosBIN -a $1000 # Kernal
|
|
OverlayIIGS "{workfolder}"ram.bin "{workfolder}"ProdosBIN -a $3100 # /RAM Aux Bank driver
|
|
OverlayIIGS "{workfolder}"xrwtot.bin "{workfolder}"ProdosBIN -a $3300 # Disk ][ driver
|
|
OverlayIIGS "{workfolder}"sel.bin "{workfolder}"ProdosBIN -a $3a00 # _Quit call handler
|
|
OverlayIIGS "{workfolder}"QuitCode.bin "{workfolder}"ProdosBIN -a $3d00 # Better Bye _Quit call handler
|
|
OverlayIIGS "{workfolder}"SEL.alt.bin "{workfolder}"ProdosBIN -a $4000 # GQuit program loader and launcher (alternate quit code)
|
|
setfile -c pdos -t "FF " -m . "{workfolder}"ProdosBIN
|
|
duplicate -y "{workfolder}"ProdosBIN "{SDSystem}"p8
|
|
|
|
"{workfolder}"ProdosBIN Ä "{Makefiles}"make.p8 "{p8}"mlisrc.aii
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"P8.lst"; end
|
|
AsmIIGS "{p8}"mlisrc.aii -o "{object}"mlisrc.obj {asmoptions}
|
|
linkiigs -t "06 " ¶
|
|
-lseg PROCONE -org $002000 "{object}"mlisrc.obj(PROCONE) ¶
|
|
-lseg PROCTWO -org $00BF00 "{object}"mlisrc.obj(PROCTWO) ¶
|
|
-lseg PROCTHREE -org $00DE00 "{object}"mlisrc.obj(PROCTHREE) ¶
|
|
-lseg PROCFOUR -org $00FF9B "{object}"mlisrc.obj(PROCFOUR) ¶
|
|
-o "{workfolder}"mli.out {lnkoptions}
|
|
MakeBinIIgs "{workfolder}"mli.out -o "{workfolder}"ProdosBIN
|
|
|
|
"{workfolder}"cclock.bin Ä "{Makefiles}"make.p8 "{DriverDir}"cclock.n
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"CClock.lst"; end
|
|
AsmIIGS "{DriverDir}"cclock.n -o "{object}"cclock.n.obj {asmoptions}
|
|
linkiigs "{object}"cclock.n.obj -org $d742 -o "{workfolder}"cclock.out
|
|
MakeBinIIgs "{workfolder}"cclock.out -o "{workfolder}"cclock.bin
|
|
|
|
"{workfolder}"tclock.bin Ä "{Makefiles}"make.p8 "{DriverDir}"tclock.n
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"tclock.lst"; end
|
|
AsmIIGS "{DriverDir}"tclock.n -o "{object}"TClock.n.obj {asmoptions}
|
|
linkiigs "{object}"tclock.n.obj -org $d742 -o "{workfolder}"tclock.out
|
|
MakeBinIIgs "{workfolder}"tclock.out -o "{workfolder}"tclock.bin
|
|
|
|
"{workfolder}"ram.bin Ä "{Makefiles}"make.p8 "{DriverDir}"ram.n
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"Ram.lst"; end
|
|
AsmIIGS "{DriverDir}"ram.n -o "{object}"ram.n.obj {asmoptions}
|
|
linkiigs -o "{workfolder}"ram.out ¶
|
|
-lseg RAM1 -org $000200 "{object}"ram.n.obj(RAM1) ¶
|
|
-lseg RAM2 -org $002C80 "{object}"ram.n.obj(RAM2) ¶
|
|
-lseg RAM3 -org $00FF00 "{object}"ram.n.obj(RAM3) ¶
|
|
{lnkoptions}
|
|
makebiniigs "{workfolder}"ram.out -o "{workfolder}"ram.bin
|
|
|
|
"{workfolder}"sel.bin Ä "{Makefiles}"make.p8 "{DriverDir}"sel.n
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"Sel.lst"; end
|
|
AsmIIGS "{DriverDir}"sel.n -o "{object}"sel.n.obj {asmoptions}
|
|
linkiigs "{object}"sel.n.obj -org $1000 -o "{workfolder}"sel.out
|
|
makebiniigs "{workfolder}"sel.out -o "{workfolder}"sel.bin
|
|
|
|
"{workfolder}"sel.alt.bin Ä "{Makefiles}"make.p8 "{DriverDir}"sel.alt.n
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"Sel.Alt.lst"; end
|
|
AsmIIGS -i ""{Common}"" "{DriverDir}"sel.alt.n -o "{object}"sel.alt.obj {asmoptions}
|
|
LinkIIGS "{object}"sel.alt.obj -org $1000 -o "{workfolder}"sel.alt.out -t "06 "
|
|
MakeBinIIGS "{workfolder}"sel.alt.out -o "{workfolder}"sel.alt.bin
|
|
|
|
"{workfolder}"xrwtot.bin Ä "{Makefiles}"make.p8 "{DriverDir}"xrwtot.n
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"XrwTot.lst"; end
|
|
AsmIIGS "{DriverDir}"xrwtot.n -o "{object}"xrwtot.n.obj {asmoptions}
|
|
linkiigs "{object}"xrwtot.n.obj -org $D000 -o "{workfolder}"xrwtot.out
|
|
makebiniigs "{workfolder}"xrwtot.out -o "{workfolder}"xrwtot.bin
|
|
|
|
"{workfolder}"QuitCode.bin Ä "{DriverDir}"QuitCode.aii ¶
|
|
"{DriverDir}"M16.P8 ¶
|
|
"{DriverDir}"E16.8Bit ¶
|
|
"{DriverDir}"E16.P8
|
|
if "{ListFlag}"; Set AsmOptions "-l -m -lo ¶"{Listings}¶"QuitCode.lst"; end
|
|
AsmIIGS "{DriverDir}"QuitCode.aii -i "{DriverDir}" -o "{Object}"QuitCode.obj {asmoptions}
|
|
LinkIIGS "{Object}"QuitCode.obj -o "{workfolder}"QuitCode.out
|
|
MakeBinIIGS "{workfolder}"QuitCode.out -o "{workfolder}"QuitCode.bin
|