123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- ;:ts=8
- R0 equ 1
- R1 equ 5
- R2 equ 9
- R3 equ 13
- code
- xdef __initEvents
- func
- __initEvents:
- longa on
- longi on
- stz |__events
- rts
- L2 equ 0
- L3 equ 1
- ends
- efunc
- code
- xdef __createEvent
- func
- __createEvent:
- longa on
- longi on
- tsc
- sec
- sbc #L5
- tcs
- phd
- tcd
- callback_0 set 3
- myEvent_1 set 0
- pea #<$8
- jsr __malloc
- sta <L6+myEvent_1
- lda #$0
- sta (<L6+myEvent_1)
- lda <L5+callback_0
- ldy #$2
- sta (<L6+myEvent_1),Y
- lda #$0
- ldy #$6
- sta (<L6+myEvent_1),Y
- dey
- dey
- sta (<L6+myEvent_1),Y
- lda <L6+myEvent_1
- tay
- lda <L5+1
- sta <L5+1+2
- pld
- tsc
- clc
- adc #L5+2
- tcs
- tya
- rts
- L5 equ 2
- L6 equ 1
- ends
- efunc
- code
- xdef __addEvent
- func
- __addEvent:
- longa on
- longi on
- tsc
- sec
- sbc #L8
- tcs
- phd
- tcd
- callback_0 set 3
- noDuplicateCallback_0 set 5
- lastEvent_1 set 0
- myEvent_1 set 2
- lda |__events
- bne L10001
- pei <L8+callback_0
- jsr __createEvent
- sta |__events
- L11:
- tay
- lda <L8+1
- sta <L8+1+4
- pld
- tsc
- clc
- adc #L8+4
- tcs
- tya
- rts
- L10001:
- lda |__events
- bra L20000
- L20004:
- ldy #$2
- lda (<L9+lastEvent_1),Y
- cmp <L8+callback_0
- bne L10005
- L20005:
- lda #$0
- bra L11
- L20002:
- lda <L8+noDuplicateCallback_0
- cmp #<$1
- bne L10004
- ldy #$2
- lda (<L9+lastEvent_1),Y
- cmp <L8+callback_0
- beq L20005
- L10004:
- ldy #$6
- lda (<L9+lastEvent_1),Y
- L20000:
- sta <L9+lastEvent_1
- ldy #$6
- lda (<L9+lastEvent_1),Y
- bne L20002
- lda <L8+noDuplicateCallback_0
- cmp #<$1
- beq L20004
- L10005:
- pei <L8+callback_0
- jsr __createEvent
- sta <L9+myEvent_1
- lda <L9+lastEvent_1
- ldy #$4
- sta (<L9+myEvent_1),Y
- lda <L9+myEvent_1
- iny
- iny
- sta (<L9+lastEvent_1),Y
- lda <L9+myEvent_1
- bra L11
- L8 equ 4
- L9 equ 1
- ends
- efunc
- code
- xdef __removeEvent
- func
- __removeEvent:
- longa on
- longi on
- tsc
- sec
- sbc #L17
- tcs
- phd
- tcd
- eventElement_0 set 3
- alone_1 set 0
- next_1 set 1
- previous_1 set 3
- sep #$20
- longa off
- stz <L18+alone_1
- rep #$20
- longa on
- ldy #$6
- lda (<L17+eventElement_0),Y
- sta <L18+next_1
- dey
- dey
- lda (<L17+eventElement_0),Y
- sta <L18+previous_1
- iny
- iny
- lda (<L17+eventElement_0),Y
- beq L10006
- dey
- dey
- lda (<L17+eventElement_0),Y
- beq L10006
- sep #$20
- longa off
- inc <L18+alone_1
- rep #$20
- longa on
- lda <L18+previous_1
- sta (<L18+next_1),Y
- lda <L18+next_1
- bra L20007
- L10006:
- ldy #$6
- lda (<L17+eventElement_0),Y
- beq L10008
- sep #$20
- longa off
- inc <L18+alone_1
- rep #$20
- longa on
- lda #$0
- dey
- dey
- sta (<L18+next_1),Y
- lda <L18+next_1
- sta |__events
- bra L10007
- L10008:
- ldy #$4
- lda (<L17+eventElement_0),Y
- beq L10007
- sep #$20
- longa off
- inc <L18+alone_1
- rep #$20
- longa on
- lda #$0
- L20007:
- ldy #$6
- sta (<L18+previous_1),Y
- L10007:
- pei <L17+eventElement_0
- jsr __free
- lda <L18+alone_1
- and #$ff
- bne L24
- stz |__events
- L24:
- lda <L17+1
- sta <L17+1+2
- pld
- tsc
- clc
- adc #L17+2
- tcs
- rts
- L17 equ 5
- L18 equ 1
- ends
- efunc
- code
- xdef __processEvents
- func
- __processEvents:
- longa on
- longi on
- tsc
- sec
- sbc #L25
- tcs
- phd
- tcd
- currentEvent_1 set 0
- returnValue_1 set 2
- lda |__events
- L20008:
- sta <L26+currentEvent_1
- lda <L26+currentEvent_1
- bne L20010
- pld
- tsc
- clc
- adc #L25
- tcs
- rts
- L20010:
- lda (<L26+currentEvent_1)
- pha
- ldy #$2
- lda (<L26+currentEvent_1),Y
- xref __~cal
- jsr __~cal
- sep #$20
- longa off
- sta <L26+returnValue_1
- cmp #<$1
- rep #$20
- longa on
- bne L10014
- lda (<L26+currentEvent_1)
- ina
- sta (<L26+currentEvent_1)
- bra L10015
- L10014:
- pei <L26+currentEvent_1
- jsr __removeEvent
- L10015:
- ldy #$6
- lda (<L26+currentEvent_1),Y
- bra L20008
- L25 equ 3
- L26 equ 1
- ends
- efunc
- xref __malloc
- xref __free
- udata
- xdef __events
- __events
- ds 2
- ends
|