Files
Shawn Quick dfcaae62dd Add qlink, the disk tools, and a bootable ProDOS 8 image.
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.
2026-10-16 14:41:55 -07:00

1 line
2.7 KiB
Plaintext

TITLE ', Direct Page Usage'
include 'DP.a' ;in a separate file so LoadDump.DA can use it too
TITLE ', Global variables'
;====================================================================================================
;Local Data used by ExpressLoad.
;====================================================================================================
Globals Record
LoadSegCheck
boot_flag dc.w 'GB' ;reset to 0 after initial boot
dp_handle dc.l 00 ;saves the handle to our direct page
my_dir_page dc.w 00 ;my direct page
return_addr ds.b 03 ;return addresses to caller
return_addr2 ds.b 03
apps_dir_page dc.w 00
data_bank dc.w 00 ;holds the data bank for the tool call
users_prefs dc.w $00
; the following variables are used by JumpLoad and therefore MUST remain in
; normal memory (as opposed to direct page).
save_a dc.w 00
save_x dc.w 00
save_y dc.w 00
starting_addr ds.l 1
*
****************************************************************
*
* System Loader Globals
*
****************************************************************
*
Loader_Globals
;
; handles to Loader tables
;
SEGTBL ds.l 1 ;Handle to Memory Segment Table
JMPTBL ds.l 1 ;Handle to Segment Jump Table
PATHTBL ds.l 1 ;Handle to Pathname Table
USERID ds.w 1 ;Active Application UserID
;
; Loader Buffers
;
Header ds SegmentHeader ;fixed portion of Segment Header (up to DISPDATA)
Header_Var ds.l 1 ;pointer to variable portion of Segment Header
Record ds.b 16 ;OMF record buffer (must be > max load record size)
File_Buff ds.l 1 ;Address of File Buffer
File_Buff_Size ds.w 1 ;Size of File Buffer
File_Pt ds.w 1 ;File Buffer Pointer
File_EOB ds.w 1 ;File Buffer EOB
File_Mark ds.l 1 ;File Mark
Header_Mark ds.l 1 ;Segment Header File Mark
;
; ProDOS packets
;
POpen ds openParms ;Open packet
PRead ds readParms ;Read packet
PGetMark ds markParms ;Get Mark packet
PSetMark ds markParms ;Set Mark packet
PExpandPath ds expandParms ;Expand Path packet
PSysPrefs ds sysPrefsParms ;Get/Set System Preferences packet
PGetLevel ds levelParms ;Get system file level
PSetLevel ds levelParms ;Set system file level
PGetRefNum ds getRefNumParms ;Get reference number
PGetFileInfo ds getFileInfoParms ;Get File Information
;
; End of Globals
;
Last_Global
EndR
dir_page_buffer record
LoadSegCheck
ds.b DirectPage.dir_page_size+2 ;holds my direct page
endr
express_name record
LoadSegCheck
string pascal
dc.b 'EXPRESSLOAD'
string asis
endr
tilda_name record
LoadSegCheck
string pascal
dc.b '~EXPRESSLOAD'
string asis
endr
jump_load_instr record
LoadSegCheck
import JumpLoad
dc.b $22 ;JSL
dc.a JumpLoad ;address of Jump Load routine
endr