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.2 KiB
Plaintext
1 line
5.2 KiB
Plaintext
****************************************************************
|
|
*
|
|
* GS/OS Driver Equates
|
|
*
|
|
****************************************************************
|
|
*
|
|
* Copyright © 1987 - 1989
|
|
* Apple Computer, Inc.
|
|
* All rights reserved.
|
|
*
|
|
****************************************************************
|
|
*
|
|
* REVISION HISTORY:
|
|
*
|
|
* mm/dd/yy who version what
|
|
*
|
|
* 3/01/89 RBM Ported equates for gen_drvr_ptr & fw_addr to
|
|
* common equates file for ease of maintainance.
|
|
*
|
|
****************************************************************
|
|
*
|
|
* The following are absolute zero page equates for use by
|
|
* slot resident firmware based BASIC character devices.
|
|
*
|
|
****************************************************************
|
|
|
|
out_hook equ $0036 ; (w) Output hook
|
|
in_hook equ $0038 ; (w) Input hook
|
|
|
|
****************************************************************
|
|
*
|
|
* The following are equates for the driver's DIB
|
|
*
|
|
****************************************************************
|
|
|
|
dib_size equ 76 ; 64 bytes per DIB + 12 bytes per GDIB
|
|
|
|
link_ptr equ 0 ; (lw) link pointer to next dib
|
|
entry_ptr equ link_ptr+4 ; (lw) pointer to driver entry point
|
|
dev_char equ entry_ptr+4 ; (w) device characteristics
|
|
blk_cnt equ dev_char+2 ; (lw) number of blocks on device
|
|
dev_name equ blk_cnt+4 ; (32) count and ascii name
|
|
slot_num equ dev_name+32 ; (w) slot where driver resides
|
|
unit_num equ slot_num+2 ; (w) unit within slot
|
|
ver_num equ unit_num+2 ; (w) version number of driver
|
|
dev_id_num equ ver_num+2 ; (w) device ID number
|
|
head_link equ dev_id_num+2 ; (w) backward device link by devnum
|
|
forward_link equ head_link+2 ; (w) forward device link by devnum
|
|
extended_dib equ forward_link+2 ; (w) reserved for future OS expansion
|
|
dib_dev_num equ extended_dib+4 ; (w) device # of this device
|
|
|
|
****************************************************************
|
|
*
|
|
* The following are equates for the driver's GDIB
|
|
*
|
|
****************************************************************
|
|
|
|
drvr_class equ dib_dev_num+2 ; (w) driver class
|
|
drvr_type equ drvr_class+2 ; (w) driver type
|
|
drvr_subtype equ drvr_type+2 ; (w) driver subtype
|
|
cache_mask equ drvr_subtype+2 ; (w) cache mask (block dev) or
|
|
open_flag equ cache_mask ; open flag (character dev)
|
|
block_size equ open_flag+2 ; (w) block size
|
|
hardware_unit equ block_size+2 ; (w) Hardware unit number
|
|
|
|
****************************************************************
|
|
*
|
|
* The following are equates for the driver's usage
|
|
*
|
|
****************************************************************
|
|
|
|
drvr_entry equ hardware_unit+2 ; (?) driver entry point
|
|
|
|
****************************************************************
|
|
*
|
|
* The following are bank 0 dispatcher direct page equates.
|
|
*
|
|
****************************************************************
|
|
|
|
buf_ptr equ $00007C ; (lw) buffer pointer to application
|
|
|
|
****************************************************************
|
|
*
|
|
* The following are general system equates.
|
|
*
|
|
****************************************************************
|
|
|
|
nop equ $EA ; NOP instruction
|
|
max_drvr_cmd equ $0009 ; maximum driver command number
|
|
slot5_dev_cnt equ $E10FB8 ; device count
|
|
|
|
*****************************************************************
|
|
*
|
|
* The following are supervisor driver equates.
|
|
*
|
|
* The following bit definitions are for the supervisor characteristics word.
|
|
* ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
|
|
* | | | | | | | | | | | | | | | | |
|
|
* | F | E | D | C | B | A | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
|
* |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
|
|
* | | | | | | | | | | | | | | | |__ RESERVED
|
|
* | | | | | | | | | | | | | | |______ RESERVED
|
|
* | | | | | | | | | | | | | |__________ RESERVED
|
|
* | | | | | | | | | | | | |______________ RESERVED
|
|
* | | | | | | | | | | | |__________________ RESERVED
|
|
* | | | | | | | | | | |______________________ RESERVED
|
|
* | | | | | | | | | |__________________________ RESERVED
|
|
* | | | | | | | | |______________________________ RESERVED
|
|
* | | | | | | | |__________________________________ RESERVED
|
|
* | | | | | | |______________________________________ RESERVED
|
|
* | | | | | |__________________________________________ RESERVED
|
|
* | | | | |______________________________________________ RESERVED
|
|
* | | | |__________________________________________________ RESERVED
|
|
* | | |______________________________________________________ RESERVED
|
|
* | |__________________________________________________________ RESERVED
|
|
* |______________________________________________________________ Restartable
|
|
*
|
|
*****************************************************************
|
|
sib_address equ $0000
|
|
sib_id equ sib_address+4
|
|
sib_ver equ sib_id+2
|
|
sib_name equ sib_ver+2
|
|
sib_char equ sib_name+4
|
|
|
|
|
|
max_command equ $0009 ; Maximum command number + 1
|