antoine-source/showoff/MACROS/SHOWABOUT.MAC
2024-07-03 22:02:00 +02:00

75 lines
1.1 KiB
Plaintext

MACRO
&lab _CloseDialog
&lab ldx #$0C15
jsl $E10000
MEND
MACRO
&lab _ModalDialog
&lab ldx #$0F15
jsl $E10000
MEND
MACRO
&lab _GetNewModalDialog
&lab ldx #$3215
jsl $E10000
MEND
MACRO
&lab pushlong &addr,&offset
&lab ANOP
LCLC &C
LCLC &REST
&C AMID &addr,1,1
AIF "&C"="#",.immediate
AIF "&C"="[",.zeropage
AIF C:&offset=0,.nooffset
AIF "&offset"="s",.stack
pushword &addr+2,&offset
pushword &addr,&offset
MEXIT
.nooffset
pushword &addr+2
pushword &addr
MEXIT
.immediate
&REST AMID &addr,2,L:&addr-1
dc I1'$F4',I2'(&REST)|-16'
dc I1'$F4',I2'&REST'
MEXIT
.stack
pushword &addr+2,s
pushword &addr+2,s
MEXIT
.zeropage
ldy #&offset+2
pushword &addr,y
ldy #&offset
pushword &addr,y
MEND
MACRO
&lab pushword &sysopr
&lab ANOP
AIF c:&sysopr=0,.b
LCLC &C
LCLC &REST
LCLA &BL
&C AMID "&sysopr",1,1
&BL ASEARCH "&sysopr"," ",1
AIF &BL>0,.a
&BL SETA L:&sysopr+1
.a
&REST AMID "&sysopr",2,&BL-2
AIF ("&C"="#").AND.(S:LONGA),.immediate
lda &sysopr
pha
MEXIT
.b
pha
MEXIT
.immediate
dc I1'$F4',I2'&REST'
MEND
MACRO
&lab str &string
&lab dc i1'l:&string',c'&string'
MEND