Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- part_01T: db "part 01",0
- part_02T: db "part 02",0
- part_03T: db "part 03",0
- part_04T: db "part 04",0
- part_05T: db "part 05",0
- jmpData:
- dw part_01
- dw part_02
- dw part_03
- dw part_04
- dw part_05
- struct part
- id_01 byte
- id_02 byte
- id_03 byte
- id_04 byte
- id_05 byte
- ends
- nextPart: db 0
- /*
- Если программа состоит из нскольких частей :
- (game,options,menu1,menu2,etc...)
- Завершение исполняемой части должно указывть ID следующей части в регистре 'A'
- ld a,part.id_03
- */
- // jumping system
- module jps
- run:
- mainLoop:
- ld hl,#5000
- ld de,#5001
- ld bc,#7ff
- ld (hl),l
- ldir
- ld hl,jmpData
- call execute
- ld (nextPart),a
- ei
- halt
- jr mainLoop
- execute:
- ld a,(nextPart)
- add a,a
- add a,l
- ld l,a
- jr nc,$+3
- inc h
- ld a,(hl)
- inc hl
- ld h,(hl)
- ld l,a
- jp (hl)
- endmodule
- //-----------------------------------
- part_01:
- ld de,#5024
- ld hl,part_01T
- call print.text
- ld a,part.id_02
- ret
- part_02:
- ld de,#5044
- ld hl,part_02T
- call print.text
- ld a,part.id_03
- ret
- part_03:
- ld de,#5064
- ld hl,part_03T
- call print.text
- ld a,part.id_04
- ret
- part_04:
- ld de,#5084
- ld hl,part_04T
- call print.text
- ld a,part.id_05
- ret
- part_05:
- ld de,#50A4
- ld hl,part_05T
- call print.text
- ld a,part.id_01
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement