1 line
144 KiB
NASM
1 line
144 KiB
NASM
|
* high level
* NOTE: All vector entries (PrOpenPage, etc...) get their data bank passed in A.
* This means that they can phd, tcd correctly. Be careful what you do
* at the beginning of one of these routines! <EFBFBD><EFBFBD>MSL
; DynamicExits
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;
; Dynamic Exits
;
;
; Each dynamic exit takes 2 RTS and moves them some number of bytes up the
; stack.
;
;------------------------------------------------------------------------------
;-----------------------------------------------------------------------------
DynamicExits PROC EXPORT
EXPORT exit20
exit20
tax
lda 5,s
sta 25,s
lda 3,s
sta 23,s
lda 1,s
sta 21,s
tsc
clc
adc #20
tcs
txa
brl exit0
EXPORT Exit16
Exit16
tax
lda 5,s
sta 21,s
lda 3,s
sta 19,s
lda 1,s
sta 17,s
tsc
clc
adc #16
tcs
txa
brl Exit0
EXPORT Exit14
Exit14
tax
lda 5,s
sta 19,s
lda 3,s
sta 17,s
lda 1,s
sta 15,s
tsc
clc
adc #14
tcs
txa
brl Exit0
EXPORT Exit12
Exit12
tax
lda 5,s
sta 17,s
lda 3,s
sta 15,s
lda 1,s
sta 13,s
tsc
clc
adc #12
tcs
txa
bra Exit0
EXPORT Exit10
Exit10
tax
lda 5,s
sta 15,s
lda 3,s
sta 13,s
lda 1,s
sta 11,s
pla
pla
pla
pla
pla
txa
brl exit0
EXPORT Exit8
Exit8
tax
lda 5,s
sta 13,s
lda 3,s
sta 11,s
lda 1,s
sta 9,s
pla
pla
pla
pla
txa
brl Exit0
EXPORT Exit6
Exit6
tax
lda 5,s
sta 11,s
lda 3,s
sta 9,s
lda 1,s
sta 7,s
pla
pla
pla
txa
brl Exit0
EXPORT Exit4
Exit4
tax
lda 5,s
sta 9,s
lda 3,s
sta 7,s
lda 1,s
sta 5,s
pla
pla
txa
brl Exit0
EXPORT Exit2
Exit2
tax
lda 5,s
sta 7,s
lda 3,s
sta 5,s
lda 1,s
sta 3,s
pla
txa
EXPORT Exit0
Exit0
cmp #1
rtl
ENDP
;-----------------------------------------------------------
;
; PortOffset
;
; This is the offset to fields in the grafport.
;
DSECT 0
o_PortSCB WORD
o_ImageRef LONG
o_Width WORD
o_BoundsRect BLOCK 8
o_PortRect BLOCK 8
o_ClipRgn LONG
o_VisRgn LONG
o_BkPat BLOCK 32
o_PnLoc BLOCK 4
o_PnSize BLOCK 4
o_PnMode WORD
o_PnPat BLOCK 32
o_PnMask BLOCK 8
o_PnVis WORD
EXPORT o_FontID
EXPORT o_ChExtra
o_Font LONG
o_FontID LONG
o_FontFlags WORD
o_TxSize WORD
o_TxFace WORD
o_TxMode WORD
o_SpExtra LONG
o_ChExtra LONG
o_FGColor WORD
o_BGColor WORD
o_PicSave LONG
o_RgnSave LONG
o_PolySave LONG
o_GrafProcs LONG
o_ArcRot WORD
o_UserField LONG
o_SysField LONG
PortSize DSectSize
; ZP Equates
;------------------------------------------------------------------------------
;
; Global and Zero Page Equates
;
;------------------------------------------------------------------------------
Temp1 equ 0 Temp values to dereference easily
Temp2 equ temp1+4 4
hPicList equ temp2+4 a
pPicList equ hPicList+4 e
Ourport equ pPicList+4 12
hOurport equ OurPort+2 14
hNewPic equ hOurport+4 18
ourStatus equ hNewPic+4 1c
hStatus equ ourStatus+2 1e
hport equ hStatus+4 22
UserId equ hPort+4 26
hscreenport equ userId+2 28
pscreenport equ hscreenport+4 2c
hprbuf equ pscreenport+4 30
pprbuf equ hprbuf+4 34
bandheight equ pprbuf+4 38
OldGraphProcs equ bandheight+2 3A
PZ_PrStatus equ $C0
PZ_pPrPort equ PZ_PrStatus+4
PZ_hPrint equ PZ_pPrPort+4
TPrintsize equ 140
StatRecSize equ 28
oPrintDefault equ 0*5
oPrValidate equ 1*5
oPrStlDialog equ 2*5
oPrJ
|