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
3.3 KiB
OpenEdge ABL
1 line
3.3 KiB
OpenEdge ABL
|
|
|
|
;
|
|
; Direct Page Debug816
|
|
; (image of PCL to QR in TABLES1 file)
|
|
;
|
|
PCL equ 0
|
|
PCH equ PCL+1
|
|
PCK equ PCH+1 ;Program bank
|
|
BASL equ PCK+1 ;for output
|
|
BASH equ BASL+1
|
|
BASB equ BASH+1
|
|
AL equ BASB+1
|
|
AH equ AL+1
|
|
AB equ AH+1
|
|
T1 equ AB+1
|
|
T2 equ T1+1
|
|
T3 equ T2+1
|
|
T4 equ T3+1
|
|
T5 equ T4+1
|
|
T6 equ T5+1
|
|
AR equ T6+1 ;2-byte A
|
|
XR equ AR+2 ; X and
|
|
YR equ XR+2 ; Y
|
|
PR equ YR+2 ;status
|
|
SR equ PR+1 ;3-bytes for [d] use
|
|
eR equ SR+3 ;emulation bit as MSB
|
|
DR equ eR+1 ;Direct (allow [d] access)
|
|
BR equ DR+3 ;data Bank
|
|
MR equ BR+1 ;Machine State
|
|
QR equ MR+1 ;Quagmire CYA[7]+SHADOW[6-0]
|
|
CR equ QR+1 ;chrset
|
|
|
|
*
|
|
* My direct page variables
|
|
* I need to do this
|
|
*
|
|
*
|
|
base equ CR+1 ;three bytes used to search for RTL's
|
|
|
|
;
|
|
; Temporary location usage in bank0/zero page, start from A1....
|
|
;
|
|
MyID equ $00003c ;2-byte for MyID
|
|
HANDLELW equ MyID+2 ;low word of pointer to master pointe
|
|
HANDLEHG equ HANDLELW+2 ;high word of pointer to master pointer
|
|
|
|
*** Nuked - 24-May-93 JCM - These are now handled locally to the dp alloc subs.
|
|
;;;HDLWBK0 equ HANDLEHG+2 ;low word of handle to allocated bank00
|
|
;;;HDHGBK0 equ HDLWBK0+2 ;high word of handle to allocated bank00
|
|
*** End - 24-May-93 JCM
|
|
|
|
eject
|
|
MONRST equ $0003F2
|
|
USR equ $0003F8
|
|
MONZ equ $FF69
|
|
PFlag equ $E100BC ;ProDos flag 00=P8 01=P16
|
|
|
|
BRKV equ $E10071 ;4/25/86 roms or later
|
|
MLI_16 equ $E100A8 ;ProDOS/16
|
|
MLI_16_Stack equ $E100B0 ;ProDOS/16 stack based system call
|
|
OS_Public_Flags equ $E100B8 ;25-May-93 JCM - GS/OS flags (we're stealing some bits)
|
|
|
|
IRQ_INTFLAG equ $E100C3
|
|
IRQ_DATAREG equ $E100C4
|
|
IRQ_KMSTATUS equ $E100C5
|
|
IRQ_SECFLAG equ $E100C6
|
|
IRQ_ACTIVE equ $E100CB
|
|
|
|
|
|
irq_A equ $E10108 ;set by Monitor after BRK
|
|
irq_X equ $E1010A ; 4/25/86 roms or later
|
|
irq_Y equ $E1010C ;.
|
|
irq_S equ $E1010E ;.
|
|
irq_D equ $E10110 ;.
|
|
irq_P equ $E10112
|
|
irq_B equ $E10113
|
|
irq_e equ $E10114 ;in bit 0
|
|
irq_PCK equ $E10115
|
|
irq_PC equ $E10116
|
|
irq_M equ $E10118
|
|
irq_SHADOW equ $E10119
|
|
irq_CYA equ $E1011A
|
|
irq_MSLOT equ $E1011B
|
|
|
|
KBD equ $E1C000
|
|
CLR80STORE equ $E1C000
|
|
SET80STORE equ $E1C001
|
|
CLRINTCXROM equ $E1C006
|
|
SETINTCXROM equ $E1C007
|
|
CLR80COL equ $E1C00C
|
|
SET80COL equ $E1C00D
|
|
CLRALTCHR equ $E1C00E
|
|
SETALTCHR equ $E1C00F
|
|
RD80COL equ $E1C018
|
|
|
|
KBDSTRB equ $E1C010
|
|
P2STATE equ $E1C01C
|
|
ALTCHR equ $E1C01E
|
|
|
|
RDTEXT EQU $E1C01A
|
|
RDMIX EQU $E1C01B
|
|
RDPAGE2 EQU $E1C01C
|
|
RDHIRES EQU $E1C01D
|
|
KEYMODREG equ $E1C025
|
|
NEWVIDEO equ $E1C029
|
|
|
|
SPKR equ $E1C030
|
|
SHADOW equ $E1C035
|
|
CYA equ $E1C036
|
|
|
|
GR equ $E1C050
|
|
TXTCLR equ $E1C050
|
|
TXTSET equ $E1C051
|
|
TEXT equ $E1C051
|
|
FULL equ $E1C052
|
|
MIXCLR equ $E1C052
|
|
MIXSET equ $E1C053
|
|
MIXED equ $E1C053
|
|
PAGE1 equ $E1C054
|
|
TXTPAGE1 equ $E1C054
|
|
TXTPAGE2 equ $E1C055
|
|
PAGE2 equ $E1C055
|
|
LORES equ $E1C056
|
|
HIRES equ $E1C057
|
|
CLRAN3 equ $E1C05E
|
|
SETAN3 equ $E1C05F
|
|
PB1 equ $E1C061
|
|
MSTATE equ $E1C068
|
|
|
|
MNEMSTKPTR equ $010100 ;main stack pointer
|
|
ALEMSTKPTR equ $010101 ;alternate stack pointer
|
|
DebugB equ $e101A4 ;my reserved location in bank E1
|
|
;;;DebugCntl equ $e102b7 ; " 25-May-93 JCM - this isn't used anywhere
|
|
|
|
*
|
|
* My equates that I need
|
|
*
|
|
CDAVector equ $e10048 ;for special ROM 02B4 or normal 0048
|
|
OptionKey equ $00C025 ;soft switch to read in bit 6
|
|
|
|
;
|
|
; The following EQU's (constants) and dfb's (variables)
|
|
; control output where: Set by SET
|
|
;
|
|
N_STK equ 19 ;N_number
|
|
N_CELL equ 19
|
|
N_OPC equ 19
|
|
R_STK equ 3 ;R_row
|
|
R_CELL equ 3
|
|
R_OPC equ 3
|
|
C_STK equ 0 ;C_column
|
|
C_CELL equ 9
|
|
C_BP equ $1B
|
|
C_MP equ $1B
|
|
C_OPC equ $2B ;I_highlight row
|
|
|