Dun Darach | Routines |
Prev: AF27 | Up: Map |
Used by the routine at _79b7.
|
|||||||
Menu | AF3C | XOR A | |||||
AF3D | LD (Mode_Demo),A | ||||||
AF40 | LD HL,$BB82 | ||||||
AF43 | LD DE,Flag_dayNight | ||||||
AF46 | AND A | ||||||
AF47 | SBC HL,DE | ||||||
AF49 | LD (IO_Length),HL | ||||||
AF4C | LD (IY+$31),$18 | ||||||
AF50 | LD A,$01 | ||||||
AF52 | CALL $1601 | ||||||
AF55 | LD HL,$4000 | Clear DF | |||||
AF58 | LD DE,$4001 | ||||||
AF5B | LD BC,$1AFF | ||||||
AF5E | LD (HL),$00 | ||||||
AF60 | LDIR | ||||||
AF62 | LD (IY+$0E),$07 | ||||||
AF66 | XOR A | Black border. | |||||
AF67 | OUT ($FE),A | ||||||
AF69 | CALL Print_StrFromStack | Return address will hold menu string. | |||||
Menu Text.
|
|||||||
Text_Menu | AF6C | DEFB $10 | menu. | ||||
AF6D | DEFB $03 | ||||||
AF6E | DEFB $11 | ||||||
AF6F | DEFB $00 | ||||||
AF70 | DEFB $16 | ||||||
AF71 | DEFB $01 | ||||||
AF72 | DEFB $0B | ||||||
AF73 | DEFM "options" | ||||||
AF7A | DEFB $16 | ||||||
AF7B | DEFB $05 | ||||||
AF7C | DEFB $05 | ||||||
AF7D | DEFM "1. enter dun darach" | ||||||
AF90 | DEFB $16 | ||||||
AF91 | DEFB $07 | ||||||
AF92 | DEFB $05 | ||||||
AF93 | DEFM "2. save game" | ||||||
AF9F | DEFB $16 | ||||||
AFA0 | DEFB $09 | ||||||
AFA1 | DEFB $05 | ||||||
AFA2 | DEFM "3. restore game" | ||||||
AFB1 | DEFB $16 | ||||||
AFB2 | DEFB $0B | ||||||
AFB3 | DEFB $05 | ||||||
AFB4 | DEFM "4. demo mode" | ||||||
AFC0 | DEFB $5E | ||||||
Return from print.
|
|||||||
Menu_0 | AFC1 | LD (IY-$32),$00 | Clear LAST_K (last key pressed.) | ||||
Menu_1 | AFC5 | LD A,(IY-$32) | Check LAST_K, wait for a key. | ||||
AFC8 | AND A | ||||||
AFC9 | JR Z,Menu_1 | ||||||
AFCB | CP $31 | '1' | |||||
AFCD | JR Z,_Menu_Enter | ||||||
AFCF | CP $32 | '2' | |||||
AFD1 | JR Z,_Menu_Save | ||||||
AFD3 | CP $33 | '3' | |||||
AFD5 | JR Z,Menu_Restore | ||||||
AFD7 | CP $34 | '4' | |||||
AFD9 | JR NZ,Menu_0 | Ignore any other key. | |||||
AFDB | LD A,$02 | Set for demo mode. | |||||
AFDD | LD (Mode_Demo),A | ||||||
Enter Dun Darach
|
|||||||
_Menu_Enter | AFE0 | LD (IY+$31),$08 | |||||
AFE4 | RET | ||||||
Save.
|
|||||||
_Menu_Save | AFE5 | CALL IO_GetLetter | |||||
AFE8 | CALL Print_StrFromStack | ||||||
AFEB | DEFB $16 | ||||||
AFEC | DEFB $0E | ||||||
AFED | DEFB $02 | ||||||
AFEE | DEFM "start tape then press a key" | ||||||
B009 | DEFB $5E | ||||||
B00A | LD (IY-$32),$00 | ||||||
Menu_2 | B00E | LD A,(IY-$32) | |||||
B011 | AND A | ||||||
B012 | JR Z,Menu_2 | ||||||
B014 | LD IX,IO_Lead | ||||||
B018 | LD DE,$0011 | ||||||
B01B | XOR A | ||||||
B01C | CALL Menu_6 | ||||||
B01F | CALL NC,Menu_Abort | ||||||
B022 | LD B,$28 | ||||||
Menu_3 | B024 | HALT | |||||
B025 | DJNZ Menu_3 | ||||||
B027 | LD IX,(IO_StartAddr) | ||||||
B02B | LD DE,(IO_Length) | ||||||
B02F | LD A,$FF | ||||||
B031 | CALL Menu_6 | ||||||
B034 | CALL NC,Menu_Abort | ||||||
B037 | JP Menu | ||||||
Restore
|
|||||||
Menu_Restore | B03A | CALL IO_GetLetter | |||||
Menu_4 | B03D | LD IX,Offscreen_Bitmap | |||||
B041 | LD DE,$0011 | ||||||
B044 | XOR A | ||||||
B045 | CALL Menu_7 | ||||||
B048 | JR NC,Menu_4 | ||||||
B04A | LD DE,Offscreen_Bitmap | ||||||
B04D | LD HL,IO_Lead | ||||||
B050 | LD B,$11 | ||||||
Menu_5 | B052 | LD A,(DE) | |||||
B053 | CP (HL) | ||||||
B054 | JR NZ,Menu_4 | ||||||
B056 | INC DE | ||||||
B057 | INC HL | ||||||
B058 | DJNZ Menu_5 | ||||||
B05A | LD IX,(IO_StartAddr) | ||||||
B05E | LD DE,(IO_Length) | ||||||
B062 | LD A,$FF | ||||||
B064 | CALL Menu_7 | ||||||
B067 | CALL NC,Menu_Abort | ||||||
B06A | JP Menu | ||||||
Menu_6 | B06D | CALL $04C6 | |||||
B070 | JR Menu_8 | ||||||
Menu_7 | B072 | SCF | |||||
B073 | INC D | ||||||
B074 | EX AF,AF' | ||||||
B075 | DEC D | ||||||
B076 | DI | ||||||
B077 | LD A,$0F | ||||||
B079 | OUT ($FE),A | ||||||
B07B | CALL $0562 | ||||||
Menu_8 | B07E | PUSH AF | |||||
B07F | XOR A | ||||||
B080 | OUT ($FE),A | ||||||
B082 | EI | ||||||
B083 | LD A,$7F | ||||||
B085 | IN A,($FE) | ||||||
B087 | RRA | ||||||
B088 | JR NC,Menu_9 | ||||||
B08A | POP AF | ||||||
B08B | RET | ||||||
Menu_9 | B08C | POP AF | |||||
Abort
|
|||||||
Menu_Abort | B08D | CALL Print_StrFromStack | |||||
B090 | DEFB $16 | ||||||
B091 | DEFB $12 | ||||||
B092 | DEFB $05 | ||||||
B093 | DEFM "abandoned" | ||||||
B09C | DEFB $5E | ||||||
B09D | LD B,$FA | ||||||
Menu_10 | B09F | HALT | |||||
B0A0 | DJNZ Menu_10 | ||||||
B0A2 | POP HL | ||||||
B0A3 | JP Menu |
Prev: AF27 | Up: Map |