seg000:4000 ; seg000:4000 ; +-------------------------------------------------------------------------+ seg000:4000 ; ¦ This file is generated by The Interactive Disassembler (IDA) ¦ seg000:4000 ; ¦ Copyright (c) 2005 by DataRescue sa/nv, ¦ seg000:4000 ; +-------------------------------------------------------------------------+ seg000:4000 ; seg000:4000 ; File Name : C:\Documents and Settings\Brandon\Desktop\mirage10\MirageOS.8xk seg000:4000 ; Format : Intel Hex Object Format seg000:4000 seg000:4000 ; Processor : z80 [] seg000:4000 ; Target assembler: Zilog Macro Assembler seg000:4000 seg000:4000 ; --------------------------------------------------------------------------- seg000:4000 seg000:4000 ; Segment type: Pure code seg000:4000 segment seg000 seg000:4000 org 4000h seg000:4000 ; AppHeader seg000:4080 ; --------------------------------------------------------------------------- seg000:4080 ; [0000016B BYTES: BEGIN OF AREA seg000:4080. PRESS KEYPAD "-" TO COLLAPSE] seg000:4080 jp AppStart seg000:4083 ; --------------------------------------------------------------------------- seg000:4083 seg000:4083 MirageOSJumpTable: ; DATA XREF: sub_7525+6o seg000:4083 jp iversion seg000:4086 ; --------------------------------------------------------------------------- seg000:4086 jp irandom seg000:4089 ; --------------------------------------------------------------------------- seg000:4089 jp isprite seg000:408C ; --------------------------------------------------------------------------- seg000:408C jp ilsprite seg000:408F ; --------------------------------------------------------------------------- seg000:408F jp igetpix seg000:4092 ; --------------------------------------------------------------------------- seg000:4092 jp ifastcopy seg000:4095 ; --------------------------------------------------------------------------- seg000:4095 jp idetect seg000:4098 ; --------------------------------------------------------------------------- seg000:4098 jp idecomp seg000:409B ; --------------------------------------------------------------------------- seg000:409B jp directin seg000:409E ; --------------------------------------------------------------------------- seg000:409E jp sendbytetios seg000:40A1 ; --------------------------------------------------------------------------- seg000:40A1 jp getbytetios seg000:40A4 ; --------------------------------------------------------------------------- seg000:40A4 jp version seg000:40A7 ; --------------------------------------------------------------------------- seg000:40A7 jp setvputs seg000:40AA ; --------------------------------------------------------------------------- seg000:40AA jp setpixel seg000:40AD ; --------------------------------------------------------------------------- seg000:40AD jp fastcopys seg000:40B0 ; --------------------------------------------------------------------------- seg000:40B0 jp delayb seg000:40B3 ; --------------------------------------------------------------------------- seg000:40B3 jp multhe seg000:40B6 ; --------------------------------------------------------------------------- seg000:40B6 jp multhl seg000:40B9 ; --------------------------------------------------------------------------- seg000:40B9 jp quittoshell seg000:40BC ; --------------------------------------------------------------------------- seg000:40BC jp fastline seg000:40BF ; --------------------------------------------------------------------------- seg000:40BF jp pixelonhl seg000:40C2 ; --------------------------------------------------------------------------- seg000:40C2 jp pixeloff seg000:40C5 ; --------------------------------------------------------------------------- seg000:40C5 jp pixelxor seg000:40C8 ; --------------------------------------------------------------------------- seg000:40C8 jp pixeltest seg000:40CB ; --------------------------------------------------------------------------- seg000:40CB jp pixeloffhl seg000:40CE ; --------------------------------------------------------------------------- seg000:40CE jp pixelxorhl seg000:40D1 ; --------------------------------------------------------------------------- seg000:40D1 jp pixeltesthl seg000:40D4 ; --------------------------------------------------------------------------- seg000:40D4 jp fastlineb seg000:40D7 ; --------------------------------------------------------------------------- seg000:40D7 jp fastlinew seg000:40DA ; --------------------------------------------------------------------------- seg000:40DA jp fastlinex seg000:40DD ; --------------------------------------------------------------------------- seg000:40DD jp pointonc seg000:40E0 ; --------------------------------------------------------------------------- seg000:40E0 jp pointoffc seg000:40E3 ; --------------------------------------------------------------------------- seg000:40E3 jp pointxorc seg000:40E6 ; --------------------------------------------------------------------------- seg000:40E6 jp centertext seg000:40E9 ; --------------------------------------------------------------------------- seg000:40E9 jp cphlbc seg000:40EC ; --------------------------------------------------------------------------- seg000:40EC jp putsprite8 seg000:40EF ; --------------------------------------------------------------------------- seg000:40EF jp fastcopyb seg000:40F2 ; --------------------------------------------------------------------------- seg000:40F2 jp vputsc seg000:40F5 ; --------------------------------------------------------------------------- seg000:40F5 jp scrolld7 seg000:40F8 ; --------------------------------------------------------------------------- seg000:40F8 jp vnewline seg000:40FB ; --------------------------------------------------------------------------- seg000:40FB jp rand127 seg000:40FE ; --------------------------------------------------------------------------- seg000:40FE jp disprle seg000:4101 ; --------------------------------------------------------------------------- seg000:4101 jp cphlde seg000:4104 ; --------------------------------------------------------------------------- seg000:4104 jp screentopic seg000:4107 ; --------------------------------------------------------------------------- seg000:4107 jp fastlined seg000:410A ; --------------------------------------------------------------------------- seg000:410A jp disprlel seg000:410D ; --------------------------------------------------------------------------- seg000:410D jp getnextgoodprog seg000:4110 ; --------------------------------------------------------------------------- seg000:4110 jp getprevgoodprog seg000:4113 ; --------------------------------------------------------------------------- seg000:4113 jp getnext seg000:4116 ; --------------------------------------------------------------------------- seg000:4116 jp getprev seg000:4119 ; --------------------------------------------------------------------------- seg000:4119 jp compstrs seg000:411C ; --------------------------------------------------------------------------- seg000:411C jp nextstr seg000:411F ; --------------------------------------------------------------------------- seg000:411F jp getinfo seg000:4122 ; --------------------------------------------------------------------------- seg000:4122 jp fastrectangle seg000:4125 ; --------------------------------------------------------------------------- seg000:4125 jp gettext seg000:4128 ; --------------------------------------------------------------------------- seg000:4128 jp gettextv seg000:412B ; --------------------------------------------------------------------------- seg000:412B jp FastRectangle_Save seg000:412E ; --------------------------------------------------------------------------- seg000:412E jp vputa seg000:4131 ; --------------------------------------------------------------------------- seg000:4131 jp runprog seg000:4134 ; --------------------------------------------------------------------------- seg000:4134 jp isgoodprog seg000:4137 ; --------------------------------------------------------------------------- seg000:4137 jp existfold seg000:413A ; --------------------------------------------------------------------------- seg000:413A jp delprog seg000:413D ; --------------------------------------------------------------------------- seg000:413D jp filledrectangle seg000:4140 ; --------------------------------------------------------------------------- seg000:4140 jp nextfolder seg000:4143 ; --------------------------------------------------------------------------- seg000:4143 jp delfolder seg000:4146 ; --------------------------------------------------------------------------- seg000:4146 jp moveall seg000:4149 ; --------------------------------------------------------------------------- seg000:4149 jp curfoldname seg000:414C ; --------------------------------------------------------------------------- seg000:414C jp curfoldnamea seg000:414F ; --------------------------------------------------------------------------- seg000:414F jp createfolder seg000:4152 ; --------------------------------------------------------------------------- seg000:4152 jp compstrsn seg000:4155 ; --------------------------------------------------------------------------- seg000:4155 jp folder_menu_start seg000:4158 ; --------------------------------------------------------------------------- seg000:4158 jp options_screen seg000:415B ; --------------------------------------------------------------------------- seg000:415B jp put_folder_name_top seg000:415E ; --------------------------------------------------------------------------- seg000:415E jp general_key_routine seg000:4161 ; --------------------------------------------------------------------------- seg000:4161 jp find_num_good_progs seg000:4164 ; --------------------------------------------------------------------------- seg000:4164 jp put_scrollbar seg000:4167 ; --------------------------------------------------------------------------- seg000:4167 jp invert_lines seg000:416A ; --------------------------------------------------------------------------- seg000:416A jp invert_1_line seg000:416D ; --------------------------------------------------------------------------- seg000:416D jp right_align_value seg000:4170 ; --------------------------------------------------------------------------- seg000:4170 jp put_mirageos_header seg000:4173 ; --------------------------------------------------------------------------- seg000:4173 jp put_size_graphic seg000:4176 ; --------------------------------------------------------------------------- seg000:4176 jp sendprog seg000:4179 ; --------------------------------------------------------------------------- seg000:4179 jp hideprog seg000:417C ; --------------------------------------------------------------------------- seg000:417C jp arcprog seg000:417F ; --------------------------------------------------------------------------- seg000:417F jp filledrectangle_save seg000:4182 ; --------------------------------------------------------------------------- seg000:4182 jp getbytetiosw seg000:4185 ; --------------------------------------------------------------------------- seg000:4185 jp vatswap seg000:4188 ; --------------------------------------------------------------------------- seg000:4188 jp renameprog seg000:418B ; --------------------------------------------------------------------------- seg000:418B jp renamefolder seg000:418E ; --------------------------------------------------------------------------- seg000:418E jp sysmain seg000:4191 ; --------------------------------------------------------------------------- seg000:4191 jp setupint seg000:4194 ; --------------------------------------------------------------------------- seg000:4194 jp move_gui_prog seg000:4197 ; --------------------------------------------------------------------------- seg000:4197 jp largespritehl seg000:419A ; --------------------------------------------------------------------------- seg000:419A jp Update_Scrollbar seg000:419D ; --------------------------------------------------------------------------- seg000:419D jp Initial_Scrollbar seg000:41A0 ; --------------------------------------------------------------------------- seg000:41A0 jp sortallfolds seg000:41A3 ; --------------------------------------------------------------------------- seg000:41A3 jp dofoldsort seg000:41A6 ; --------------------------------------------------------------------------- seg000:41A6 jp getfoldsort seg000:41A9 ; --------------------------------------------------------------------------- seg000:41A9 jp setfoldsort seg000:41AC ; --------------------------------------------------------------------------- seg000:41AC jp Increase_Cur_Element seg000:41AF ; --------------------------------------------------------------------------- seg000:41AF jp Decrease_Cur_Element seg000:41B2 ; --------------------------------------------------------------------------- seg000:41B2 jp Increase_Max_Elements seg000:41B5 ; --------------------------------------------------------------------------- seg000:41B5 jp Decrease_Max_Elements seg000:41B8 ; --------------------------------------------------------------------------- seg000:41B8 jp Add_A_To_Cur_Element seg000:41BB ; --------------------------------------------------------------------------- seg000:41BB jp Sub_A_From_Cur_Element seg000:41BE ; --------------------------------------------------------------------------- seg000:41BE jp Add_A_To_Max_Elements seg000:41C1 ; --------------------------------------------------------------------------- seg000:41C1 jp Sub_A_From_Max_Elements seg000:41C4 ; --------------------------------------------------------------------------- seg000:41C4 jp Skip_Forward_B_From_Top seg000:41C7 ; --------------------------------------------------------------------------- seg000:41C7 jp Get_Curgoodprog_Ptr seg000:41CA ; --------------------------------------------------------------------------- seg000:41CA jp getchecksum seg000:41CD ; --------------------------------------------------------------------------- seg000:41CD jp freearc seg000:41D0 ; --------------------------------------------------------------------------- seg000:41D0 jp swapram seg000:41D3 ; --------------------------------------------------------------------------- seg000:41D3 jp hideall seg000:41D6 ; --------------------------------------------------------------------------- seg000:41D6 jp divhlby10 seg000:41D9 ; --------------------------------------------------------------------------- seg000:41D9 jp ldhlind seg000:41DC ; --------------------------------------------------------------------------- seg000:41DC jp divhlbya seg000:41DF ; --------------------------------------------------------------------------- seg000:41DF jp mylcdbusy seg000:41E2 ; --------------------------------------------------------------------------- seg000:41E2 jp funkymathstuff seg000:41E5 ; --------------------------------------------------------------------------- seg000:41E5 jp moreAppDataStuff seg000:41E8 ; --------------------------------------------------------------------------- seg000:41E8 jp myfastcopyOfSomething seg000:41E8 ; [0000016B BYTES: END OF AREA seg000:4080. PRESS KEYPAD "-" TO COLLAPSE] seg000:41EB seg000:41EB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:41EB seg000:41EB seg000:41EB fastrectangle: ; CODE XREF: seg000:4122j seg000:41EB ; DispAboutPics+51p ... seg000:41EB ld c, a seg000:41EC push de seg000:41ED ld e, l seg000:41EE call fastrectangle_sub seg000:41F1 pop de seg000:41F2 push de seg000:41F3 ld d, h seg000:41F4 call fastrectangle_sub seg000:41F7 pop de seg000:41F8 push hl seg000:41F9 ld h, d seg000:41FA call fastrectangle_sub seg000:41FD pop hl seg000:41FE ld l, e seg000:41FE ; End of function fastrectangle seg000:41FE seg000:41FF seg000:41FF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:41FF seg000:41FF seg000:41FF fastrectangle_sub: ; CODE XREF: fastrectangle+3p seg000:41FF ; fastrectangle+9p ... seg000:41FF push bc seg000:4200 push hl seg000:4201 push de seg000:4202 ld a, c seg000:4203 call fastline seg000:4206 pop de seg000:4207 pop hl seg000:4208 pop bc seg000:4209 ret seg000:4209 ; End of function fastrectangle_sub seg000:4209 seg000:420A ; --------------------------------------------------------------------------- seg000:420A seg000:420A moreAppDataStuff: ; CODE XREF: seg000:41E5j seg000:420A ld (appData), a seg000:420D or a seg000:420E ret z seg000:420F ld (appData+6), a seg000:4212 ret seg000:4213 ; --------------------------------------------------------------------------- seg000:4213 seg000:4213 funkymathstuff: ; CODE XREF: seg000:41E2j seg000:4213 push de seg000:4214 ld hl, TableOf128AndDown seg000:4217 ld d, 0 seg000:4219 ld a, b seg000:421A and 7 seg000:421C ld e, a seg000:421D add hl, de seg000:421E ld e, (hl) seg000:421F ld h, d seg000:4220 srl b seg000:4222 srl b seg000:4224 srl b seg000:4226 ld a, b seg000:4227 or 20h ; ' ' seg000:4229 ld (appData+15), a seg000:422C ld a, 3Fh ; '?' seg000:422E sub c seg000:422F or 80h ; 'Ç' seg000:4231 ld (appData+17), a seg000:4234 and 7Fh ; '' seg000:4236 add a, a seg000:4237 add a, a seg000:4238 ld c, a seg000:4239 ld l, a seg000:423A add hl, hl seg000:423B ld a, e seg000:423C ld e, c seg000:423D add hl, de seg000:423E ld e, b seg000:423F add hl, de seg000:4240 pop de seg000:4241 ret seg000:4241 ; --------------------------------------------------------------------------- seg000:4242 TableOf128AndDown:db 80h ; DATA XREF: seg000:4214o seg000:4243 db 40h seg000:4244 db 20h seg000:4245 db 10h seg000:4246 db 8 seg000:4247 db 4 seg000:4248 db 2 seg000:4249 db 1 seg000:424A ; --------------------------------------------------------------------------- seg000:424A seg000:424A mylcdbusy: ; CODE XREF: seg000:41DFj seg000:424A push af seg000:424B push af seg000:424C pop af seg000:424D pop af seg000:424E ret seg000:424F ; --------------------------------------------------------------------------- seg000:424F seg000:424F divhlbya: ; CODE XREF: seg000:41DCj seg000:424F rst 28h seg000:424F ; --------------------------------------------------------------------------- seg000:4250 dw 4012h ; _DivHLByA seg000:4252 ; --------------------------------------------------------------------------- seg000:4252 ret seg000:4253 seg000:4253 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4253 seg000:4253 seg000:4253 ldhlind: ; CODE XREF: seg000:41D9j seg000:4253 ; seg000:53FFp ... seg000:4253 ld a, (hl) seg000:4254 inc hl seg000:4255 ld h, (hl) seg000:4256 ld l, a seg000:4257 ret seg000:4257 ; End of function ldhlind seg000:4257 seg000:4258 seg000:4258 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4258 seg000:4258 seg000:4258 nextstr: ; CODE XREF: seg000:411Cj seg000:4258 ; compstrs+2j ... seg000:4258 push af seg000:4259 push bc seg000:425A xor a seg000:425B ld b, 1 seg000:425D cpir seg000:425F pop bc seg000:4260 pop af seg000:4261 ret seg000:4261 ; End of function nextstr seg000:4261 seg000:4262 seg000:4262 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4262 seg000:4262 seg000:4262 compstrs: ; CODE XREF: seg000:4119j seg000:4262 ; compstrs+8j ... seg000:4262 ld a, (de) seg000:4263 cp (hl) seg000:4264 jr nz, nextstr seg000:4266 inc hl seg000:4267 inc de seg000:4268 or a seg000:4269 ret z seg000:426A jr compstrs seg000:426A ; End of function compstrs seg000:426A seg000:426C seg000:426C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:426C seg000:426C seg000:426C compstrsn: ; CODE XREF: seg000:4152j seg000:426C ; compstrsn+5j ... seg000:426C ld a, (de) seg000:426D cp (hl) seg000:426E ret nz seg000:426F inc hl seg000:4270 inc de seg000:4271 djnz compstrsn seg000:4273 ret seg000:4273 ; End of function compstrsn seg000:4273 seg000:4274 seg000:4274 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4274 seg000:4274 seg000:4274 cphlde: ; CODE XREF: seg000:4101j seg000:4274 ; right_align_value+34p ... seg000:4274 push hl seg000:4275 or a seg000:4276 sbc hl, de seg000:4278 pop hl seg000:4279 ret seg000:4279 ; End of function cphlde seg000:4279 seg000:427A seg000:427A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:427A seg000:427A seg000:427A disprle: ; CODE XREF: seg000:40FEj seg000:427A ; DispAboutPics+9p seg000:427A ld bc, 768 seg000:427D seg000:427D disprlel: ; CODE XREF: seg000:410Aj seg000:427D ; disprle+Bj seg000:427D ld a, (hl) seg000:427E cp 145 seg000:4280 jr z, disprle_1 seg000:4282 ldi seg000:4284 seg000:4284 disprle_loop: ; CODE XREF: disprle+17j seg000:4284 ret po seg000:4285 jr disprlel seg000:4287 ; --------------------------------------------------------------------------- seg000:4287 seg000:4287 disprle_1: ; CODE XREF: disprle+6j seg000:4287 inc hl seg000:4288 inc hl seg000:4289 ld a, (hl) seg000:428A seg000:428A disprle_2: ; CODE XREF: disprle+14j seg000:428A dec hl seg000:428B dec a seg000:428C ldi seg000:428E jr nz, disprle_2 seg000:4290 inc hl seg000:4291 jr disprle_loop seg000:4291 ; End of function disprle seg000:4291 seg000:4293 seg000:4293 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4293 seg000:4293 seg000:4293 swapram: ; CODE XREF: seg000:41D0j seg000:4293 ; sub_56D4+37p ... seg000:4293 ld (word_FE70), hl seg000:4296 ld (word_FE72), de seg000:429A push bc seg000:429B pop hl seg000:429C seg000:429C loc_429C: ; CODE XREF: swapram+46j seg000:429C or a seg000:429D ld bc, 0C8h ; '+' seg000:42A0 push hl seg000:42A1 sbc hl, bc seg000:42A3 jr nc, loc_42A7 seg000:42A5 pop bc seg000:42A6 push bc seg000:42A7 seg000:42A7 loc_42A7: ; CODE XREF: swapram+10j seg000:42A7 pop de seg000:42A8 push hl seg000:42A9 push bc seg000:42AA ld hl, (word_FE70) seg000:42AD ld de, 0FE74h seg000:42B0 push bc seg000:42B1 ldir seg000:42B3 pop bc seg000:42B4 ld de, (word_FE70) seg000:42B8 ld hl, (word_FE72) seg000:42BB push bc seg000:42BC ldir seg000:42BE pop bc seg000:42BF ld (word_FE70), de seg000:42C3 ld de, (word_FE72) seg000:42C7 ld hl, 0FE74h seg000:42CA ldir seg000:42CC ld (word_FE72), de seg000:42D0 pop hl seg000:42D1 ld bc, 0C8h ; '+' seg000:42D4 or a seg000:42D5 sbc hl, bc seg000:42D7 pop hl seg000:42D8 ret nz seg000:42D9 jp loc_429C seg000:42D9 ; End of function swapram seg000:42D9 seg000:42DC ; --------------------------------------------------------------------------- seg000:42DC seg000:42DC vnewline: ; CODE XREF: seg000:40F8j seg000:42DC xor a seg000:42DD ld (penCol), a seg000:42E0 ld a, (penCol+1) seg000:42E3 add a, 7 seg000:42E5 cp 3Fh ; '?' seg000:42E7 jr z, scrolld7 seg000:42E9 ld (penCol+1), a seg000:42EC ret seg000:42ED ; --------------------------------------------------------------------------- seg000:42ED seg000:42ED scrolld7: ; CODE XREF: seg000:40F5j seg000:42ED ; seg000:42E7j seg000:42ED ld de, 9340h seg000:42F0 ld hl, 9394h seg000:42F3 ld bc, 684 seg000:42F6 ldir seg000:42F8 ld hl, 95ECh seg000:42FB ld bc, 84 seg000:42FE rst 28h seg000:42FE ; --------------------------------------------------------------------------- seg000:42FF dw 4C30h ; _MemClear seg000:4301 ; --------------------------------------------------------------------------- seg000:4301 jp ifastcopy seg000:4304 seg000:4304 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4304 seg000:4304 seg000:4304 vputsc: ; CODE XREF: seg000:40F2j seg000:4304 ; sub_79C0+13p seg000:4304 push hl seg000:4305 ld de, (penCol) seg000:4309 push de seg000:430A rst 28h seg000:430A ; --------------------------------------------------------------------------- seg000:430B dw 4561h ; _VPutS seg000:430D ; --------------------------------------------------------------------------- seg000:430D pop de seg000:430E ld (penCol), de seg000:4312 ld a, 80h ; 'Ç' seg000:4314 ld hl, 8A04h seg000:4317 xor (hl) seg000:4318 ld (hl), a seg000:4319 pop hl seg000:431A rst 28h seg000:431A ; --------------------------------------------------------------------------- seg000:431B dw 4561h ; _VPutS seg000:431D ; --------------------------------------------------------------------------- seg000:431D ld a, 80h ; 'Ç' seg000:431F ld hl, 8A04h seg000:4322 xor (hl) seg000:4323 ld (hl), a seg000:4324 ret seg000:4324 ; End of function vputsc seg000:4324 seg000:4325 ; --------------------------------------------------------------------------- seg000:4325 seg000:4325 loc_4325: ; CODE XREF: gettext+2Ej seg000:4325 ld d, 18h seg000:4327 seg000:4327 loc_4327: ; CODE XREF: seg000:432Dj seg000:4327 push de seg000:4328 call sub_4336 seg000:432B pop de seg000:432C dec d seg000:432D jr nz, loc_4327 seg000:432F jr gettextv_KeyLoop seg000:4331 ; --------------------------------------------------------------------------- seg000:4331 ; START OF FUNCTION CHUNK FOR gettext seg000:4331 seg000:4331 loc_4331: ; CODE XREF: gettext+32j seg000:4331 call sub_4336 seg000:4334 jr gettextv_KeyLoop seg000:4334 ; END OF FUNCTION CHUNK FOR gettext seg000:4336 seg000:4336 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4336 seg000:4336 seg000:4336 sub_4336: ; CODE XREF: seg000:4328p seg000:4336 ; gettext:loc_4331p seg000:4336 bit 3, c seg000:4338 ret nz seg000:4339 ld a, (xdir) seg000:433C cp b seg000:433D ret z seg000:433E inc b seg000:433F dec hl seg000:4340 ld de, (penCol) seg000:4344 ld a, e seg000:4345 sub 3 seg000:4347 ld e, a seg000:4348 ld (penCol), de seg000:434C push de seg000:434D ld a, 20h ; ' ' seg000:434F call vputa seg000:4352 ld a, 20h ; ' ' seg000:4354 call vputa seg000:4357 ld a, 20h ; ' ' seg000:4359 call vputa seg000:435C ld a, 20h ; ' ' seg000:435E call vputa seg000:4361 pop de seg000:4362 dec e seg000:4363 ld (penCol), de seg000:4367 ret seg000:4367 ; End of function sub_4336 seg000:4367 seg000:4368 ; --------------------------------------------------------------------------- seg000:4368 ld c, 4 seg000:436A jr gettextv seg000:436C seg000:436C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:436C seg000:436C seg000:436C gettext: ; CODE XREF: seg000:4125j seg000:436C ; sub_63B5+Cp seg000:436C seg000:436C ; FUNCTION CHUNK AT seg000:4331 SIZE 00000005 BYTES seg000:436C ; FUNCTION CHUNK AT seg000:43D7 SIZE 00000009 BYTES seg000:436C seg000:436C ld c, 0 seg000:436E seg000:436E gettextv: ; CODE XREF: seg000:4128j seg000:436E ; seg000:436Aj seg000:436E set 1, (iy+2) seg000:4372 xor a seg000:4373 ld (ydir), a seg000:4376 ld a, b seg000:4377 ld (xdir), a seg000:437A seg000:437A gettextv_KeyLoop: ; CODE XREF: seg000:432Fj seg000:437A ; gettext-38j ... seg000:437A ei seg000:437B bit 5, c seg000:437D call nz, sysmain seg000:4380 push hl seg000:4381 push bc seg000:4382 bit 0, c seg000:4384 call z, sub_43E0 seg000:4387 rst 28h seg000:4387 ; --------------------------------------------------------------------------- seg000:4388 dw 4018h ; _GetCSC seg000:438A ; --------------------------------------------------------------------------- seg000:438A pop bc seg000:438B pop hl seg000:438C or a seg000:438D jr z, gettextv_KeyLoop seg000:438F bit 4, c seg000:4391 jr z, loc_4398 seg000:4393 cp 37h ; '7' seg000:4395 jp z, quittoTIOS seg000:4398 seg000:4398 loc_4398: ; CODE XREF: gettext+25j seg000:4398 cp skClear seg000:439A jr z, loc_4325 seg000:439C cp skLeft seg000:439E jr z, loc_4331 seg000:43A0 cp skEnter seg000:43A2 jr z, loc_43D7 seg000:43A4 sub 0Bh seg000:43A6 jr c, gettextv_KeyLoop seg000:43A8 cp 25h ; '%' seg000:43AA jr nc, gettextv_KeyLoop seg000:43AC ld e, a seg000:43AD ld d, 0 seg000:43AF push hl seg000:43B0 ld hl, gettextLetterTable seg000:43B3 bit 2, c seg000:43B5 jr nz, loc_43C0 seg000:43B7 in a, (4) seg000:43B9 bit 3, a seg000:43BB jr nz, loc_43C0 seg000:43BD ld hl, gettextNumberTable seg000:43C0 seg000:43C0 loc_43C0: ; CODE XREF: gettext+49j seg000:43C0 ; gettext+4Fj seg000:43C0 add hl, de seg000:43C1 ld a, (hl) seg000:43C2 pop hl seg000:43C3 or a seg000:43C4 jr z, gettextv_KeyLoop seg000:43C6 ld (hl), a seg000:43C7 inc hl seg000:43C8 bit 1, c seg000:43CA call z, vputa seg000:43CD bit 1, c seg000:43CF call z, fastcopys seg000:43D2 djnz gettextv_KeyLoop seg000:43D4 seg000:43D4 loc_43D4: ; CODE XREF: gettext+72j seg000:43D4 ld (hl), 0 seg000:43D6 ret seg000:43D6 ; End of function gettext seg000:43D6 seg000:43D7 ; --------------------------------------------------------------------------- seg000:43D7 ; START OF FUNCTION CHUNK FOR gettext seg000:43D7 seg000:43D7 loc_43D7: ; CODE XREF: gettext+36j seg000:43D7 ld a, (xdir) seg000:43DA cp b seg000:43DB jp z, gettextv_KeyLoop seg000:43DE jr loc_43D4 seg000:43DE ; END OF FUNCTION CHUNK FOR gettext seg000:43E0 seg000:43E0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:43E0 seg000:43E0 seg000:43E0 sub_43E0: ; CODE XREF: gettext+18p seg000:43E0 ld a, (penCol) seg000:43E3 ld d, a seg000:43E4 ld b, a seg000:43E5 ld a, (penCol+1) seg000:43E8 xor 3Fh ; '?' seg000:43EA ld c, a seg000:43EB sub 6 seg000:43ED ld e, a seg000:43EE ld h, 2 seg000:43F0 rst 28h seg000:43F0 ; --------------------------------------------------------------------------- seg000:43F1 dw 47E0h ; _ILine seg000:43F3 ; --------------------------------------------------------------------------- seg000:43F3 ret seg000:43F3 ; End of function sub_43E0 seg000:43F3 seg000:43F3 ; --------------------------------------------------------------------------- seg000:43F4 gettextLetterTable:db 57h ; W ; DATA XREF: gettext+44o seg000:43F5 db 52h ; R seg000:43F6 db 4Dh ; M seg000:43F7 db 48h ; H seg000:43F8 db 0 seg000:43F9 db 0 seg000:43FA db 0 seg000:43FB db 5Bh ; [ seg000:43FC db 56h ; V seg000:43FD db 51h ; Q seg000:43FE db 4Ch ; L seg000:43FF db 47h ; G seg000:4400 db 0 seg000:4401 db 0 seg000:4402 db 0 seg000:4403 db 5Ah ; Z seg000:4404 db 55h ; U seg000:4405 db 50h ; P seg000:4406 db 4Bh ; K seg000:4407 db 46h ; F seg000:4408 db 43h ; C seg000:4409 db 0 seg000:440A db 0 seg000:440B db 59h ; Y seg000:440C db 54h ; T seg000:440D db 4Fh ; O seg000:440E db 4Ah ; J seg000:440F db 45h ; E seg000:4410 db 42h ; B seg000:4411 db 0 seg000:4412 db 0 seg000:4413 db 58h ; X seg000:4414 db 53h ; S seg000:4415 db 4Eh ; N seg000:4416 db 49h ; I seg000:4417 db 44h ; D seg000:4418 db 41h ; A seg000:4419 gettextNumberTable:db 0 ; DATA XREF: gettext+51o seg000:441A db 0 seg000:441B db 0 seg000:441C db 0 seg000:441D db 0 seg000:441E db 0 seg000:441F db 0 seg000:4420 db 33h ; 3 seg000:4421 db 36h ; 6 seg000:4422 db 39h ; 9 seg000:4423 db 0 seg000:4424 db 0 seg000:4425 db 0 seg000:4426 db 0 seg000:4427 db 0 seg000:4428 db 32h ; 2 seg000:4429 db 35h ; 5 seg000:442A db 38h ; 8 seg000:442B db 0 seg000:442C db 0 seg000:442D db 0 seg000:442E db 0 seg000:442F db 30h ; 0 seg000:4430 db 31h ; 1 seg000:4431 db 34h ; 4 seg000:4432 db 37h ; 7 seg000:4433 db 0 seg000:4434 db 0 seg000:4435 db 0 seg000:4436 db 0 seg000:4437 db 0 seg000:4438 db 0 seg000:4439 db 0 seg000:443A db 0 seg000:443B db 0 seg000:443C db 0 seg000:443D db 0 seg000:443E seg000:443E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:443E seg000:443E seg000:443E vputa: ; CODE XREF: seg000:412Ej seg000:443E ; sub_4336+19p ... seg000:443E push af seg000:443F push hl seg000:4440 push af seg000:4441 ld hl, (penCol) seg000:4444 push hl seg000:4445 rst 28h seg000:4445 ; --------------------------------------------------------------------------- seg000:4446 dw 455Eh ; _VPutMap seg000:4448 ; --------------------------------------------------------------------------- seg000:4448 pop hl seg000:4449 ld (penCol), hl seg000:444C ld hl, 8A04h seg000:444F ld a, 80h ; 'Ç' seg000:4451 xor (hl) seg000:4452 ld (hl), a seg000:4453 pop af seg000:4454 rst 28h seg000:4454 ; --------------------------------------------------------------------------- seg000:4455 dw 455Eh ; _VPutMap seg000:4457 ; --------------------------------------------------------------------------- seg000:4457 ld hl, 8A04h seg000:445A ld a, 80h ; 'Ç' seg000:445C xor (hl) seg000:445D ld (hl), a seg000:445E pop hl seg000:445F pop af seg000:4460 ret seg000:4460 ; End of function vputa seg000:4460 seg000:4461 ; --------------------------------------------------------------------------- seg000:4461 seg000:4461 cphlbc: ; CODE XREF: seg000:40E9j seg000:4461 ; seg000:7E93j seg000:4461 push hl seg000:4462 or a seg000:4463 sbc hl, bc seg000:4465 pop hl seg000:4466 ret seg000:4467 ; --------------------------------------------------------------------------- seg000:4467 seg000:4467 centertext: ; CODE XREF: seg000:40E6j seg000:4467 ld (penCol+1), a seg000:446A ld de, 8479h seg000:446D push de seg000:446E rst 28h seg000:446E ; --------------------------------------------------------------------------- seg000:446F dw 44E3h ; _strcopy seg000:4471 ; --------------------------------------------------------------------------- seg000:4471 pop hl seg000:4472 rst 28h seg000:4472 ; --------------------------------------------------------------------------- seg000:4473 dw 4C3Fh ; _StrLength seg000:4475 ; --------------------------------------------------------------------------- seg000:4475 dec hl seg000:4476 ld (hl), c seg000:4477 rst 28h seg000:4477 ; --------------------------------------------------------------------------- seg000:4478 dw 4CB4h ; _SStringLength seg000:447A ; --------------------------------------------------------------------------- seg000:447A sra b seg000:447C ld a, 30h ; '0' seg000:447E sub b seg000:447F ld (penCol), a seg000:4482 inc hl seg000:4483 rst 28h seg000:4483 ; --------------------------------------------------------------------------- seg000:4484 dw 4561h ; _VPutS seg000:4486 ; --------------------------------------------------------------------------- seg000:4486 ret seg000:4487 ; --------------------------------------------------------------------------- seg000:4487 seg000:4487 pointoffc: ; CODE XREF: seg000:40E0j seg000:4487 cp 60h ; '`' seg000:4489 ret nc seg000:448A bit 6, e seg000:448C ret nz seg000:448D jp pixeloff seg000:4490 ; --------------------------------------------------------------------------- seg000:4490 seg000:4490 pointxorc: ; CODE XREF: seg000:40E3j seg000:4490 cp 60h ; '`' seg000:4492 ret nc seg000:4493 bit 6, e seg000:4495 ret nz seg000:4496 jp pixelxor seg000:4499 ; --------------------------------------------------------------------------- seg000:4499 seg000:4499 pointonc: ; CODE XREF: seg000:40DDj seg000:4499 cp 60h ; '`' seg000:449B ret nc seg000:449C bit 6, e seg000:449E ret nz seg000:449F jp setpixel seg000:44A2 ; --------------------------------------------------------------------------- seg000:44A2 seg000:44A2 pixeloffhl: ; CODE XREF: seg000:40CBj seg000:44A2 ld a, h seg000:44A3 ld e, l seg000:44A4 seg000:44A4 pixeloff: ; CODE XREF: seg000:40C2j seg000:44A4 ; seg000:448Dj seg000:44A4 push hl seg000:44A5 call igetpix seg000:44A8 cpl seg000:44A9 and (hl) seg000:44AA ld (hl), a seg000:44AB pop hl seg000:44AC ret seg000:44AD ; --------------------------------------------------------------------------- seg000:44AD seg000:44AD pixelxorhl: ; CODE XREF: seg000:40CEj seg000:44AD ld a, h seg000:44AE ld e, l seg000:44AF seg000:44AF pixelxor: ; CODE XREF: seg000:40C5j seg000:44AF ; seg000:4496j seg000:44AF push hl seg000:44B0 call igetpix seg000:44B3 xor (hl) seg000:44B4 ld (hl), a seg000:44B5 pop hl seg000:44B6 ret seg000:44B7 ; --------------------------------------------------------------------------- seg000:44B7 seg000:44B7 pixeltesthl: ; CODE XREF: seg000:40D1j seg000:44B7 ld a, h seg000:44B8 ld e, l seg000:44B9 seg000:44B9 pixeltest: ; CODE XREF: seg000:40C8j seg000:44B9 push hl seg000:44BA call igetpix seg000:44BD and (hl) seg000:44BE pop hl seg000:44BF ret seg000:44C0 ; --------------------------------------------------------------------------- seg000:44C0 seg000:44C0 pixelonhl: ; CODE XREF: seg000:40BFj seg000:44C0 ld a, h seg000:44C1 ld e, l seg000:44C2 call setpixel seg000:44C5 ret seg000:44C6 seg000:44C6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:44C6 seg000:44C6 seg000:44C6 sub_44C6: ; CODE XREF: fastline:loc_4542p seg000:44C6 ; fastline:loc_4561p seg000:44C6 push hl seg000:44C7 exx seg000:44C8 ex af, af' seg000:44C9 jp z, loc_44E8 seg000:44CC jp c, loc_44F2 seg000:44CF push af seg000:44D0 ex af, af' seg000:44D1 pop af seg000:44D2 pop de seg000:44D3 cp 2 seg000:44D5 jr nz, loc_44DF seg000:44D7 ld a, d seg000:44D8 call igetpix seg000:44DB xor (hl) seg000:44DC ld (hl), a seg000:44DD exx seg000:44DE ret seg000:44DF ; --------------------------------------------------------------------------- seg000:44DF seg000:44DF loc_44DF: ; CODE XREF: sub_44C6+Fj seg000:44DF ld hl, 0FE70h seg000:44E2 rlc (hl) seg000:44E4 jr c, loc_44EA seg000:44E6 jr loc_44F4 seg000:44E8 ; --------------------------------------------------------------------------- seg000:44E8 seg000:44E8 loc_44E8: ; CODE XREF: sub_44C6+3j seg000:44E8 ex af, af' seg000:44E9 pop de seg000:44EA seg000:44EA loc_44EA: ; CODE XREF: sub_44C6+1Ej seg000:44EA ld a, d seg000:44EB call igetpix seg000:44EE or (hl) seg000:44EF ld (hl), a seg000:44F0 exx seg000:44F1 ret seg000:44F2 ; --------------------------------------------------------------------------- seg000:44F2 seg000:44F2 loc_44F2: ; CODE XREF: sub_44C6+6j seg000:44F2 ex af, af' seg000:44F3 pop de seg000:44F4 seg000:44F4 loc_44F4: ; CODE XREF: sub_44C6+20j seg000:44F4 ld a, d seg000:44F5 call igetpix seg000:44F8 cpl seg000:44F9 and (hl) seg000:44FA ld (hl), a seg000:44FB exx seg000:44FC ret seg000:44FC ; End of function sub_44C6 seg000:44FC seg000:44FD seg000:44FD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:44FD seg000:44FD seg000:44FD fastlined: ; CODE XREF: seg000:4107j seg000:44FD ; options_screen+36p seg000:44FD ld a, 0AAh ; '¬' seg000:44FF ld (word_FE70), a seg000:4502 jr fastline seg000:4502 ; End of function fastlined seg000:4502 seg000:4504 seg000:4504 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4504 seg000:4504 seg000:4504 fastlinew: ; CODE XREF: seg000:40D7j seg000:4504 ; sub_60F4+1Dp seg000:4504 xor a seg000:4505 jr fastline seg000:4505 ; End of function fastlinew seg000:4505 seg000:4507 ; --------------------------------------------------------------------------- seg000:4507 seg000:4507 fastlinex: ; CODE XREF: seg000:40DAj seg000:4507 ld a, 2 seg000:4509 jr fastline seg000:450B seg000:450B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:450B seg000:450B seg000:450B sub_450B: ; CODE XREF: defaultAppStart+85p seg000:450B ld e, l seg000:450C jr fastlineb seg000:450C ; End of function sub_450B seg000:450C seg000:450E seg000:450E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:450E seg000:450E seg000:450E sub_450E: ; CODE XREF: defaultAppStart+8Dp seg000:450E ; defaultAppStart+95p ... seg000:450E ld d, h seg000:450F seg000:450F fastlineb: ; CODE XREF: seg000:40D4j seg000:450F ; sub_450B+1j seg000:450F ld a, 1 seg000:450F ; End of function sub_450E seg000:450F seg000:4511 seg000:4511 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4511 seg000:4511 seg000:4511 fastline: ; CODE XREF: seg000:40BCj seg000:4511 ; fastrectangle_sub+4p ... seg000:4511 di seg000:4512 cp 1 seg000:4514 ex af, af' seg000:4515 ld a, 1 seg000:4517 ld (xdir), a seg000:451A ld (ydir), a seg000:451D ld a, d seg000:451E sub h seg000:451F ld b, a seg000:4520 jp nc, loc_452B seg000:4523 neg seg000:4525 ld b, a seg000:4526 ld a, 0FFh seg000:4528 ld (xdir), a seg000:452B seg000:452B loc_452B: ; CODE XREF: fastline+Fj seg000:452B ld a, e seg000:452C sub l seg000:452D ld c, a seg000:452E jp nc, loc_4539 seg000:4531 neg seg000:4533 ld c, a seg000:4534 ld a, 0FFh seg000:4536 ld (ydir), a seg000:4539 seg000:4539 loc_4539: ; CODE XREF: fastline+1Dj seg000:4539 ld e, 0 seg000:453B ld a, b seg000:453C cp c seg000:453D jp c, loc_455C seg000:4540 ld d, b seg000:4541 inc b seg000:4542 seg000:4542 loc_4542: ; CODE XREF: fastline:loc_4558j seg000:4542 call sub_44C6 seg000:4545 ld a, (xdir) seg000:4548 add a, h seg000:4549 ld h, a seg000:454A ld a, e seg000:454B add a, c seg000:454C ld e, a seg000:454D cp d seg000:454E jp c, loc_4558 seg000:4551 sub d seg000:4552 ld e, a seg000:4553 ld a, (ydir) seg000:4556 add a, l seg000:4557 ld l, a seg000:4558 seg000:4558 loc_4558: ; CODE XREF: fastline+3Dj seg000:4558 djnz loc_4542 seg000:455A ei seg000:455B ret seg000:455C ; --------------------------------------------------------------------------- seg000:455C seg000:455C loc_455C: ; CODE XREF: fastline+2Cj seg000:455C ld a, b seg000:455D ld b, c seg000:455E ld c, a seg000:455F ld d, b seg000:4560 inc b seg000:4561 seg000:4561 loc_4561: ; CODE XREF: fastline:loc_4577j seg000:4561 call sub_44C6 seg000:4564 ld a, (ydir) seg000:4567 add a, l seg000:4568 ld l, a seg000:4569 ld a, e seg000:456A add a, c seg000:456B ld e, a seg000:456C cp d seg000:456D jp c, loc_4577 seg000:4570 sub d seg000:4571 ld e, a seg000:4572 ld a, (xdir) seg000:4575 add a, h seg000:4576 ld h, a seg000:4577 seg000:4577 loc_4577: ; CODE XREF: fastline+5Cj seg000:4577 djnz loc_4561 seg000:4579 ei seg000:457A ret seg000:457A ; End of function fastline seg000:457A seg000:457B ; --------------------------------------------------------------------------- seg000:457B seg000:457B quittoshell: ; CODE XREF: seg000:40B9j seg000:457B ; seg000:72A5j ... seg000:457B ld hl, (word_9684) seg000:457E dec hl seg000:457F dec hl seg000:4580 ld sp, hl seg000:4581 ret seg000:4582 ; --------------------------------------------------------------------------- seg000:4582 seg000:4582 multhl: ; CODE XREF: seg000:40B6j seg000:4582 ; seg000:54A7j seg000:4582 ld e, l seg000:4583 jp multhe seg000:4586 seg000:4586 multhe: ; CODE XREF: seg000:40B3j seg000:4586 ld l, 0 seg000:4588 ld d, l seg000:4589 ld b, 8 seg000:458B seg000:458B loc_458B: ; CODE XREF: seg000:loc_458Fj seg000:458B add hl, hl seg000:458C jr nc, loc_458F seg000:458E add hl, de seg000:458F seg000:458F loc_458F: ; CODE XREF: seg000:458Cj seg000:458F djnz loc_458B seg000:4591 ret seg000:4592 seg000:4592 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4592 seg000:4592 seg000:4592 delayb: ; CODE XREF: seg000:40B0j seg000:4592 ; seg000:6044p ... seg000:4592 ei seg000:4593 seg000:4593 delayb_loop: ; CODE XREF: delayb+2j seg000:4593 halt seg000:4594 djnz delayb_loop seg000:4596 ret seg000:4596 ; End of function delayb seg000:4596 seg000:4597 seg000:4597 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4597 seg000:4597 seg000:4597 fastcopys: ; CODE XREF: seg000:40ADj seg000:4597 ; gettext+63p seg000:4597 push hl seg000:4598 push de seg000:4599 push bc seg000:459A push af seg000:459B call ifastcopy seg000:459E pop af seg000:459F pop bc seg000:45A0 pop de seg000:45A1 pop hl seg000:45A2 ret seg000:45A2 ; End of function fastcopys seg000:45A2 seg000:45A3 seg000:45A3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:45A3 seg000:45A3 seg000:45A3 setpixel: ; CODE XREF: seg000:40AAj seg000:45A3 ; seg000:449Fj ... seg000:45A3 push hl seg000:45A4 call igetpix seg000:45A7 or (hl) seg000:45A8 ld (hl), a seg000:45A9 pop hl seg000:45AA ret seg000:45AA ; End of function setpixel seg000:45AA seg000:45AB seg000:45AB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:45AB seg000:45AB seg000:45AB setvputs: ; CODE XREF: seg000:40A7j seg000:45AB ; seg000:4914p ... seg000:45AB ld (penCol), de seg000:45AF rst 28h seg000:45AF ; --------------------------------------------------------------------------- seg000:45B0 dw 4561h ; _VPutS seg000:45B2 ; --------------------------------------------------------------------------- seg000:45B2 ret seg000:45B2 ; End of function setvputs seg000:45B2 seg000:45B3 ; --------------------------------------------------------------------------- seg000:45B3 seg000:45B3 version: ; CODE XREF: seg000:40A4j seg000:45B3 ld a, 1 seg000:45B5 ld hl, 100h seg000:45B8 ret seg000:45B9 ; --------------------------------------------------------------------------- seg000:45B9 ld bc, 768 seg000:45BC ld hl, plotSScreen seg000:45BF seg000:45BF invertscreen_loop: ; CODE XREF: seg000:45C6j seg000:45BF ld a, (hl) ; invertscreen_loop seg000:45C0 cpl seg000:45C1 ld (hl), a seg000:45C2 inc hl seg000:45C3 dec bc seg000:45C4 ld a, b seg000:45C5 or c seg000:45C6 jr nz, invertscreen_loop ; invertscreen_loop seg000:45C8 ret seg000:45C9 ; --------------------------------------------------------------------------- seg000:45C9 seg000:45C9 getbytetiosw: ; CODE XREF: seg000:4182j seg000:45C9 ld hl, recvLinkHandler seg000:45CC call 59h seg000:45CF rst 28h seg000:45CF ; --------------------------------------------------------------------------- seg000:45D0 dw 4EFDh ; _Rec1stByteNC seg000:45D2 ; --------------------------------------------------------------------------- seg000:45D2 call 5Ch seg000:45D5 cp a seg000:45D6 ret seg000:45D7 seg000:45D7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:45D7 seg000:45D7 seg000:45D7 sendbytetios: ; CODE XREF: seg000:409Ej seg000:45D7 ; sendwordtios+2p ... seg000:45D7 ld hl, recvLinkHandler seg000:45DA call 59h seg000:45DD rst 28h seg000:45DD ; --------------------------------------------------------------------------- seg000:45DE dw 4EE5h ; _SendAByte seg000:45E0 ; --------------------------------------------------------------------------- seg000:45E0 call 5Ch seg000:45E3 cp a seg000:45E4 ret seg000:45E4 ; End of function sendbytetios seg000:45E4 seg000:45E5 seg000:45E5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:45E5 seg000:45E5 seg000:45E5 getbytetios: ; CODE XREF: seg000:40A1j seg000:45E5 ; sendprog_main+60p ... seg000:45E5 ld hl, recvLinkHandler seg000:45E8 call 59h seg000:45EB rst 28h seg000:45EB ; --------------------------------------------------------------------------- seg000:45EC dw 4F03h ; _RecAByteIO seg000:45EE ; --------------------------------------------------------------------------- seg000:45EE ld (curVATptr), a seg000:45F1 call 5Ch seg000:45F4 ld a, (curVATptr) seg000:45F7 cp a seg000:45F8 ret seg000:45F8 ; End of function getbytetios seg000:45F8 seg000:45F9 ; --------------------------------------------------------------------------- seg000:45F9 ; START OF FUNCTION CHUNK FOR sendprog_main seg000:45F9 seg000:45F9 recvLinkHandler: ; CODE XREF: sendprog_main+5Dj seg000:45F9 ; seg000:6276j ... seg000:45F9 xor a seg000:45FA inc a seg000:45FB ret seg000:45FB ; END OF FUNCTION CHUNK FOR sendprog_main seg000:45FC seg000:45FC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:45FC seg000:45FC seg000:45FC directin: ; CODE XREF: seg000:409Bj seg000:45FC ; increase_contrast+1Bp ... seg000:45FC push af seg000:45FD ld a, 0FFh seg000:45FF out (1), a seg000:4601 pop af seg000:4602 out (1), a seg000:4604 in a, (1) seg000:4606 cp 0FFh seg000:4608 ret seg000:4608 ; End of function directin seg000:4608 seg000:4609 seg000:4609 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4609 seg000:4609 seg000:4609 sub_4609: ; CODE XREF: seg000:55ECp seg000:4609 ld de, 88B8h seg000:460C ld (unk_FE79), de seg000:4610 push bc seg000:4611 push hl seg000:4612 push af seg000:4613 ld e, l seg000:4614 ld h, 0 seg000:4616 ld d, h seg000:4617 add hl, de seg000:4618 add hl, de seg000:4619 add hl, hl seg000:461A add hl, hl seg000:461B ld e, a seg000:461C and 7 seg000:461E ld b, a seg000:461F srl e seg000:4621 srl e seg000:4623 srl e seg000:4625 add hl, de seg000:4626 ld de, (unk_FE79) seg000:462A add hl, de seg000:462B push hl seg000:462C ld e, (ix+0FFh) seg000:462F ld d, 0 seg000:4631 ld hl, FunkyTable seg000:4634 add hl, de seg000:4635 ld d, (hl) seg000:4636 ld e, 0 seg000:4638 ld a, b seg000:4639 or a seg000:463A jr z, loc_4642 seg000:463C seg000:463C loc_463C: ; CODE XREF: sub_4609+37j seg000:463C srl d seg000:463E rr e seg000:4640 djnz loc_463C seg000:4642 seg000:4642 loc_4642: ; CODE XREF: sub_4609+31j seg000:4642 pop hl seg000:4643 ld b, 7 seg000:4645 seg000:4645 loc_4645: ; CODE XREF: sub_4609+4Bj seg000:4645 ld a, d seg000:4646 cpl seg000:4647 and (hl) seg000:4648 ld (hl), a seg000:4649 inc hl seg000:464A ld a, e seg000:464B cpl seg000:464C and (hl) seg000:464D ld (hl), a seg000:464E push de seg000:464F ld de, 0Bh seg000:4652 add hl, de seg000:4653 pop de seg000:4654 djnz loc_4645 seg000:4656 pop af seg000:4657 pop hl seg000:4658 pop bc seg000:4659 jr loc_466D seg000:4659 ; End of function sub_4609 seg000:4659 seg000:4659 ; --------------------------------------------------------------------------- seg000:465B FunkyTable: db 0 ; DATA XREF: sub_4609+28o seg000:465B ; filledrectangle+46o seg000:465C NoIdeaTable: db 80h ; Ç ; DATA XREF: filledrectangle+53o seg000:465D db 0C0h ; + seg000:465E db 0E0h ; a seg000:465F db 0F0h ; = seg000:4660 db 0F8h ; ° seg000:4661 db 0FCh ; n seg000:4662 db 0FEh ; ¦ seg000:4663 db 0FFh seg000:4664 ; --------------------------------------------------------------------------- seg000:4664 seg000:4664 putsprite8: ; CODE XREF: seg000:40ECj seg000:4664 ld b, 8 seg000:4666 seg000:4666 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4666 seg000:4666 seg000:4666 isprite: ; CODE XREF: seg000:4089j seg000:4666 ; put_scrollbar+16p ... seg000:4666 ld de, plotSScreen seg000:4669 ld (unk_FE79), de seg000:466D seg000:466D loc_466D: ; CODE XREF: sub_4609+50j seg000:466D ld e, l seg000:466E ld h, 0 seg000:4670 ld d, h seg000:4671 add hl, de seg000:4672 add hl, de seg000:4673 add hl, hl seg000:4674 add hl, hl seg000:4675 ld e, a seg000:4676 and 7 seg000:4678 ld c, a seg000:4679 srl e seg000:467B srl e seg000:467D srl e seg000:467F add hl, de seg000:4680 ld de, (unk_FE79) seg000:4684 add hl, de seg000:4685 seg000:4685 loc_4685: ; CODE XREF: isprite+3Cj seg000:4685 ld d, (ix+0) seg000:4688 ld e, 0 seg000:468A ld a, c seg000:468B or a seg000:468C jr z, loc_4695 seg000:468E seg000:468E loc_468E: ; CODE XREF: isprite+2Dj seg000:468E srl d seg000:4690 rr e seg000:4692 dec a seg000:4693 jr nz, loc_468E seg000:4695 seg000:4695 loc_4695: ; CODE XREF: isprite+26j seg000:4695 ld a, (hl) seg000:4696 xor d seg000:4697 ld (hl), a seg000:4698 inc hl seg000:4699 ld a, (hl) seg000:469A xor e seg000:469B ld (hl), a seg000:469C ld de, 0Bh seg000:469F add hl, de seg000:46A0 inc ix seg000:46A2 djnz loc_4685 seg000:46A4 ret seg000:46A4 ; End of function isprite seg000:46A4 seg000:46A5 seg000:46A5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:46A5 seg000:46A5 seg000:46A5 irandom: ; CODE XREF: seg000:4086j seg000:46A5 ; seg000:53BBp seg000:46A5 push hl seg000:46A6 push de seg000:46A7 ld hl, (unk_FE8D) seg000:46AA ld a, r seg000:46AC ld d, a seg000:46AD ld e, (hl) seg000:46AE add hl, de seg000:46AF add a, l seg000:46B0 xor h seg000:46B1 ld (unk_FE8D), hl seg000:46B4 ld hl, 0 seg000:46B7 ld e, a seg000:46B8 ld d, h seg000:46B9 seg000:46B9 loc_46B9: ; CODE XREF: irandom+15j seg000:46B9 add hl, de seg000:46BA djnz loc_46B9 seg000:46BC ld a, h seg000:46BD pop de seg000:46BE pop hl seg000:46BF ret seg000:46BF ; End of function irandom seg000:46BF seg000:46C0 seg000:46C0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:46C0 seg000:46C0 seg000:46C0 igetpix: ; CODE XREF: seg000:408Fj seg000:46C0 ; seg000:44A5p ... seg000:46C0 ld d, 0 seg000:46C2 ld h, d seg000:46C3 ld l, e seg000:46C4 add hl, de seg000:46C5 add hl, de seg000:46C6 add hl, hl seg000:46C7 add hl, hl seg000:46C8 ld de, plotSScreen seg000:46CB add hl, de seg000:46CC ld b, 0 seg000:46CE ld c, a seg000:46CF and 7 seg000:46D1 srl c seg000:46D3 srl c seg000:46D5 srl c seg000:46D7 add hl, bc seg000:46D8 ld b, a seg000:46D9 inc b seg000:46DA ld a, 1 seg000:46DC seg000:46DC igetpix_loop: ; CODE XREF: igetpix+1Dj seg000:46DC rrca seg000:46DD djnz igetpix_loop seg000:46DF ret seg000:46DF ; End of function igetpix seg000:46DF seg000:46E0 ; --------------------------------------------------------------------------- seg000:46E0 seg000:46E0 idetect: ; CODE XREF: seg000:4095j seg000:46E0 ; seg000:4749j seg000:46E0 ld de, (pTemp) seg000:46E4 rst 28h seg000:46E4 ; --------------------------------------------------------------------------- seg000:46E5 dw 400Ch ; _cphlde seg000:46E7 ; --------------------------------------------------------------------------- seg000:46E7 ld a, (hl) seg000:46E8 jr nz, idetect_notAtEnd seg000:46EA inc a seg000:46EB ret seg000:46EC ; --------------------------------------------------------------------------- seg000:46EC seg000:46EC idetect_notAtEnd: ; CODE XREF: seg000:46E8j seg000:46EC push hl seg000:46ED and 1 seg000:46EF jr nz, loc_473F seg000:46F1 dec hl seg000:46F2 dec hl seg000:46F3 dec hl seg000:46F4 ld e, (hl) seg000:46F5 dec hl seg000:46F6 ld d, (hl) seg000:46F7 dec hl seg000:46F8 ld a, (hl) seg000:46F9 or a seg000:46FA push af seg000:46FB ld h, d seg000:46FC ld l, e seg000:46FD jr z, loc_4729 seg000:46FF push hl seg000:4700 rst 28h seg000:4700 ; --------------------------------------------------------------------------- seg000:4701 dw 42E5h ; _MemChk seg000:4703 ; --------------------------------------------------------------------------- seg000:4703 ld bc, 64 seg000:4706 sbc hl, bc seg000:4708 pop hl seg000:4709 jr c, loc_473E seg000:470B ld de, (tempMem) seg000:470F push ix seg000:4711 push hl seg000:4712 push de seg000:4713 rst 28h seg000:4713 ; --------------------------------------------------------------------------- seg000:4714 dw 5017h ; _FlashToRam seg000:4716 ; --------------------------------------------------------------------------- seg000:4716 pop hl seg000:4717 push hl seg000:4718 pop ix seg000:471A ld a, 0Ah seg000:471C add a, (ix+9) seg000:471F ld e, a seg000:4720 ld d, 0 seg000:4722 add hl, de seg000:4723 ex (sp), hl seg000:4724 add hl, de seg000:4725 pop de seg000:4726 ex de, hl seg000:4727 pop ix seg000:4729 seg000:4729 loc_4729: ; CODE XREF: seg000:46FDj seg000:4729 inc de seg000:472A inc de seg000:472B ld c, (hl) seg000:472C inc hl seg000:472D ld b, (hl) seg000:472E inc hl seg000:472F push bc seg000:4730 push ix seg000:4732 pop bc seg000:4733 seg000:4733 loc_4733: ; CODE XREF: seg000:473Bj seg000:4733 ld a, (bc) seg000:4734 or a seg000:4735 jr z, loc_474B seg000:4737 cp (hl) seg000:4738 inc bc seg000:4739 inc de seg000:473A inc hl seg000:473B jr z, loc_4733 seg000:473D seg000:473D loc_473D: ; CODE XREF: seg000:4756j seg000:473D pop bc seg000:473E seg000:473E loc_473E: ; CODE XREF: seg000:4709j seg000:473E pop af seg000:473F seg000:473F loc_473F: ; CODE XREF: seg000:46EFj seg000:473F pop hl seg000:4740 ld bc, 0FFFAh seg000:4743 add hl, bc seg000:4744 ld b, (hl) seg000:4745 dec hl seg000:4746 seg000:4746 loc_4746: ; CODE XREF: seg000:4747j seg000:4746 dec hl seg000:4747 djnz loc_4746 seg000:4749 jr idetect seg000:474B ; --------------------------------------------------------------------------- seg000:474B seg000:474B loc_474B: ; CODE XREF: seg000:4735j seg000:474B pop hl seg000:474C pop af seg000:474D jr z, loc_4763 seg000:474F push de seg000:4750 push af seg000:4751 push hl seg000:4752 rst 28h seg000:4752 ; --------------------------------------------------------------------------- seg000:4753 dw 42FDh ; _EnoughMem seg000:4755 ; --------------------------------------------------------------------------- seg000:4755 pop bc seg000:4756 jr c, loc_473D seg000:4758 pop af seg000:4759 pop hl seg000:475A ld de, (tempMem) seg000:475E push de seg000:475F rst 28h seg000:475F ; --------------------------------------------------------------------------- seg000:4760 dw 5017h ; _FlashToRam seg000:4762 ; --------------------------------------------------------------------------- seg000:4762 pop de seg000:4763 seg000:4763 loc_4763: ; CODE XREF: seg000:474Dj seg000:4763 pop hl seg000:4764 ld bc, 0FFFAh seg000:4767 add hl, bc seg000:4768 ld b, (hl) seg000:4769 inc b seg000:476A seg000:476A loc_476A: ; CODE XREF: seg000:476Bj seg000:476A dec hl seg000:476B djnz loc_476A seg000:476D ex de, hl seg000:476E xor a seg000:476F ret seg000:476F ; --------------------------------------------------------------------------- seg000:4770 aMia: .ascii 'MIA',0 ; DATA XREF: VATnameToOP1+3Do seg000:4774 ; --------------------------------------------------------------------------- seg000:4774 seg000:4774 idecomp: ; CODE XREF: seg000:4098j seg000:4774 di seg000:4775 seg000:4775 loc_4775: ; CODE XREF: seg000:47A5j seg000:4775 push bc seg000:4776 ld a, (hl) seg000:4777 ex af, af' seg000:4778 ld a, c seg000:4779 ld b, 8 seg000:477B cp 1 seg000:477D jr z, loc_4787 seg000:477F ld b, 4 seg000:4781 cp 3 seg000:4783 jr z, loc_4787 seg000:4785 ld b, 2 seg000:4787 seg000:4787 loc_4787: ; CODE XREF: seg000:477Dj seg000:4787 ; seg000:4783j ... seg000:4787 push bc seg000:4788 ld a, c seg000:4789 ld b, 1 seg000:478B cp 1 seg000:478D jr z, loc_4796 seg000:478F inc b seg000:4790 cp 3 seg000:4792 jr z, loc_4796 seg000:4794 ld b, 4 seg000:4796 seg000:4796 loc_4796: ; CODE XREF: seg000:478Dj seg000:4796 ; seg000:4792j seg000:4796 ex af, af' seg000:4797 seg000:4797 loc_4797: ; CODE XREF: seg000:4798j seg000:4797 rlca seg000:4798 djnz loc_4797 seg000:479A ld b, a seg000:479B ex af, af' seg000:479C ld a, b seg000:479D and c seg000:479E ld (de), a seg000:479F inc de seg000:47A0 pop bc seg000:47A1 djnz loc_4787 seg000:47A3 inc hl seg000:47A4 pop bc seg000:47A5 djnz loc_4775 seg000:47A7 ret seg000:47A8 ; --------------------------------------------------------------------------- seg000:47A8 seg000:47A8 iversion: ; CODE XREF: seg000:MirageOSJumpTablej seg000:47A8 ld hl, 0 seg000:47AB ld de, 0 seg000:47AE ld bc, 0 seg000:47B1 xor a seg000:47B2 ei seg000:47B3 ret seg000:47B4 seg000:47B4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:47B4 seg000:47B4 seg000:47B4 largespritehl: ; CODE XREF: seg000:4197j seg000:47B4 ; put_mirageos_header+Ap ... seg000:47B4 ld a, h seg000:47B5 seg000:47B5 ilsprite: ; CODE XREF: seg000:408Cj seg000:47B5 ; put_size_graphic+7j seg000:47B5 di seg000:47B6 ex af, af' seg000:47B7 ld a, c seg000:47B8 push af seg000:47B9 ex af, af' seg000:47BA ld e, l seg000:47BB ld h, 0 seg000:47BD ld d, h seg000:47BE add hl, de seg000:47BF add hl, de seg000:47C0 add hl, hl seg000:47C1 add hl, hl seg000:47C2 ld e, a seg000:47C3 and 7 seg000:47C5 ld c, a seg000:47C6 srl e seg000:47C8 srl e seg000:47CA srl e seg000:47CC add hl, de seg000:47CD ld de, plotSScreen seg000:47D0 add hl, de seg000:47D1 seg000:47D1 loc_47D1: ; CODE XREF: largespritehl+46j seg000:47D1 push hl seg000:47D2 seg000:47D2 loc_47D2: ; CODE XREF: largespritehl+3Cj seg000:47D2 ld d, (ix+0) seg000:47D5 ld e, 0 seg000:47D7 ld a, c seg000:47D8 or a seg000:47D9 jr z, loc_47E2 seg000:47DB seg000:47DB loc_47DB: ; CODE XREF: largespritehl+2Cj seg000:47DB srl d seg000:47DD rr e seg000:47DF dec a seg000:47E0 jr nz, loc_47DB seg000:47E2 seg000:47E2 loc_47E2: ; CODE XREF: largespritehl+25j seg000:47E2 ld a, (hl) seg000:47E3 xor d seg000:47E4 ld (hl), a seg000:47E5 inc hl seg000:47E6 ld a, (hl) seg000:47E7 xor e seg000:47E8 ld (hl), a seg000:47E9 inc ix seg000:47EB ex af, af' seg000:47EC dec a seg000:47ED push af seg000:47EE ex af, af' seg000:47EF pop af seg000:47F0 jr nz, loc_47D2 seg000:47F2 pop hl seg000:47F3 pop af seg000:47F4 push af seg000:47F5 ex af, af' seg000:47F6 ld de, 0Ch seg000:47F9 add hl, de seg000:47FA djnz loc_47D1 seg000:47FC pop af seg000:47FD ei seg000:47FE ret seg000:47FE ; End of function largespritehl seg000:47FE seg000:47FF seg000:47FF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:47FF seg000:47FF seg000:47FF fastcopyb: ; CODE XREF: seg000:40EFj seg000:47FF ; seg000:53B1p ... seg000:47FF ld de, 2F3h seg000:4802 add hl, de seg000:4803 ld a, 80h ; 'Ç' seg000:4805 out (10h), a seg000:4807 jp loc_4811 seg000:4807 ; End of function fastcopyb seg000:4807 seg000:480A seg000:480A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:480A seg000:480A seg000:480A ifastcopy: ; CODE XREF: seg000:4092j seg000:480A ; seg000:4301j ... seg000:480A ld a, 80h ; 'Ç' seg000:480C out (10h), a seg000:480E ld hl, 9633h seg000:4811 seg000:4811 loc_4811: ; CODE XREF: fastcopyb+8j seg000:4811 ld a, 20h ; ' ' seg000:4813 ld c, a seg000:4814 inc hl seg000:4815 dec hl seg000:4816 seg000:4816 loc_4816: ; CODE XREF: ifastcopy+25j seg000:4816 ld b, 40h ; '@' seg000:4818 inc c seg000:4819 ld de, 0FD01h seg000:481C out (10h), a seg000:481E add hl, de seg000:481F ld de, 0Ah seg000:4822 seg000:4822 loc_4822: ; CODE XREF: ifastcopy+20j seg000:4822 add hl, de seg000:4823 inc hl seg000:4824 inc hl seg000:4825 inc de seg000:4826 ld a, (hl) seg000:4827 out (11h), a seg000:4829 dec de seg000:482A djnz loc_4822 seg000:482C ld a, c seg000:482D cp 2Ch ; ',' seg000:482F jr nz, loc_4816 seg000:4831 ret seg000:4831 ; End of function ifastcopy seg000:4831 seg000:4832 seg000:4832 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4832 seg000:4832 seg000:4832 backupAVData: ; CODE XREF: options_screen+96p seg000:4832 ; options_screen+A4p seg000:4832 ld hl, avdata seg000:4835 ld de, 995Eh seg000:4838 ld b, 20 seg000:483A seg000:483A backupAVData_loop: ; CODE XREF: backupAVData+Ej seg000:483A ld a, (de) seg000:483B cp (hl) seg000:483C jr nz, loadAppVarData seg000:483E inc de seg000:483F inc hl seg000:4840 djnz backupAVData_loop seg000:4842 ret seg000:4843 ; --------------------------------------------------------------------------- seg000:4843 seg000:4843 loadAVDataRes2OfFlag2: ; CODE XREF: seg000:quitMirageOSp seg000:4843 ; seg000:5D1Ap ... seg000:4843 bit 2, (iy+asm_Flag2) seg000:4847 ret z seg000:4848 res 2, (iy+asm_Flag2) seg000:484C seg000:484C loadAppVarData: ; CODE XREF: backupAVData+Aj seg000:484C jp loadAVData seg000:484C ; End of function backupAVData seg000:484C seg000:484F seg000:484F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:484F seg000:484F seg000:484F put_size_graphic: ; CODE XREF: seg000:4173j seg000:484F ; defaultAppStart+9Cp seg000:484F ld ix, SizeGraphic seg000:4853 ld bc, 502h seg000:4856 jp ilsprite seg000:4856 ; End of function put_size_graphic seg000:4856 seg000:4859 seg000:4859 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4859 seg000:4859 seg000:4859 VPutSDE_DEequals3803h: ; CODE XREF: defaultAppStart+ADp seg000:4859 ; sub_620A+6j ... seg000:4859 ld e, 3 seg000:485B seg000:485B VPutSDE_Dequals38h: ; CODE XREF: sub_6063+36j seg000:485B ; sub_6260+8p ... seg000:485B ld d, 38h ; '8' seg000:485D jr VPutSDE seg000:485D ; End of function VPutSDE_DEequals3803h seg000:485D seg000:485F seg000:485F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:485F seg000:485F seg000:485F VPutSDE: ; CODE XREF: VPutSDESaveBC+2p seg000:485F ; right_align_value+26p ... seg000:485F ld (penCol), de seg000:4863 seg000:4863 VPutSDE_loop: ; CODE XREF: VPutSDE+Fj seg000:4863 ; VPutSDE+29j seg000:4863 ld a, (hl) seg000:4864 inc hl seg000:4865 or a seg000:4866 ret z seg000:4867 cp 0DEh ; '¦' seg000:4869 jr nc, VPutSDE_specialChar seg000:486B rst 28h seg000:486B ; --------------------------------------------------------------------------- seg000:486C dw 455Eh ; _VPutMap seg000:486E ; --------------------------------------------------------------------------- seg000:486E jr nc, VPutSDE_loop seg000:4870 ret seg000:4871 ; --------------------------------------------------------------------------- seg000:4871 seg000:4871 VPutSDE_specialChar: ; CODE XREF: VPutSDE+Aj seg000:4871 push hl seg000:4872 ld hl, StringTable seg000:4875 sub 0DDh ; '¦' seg000:4877 ld b, a seg000:4878 ld d, 0 seg000:487A seg000:487A VPutSDE_specialChar_loop_1: ; CODE XREF: VPutSDE+1Dj seg000:487A ld e, (hl) seg000:487B add hl, de seg000:487C djnz VPutSDE_specialChar_loop_1 seg000:487E ld b, (hl) seg000:487F dec b seg000:4880 seg000:4880 VPutSDE_specialChar_loop_2: ; CODE XREF: VPutSDE+26j seg000:4880 inc hl seg000:4881 ld a, (hl) seg000:4882 rst 28h seg000:4882 ; --------------------------------------------------------------------------- seg000:4883 dw 455Eh ; _VPutMap seg000:4885 ; --------------------------------------------------------------------------- seg000:4885 djnz VPutSDE_specialChar_loop_2 seg000:4887 pop hl seg000:4888 jr VPutSDE_loop seg000:4888 ; End of function VPutSDE seg000:4888 seg000:488A seg000:488A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:488A seg000:488A seg000:488A VPutSDESaveBC: ; CODE XREF: sub_6251:loc_6256p seg000:488A push bc seg000:488B push de seg000:488C call VPutSDE seg000:488F pop de seg000:4890 pop bc seg000:4891 ret seg000:4891 ; End of function VPutSDESaveBC seg000:4891 seg000:4892 seg000:4892 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4892 seg000:4892 seg000:4892 right_align_value: ; CODE XREF: seg000:416Dj seg000:4892 ; defaultAppStart+230p ... seg000:4892 push de seg000:4893 push bc seg000:4894 ld hl, 5278h seg000:4897 bit 7, (iy+asm_Flag1) seg000:489B jr z, right_align_value_diffValue seg000:489D ld hl, 527Eh seg000:48A0 seg000:48A0 right_align_value_diffValue: ; CODE XREF: right_align_value+9j seg000:48A0 or a seg000:48A1 jr z, right_align_value_AisZero seg000:48A3 ld b, a seg000:48A4 cp 6 seg000:48A6 jr c, right_align_value_loop seg000:48A8 seg000:48A8 right_align_value_AisZero: ; CODE XREF: right_align_value+Fj seg000:48A8 ld b, 5 seg000:48AA seg000:48AA right_align_value_loop: ; CODE XREF: right_align_value+14j seg000:48AA ; right_align_value+20j seg000:48AA dec b seg000:48AB jr z, right_align_value_continue seg000:48AD dec hl seg000:48AE ld a, e seg000:48AF sub 4 seg000:48B1 ld e, a seg000:48B2 jr right_align_value_loop seg000:48B4 ; --------------------------------------------------------------------------- seg000:48B4 seg000:48B4 right_align_value_continue: ; CODE XREF: right_align_value+19j seg000:48B4 ld (penCol), de seg000:48B8 call VPutSDE seg000:48BB pop de seg000:48BC ld a, d seg000:48BD or e seg000:48BE jr z, right_align_value_setB1 seg000:48C0 ld hl, 10000 seg000:48C3 ld b, 5 seg000:48C5 seg000:48C5 right_align_value_divLoop: ; CODE XREF: right_align_value+41j seg000:48C5 dec hl seg000:48C6 call cphlde seg000:48C9 inc hl seg000:48CA jr c, right_align_value_cont seg000:48CC push bc seg000:48CD push de seg000:48CE rst 28h seg000:48CE ; --------------------------------------------------------------------------- seg000:48CF dw 400Fh ; _DivHLBy10 seg000:48D1 ; --------------------------------------------------------------------------- seg000:48D1 pop de seg000:48D2 pop bc seg000:48D3 djnz right_align_value_divLoop seg000:48D5 seg000:48D5 right_align_value_cont: ; CODE XREF: right_align_value+38j seg000:48D5 ; right_align_value+61j seg000:48D5 push de seg000:48D6 pop hl seg000:48D7 pop de seg000:48D8 seg000:48D8 right_align_value_colLoop: ; CODE XREF: right_align_value+4Dj seg000:48D8 dec b seg000:48D9 jr z, dispNumber seg000:48DB ld a, e seg000:48DC sub 4 seg000:48DE ld e, a seg000:48DF jr right_align_value_colLoop seg000:48E1 ; --------------------------------------------------------------------------- seg000:48E1 seg000:48E1 dispNumber: ; CODE XREF: right_align_value+47j seg000:48E1 ld (penCol), de seg000:48E5 rst 28h seg000:48E5 ; --------------------------------------------------------------------------- seg000:48E6 dw 4792h ; _SetXXXXOP2 seg000:48E8 ; --------------------------------------------------------------------------- seg000:48E8 rst 28h seg000:48E8 ; --------------------------------------------------------------------------- seg000:48E9 dw 4156h ; _OP2ToOP1 seg000:48EB ; --------------------------------------------------------------------------- seg000:48EB ld a, 5 seg000:48ED rst 28h seg000:48ED ; --------------------------------------------------------------------------- seg000:48EE dw 4BF7h ; _DisOP1A seg000:48F0 ; --------------------------------------------------------------------------- seg000:48F0 ret seg000:48F1 ; --------------------------------------------------------------------------- seg000:48F1 seg000:48F1 right_align_value_setB1: ; CODE XREF: right_align_value+2Cj seg000:48F1 ld b, 1 seg000:48F3 jr right_align_value_cont seg000:48F3 ; End of function right_align_value seg000:48F3 seg000:48F5 ; --------------------------------------------------------------------------- seg000:48F5 seg000:48F5 put_folder_name_top: ; CODE XREF: seg000:415Bj seg000:48F5 ld a, (curfold) seg000:48F8 call curfoldnamea seg000:48FB ld hl, OP1 seg000:48FE ld e, 91 seg000:4900 seg000:4900 put_folder_name_top_loop: ; CODE XREF: seg000:4909j seg000:4900 inc hl seg000:4901 ld a, (hl) seg000:4902 or a seg000:4903 jr z, put_folder_name_top_continue seg000:4905 ld a, e seg000:4906 sub 4 seg000:4908 ld e, a seg000:4909 jr put_folder_name_top_loop seg000:490B ; --------------------------------------------------------------------------- seg000:490B seg000:490B put_folder_name_top_continue: ; CODE XREF: seg000:4903j seg000:490B ld d, 1 seg000:490D ld hl, OP1 seg000:4910 set textInverse, (iy+textFlags) seg000:4914 call setvputs seg000:4917 res textInverse, (iy+textFlags) seg000:491B ret seg000:491C seg000:491C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:491C seg000:491C seg000:491C Increase_Cur_Element: ; CODE XREF: seg000:41ACj seg000:491C ; sub_5EC3:loc_5F11p ... seg000:491C ld a, 1 seg000:491E seg000:491E Add_A_To_Cur_Element: ; CODE XREF: seg000:41B8j seg000:491E ld hl, (cur_element) seg000:4921 ld de, (max_elements) seg000:4925 call cphlde seg000:4928 ret z seg000:4929 ld d, 0 seg000:492B ld e, a seg000:492C add hl, de seg000:492D seg000:492D element_routine_end: ; CODE XREF: Decrease_Cur_Element+9j seg000:492D ld (cur_element), hl seg000:4930 ret seg000:4930 ; End of function Increase_Cur_Element seg000:4930 seg000:4931 seg000:4931 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4931 seg000:4931 seg000:4931 Decrease_Cur_Element: ; CODE XREF: seg000:41AFj seg000:4931 ; sub_5E61p seg000:4931 ld a, 1 seg000:4933 seg000:4933 Sub_A_From_Cur_Element: ; CODE XREF: seg000:41BBj seg000:4933 ld hl, (cur_element) seg000:4936 call HLminusA seg000:4939 ret z seg000:493A jr element_routine_end seg000:493A ; End of function Decrease_Cur_Element seg000:493A seg000:493C seg000:493C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:493C seg000:493C seg000:493C Increase_Max_Elements: ; CODE XREF: seg000:41B2j seg000:493C ; seg000:63A7p seg000:493C ld a, 1 seg000:493C ; End of function Increase_Max_Elements seg000:493C seg000:493E seg000:493E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:493E seg000:493E seg000:493E Add_A_To_Max_Elements: ; CODE XREF: seg000:41BEj seg000:493E ; seg000:5D50p ... seg000:493E ld hl, (max_elements) seg000:4941 ld d, 0 seg000:4943 ld e, a seg000:4944 add hl, de seg000:4945 seg000:4945 store_elements: ; CODE XREF: Sub_A_From_Max_Elements+6j seg000:4945 ld (max_elements), hl seg000:4948 ret seg000:4948 ; End of function Add_A_To_Max_Elements seg000:4948 seg000:4949 seg000:4949 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4949 seg000:4949 seg000:4949 Decrease_Max_Elements: ; CODE XREF: seg000:41B5j seg000:4949 ; seg000:loc_6435p seg000:4949 ld a, 1 seg000:4949 ; End of function Decrease_Max_Elements seg000:4949 seg000:494B seg000:494B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:494B seg000:494B seg000:494B Sub_A_From_Max_Elements: ; CODE XREF: seg000:41C1j seg000:494B ; seg000:5D48p seg000:494B ld hl, (max_elements) seg000:494E call HLminusA seg000:4951 jr store_elements seg000:4951 ; End of function Sub_A_From_Max_Elements seg000:4951 seg000:4953 seg000:4953 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4953 seg000:4953 seg000:4953 HLminusA: ; CODE XREF: Decrease_Cur_Element+5p seg000:4953 ; Sub_A_From_Max_Elements+3p seg000:4953 ld d, 0 seg000:4955 ld e, a seg000:4956 or a seg000:4957 sbc hl, de seg000:4959 ret seg000:4959 ; End of function HLminusA seg000:4959 seg000:495A seg000:495A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:495A seg000:495A seg000:495A decHLKeepNonZero: ; CODE XREF: sub_4984+9p seg000:495A dec hl seg000:495B ld de, 0 seg000:495E call cphlde seg000:4961 ret nz seg000:4962 ld hl, 1 seg000:4965 ret seg000:4965 ; End of function decHLKeepNonZero seg000:4965 seg000:4966 ; --------------------------------------------------------------------------- seg000:4966 ; START OF FUNCTION CHUNK FOR sub_4984 seg000:4966 seg000:4966 loc_4966: ; CODE XREF: sub_4984+2Ej seg000:4966 inc a seg000:4967 inc ix seg000:4969 dec b seg000:496A jr multResultIsEven seg000:496A ; END OF FUNCTION CHUNK FOR sub_4984 seg000:496C seg000:496C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:496C seg000:496C seg000:496C Update_Scrollbar: ; CODE XREF: seg000:419Aj seg000:496C ; defaultAppStart:loc_5B64p seg000:496C ld hl, (old_element) seg000:496F ld de, (olx_max_elem) seg000:4973 call sub_4984 seg000:4973 ; End of function Update_Scrollbar seg000:4973 seg000:4976 seg000:4976 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4976 seg000:4976 seg000:4976 Initial_Scrollbar: ; CODE XREF: seg000:419Dj seg000:4976 ; defaultAppStart+A7p seg000:4976 ld hl, (cur_element) seg000:4979 ld (old_element), hl seg000:497C ld de, (max_elements) seg000:4980 ld (olx_max_elem), de seg000:4980 ; End of function Initial_Scrollbar seg000:4980 seg000:4984 seg000:4984 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4984 seg000:4984 seg000:4984 sub_4984: ; CODE XREF: Update_Scrollbar+7p seg000:4984 seg000:4984 ; FUNCTION CHUNK AT seg000:4966 SIZE 00000006 BYTES seg000:4984 seg000:4984 push de seg000:4985 dec hl seg000:4986 rst 28h seg000:4986 ; --------------------------------------------------------------------------- seg000:4987 dw 4792h ; _SetXXXXOP2 seg000:4989 ; --------------------------------------------------------------------------- seg000:4989 rst 28h seg000:4989 ; --------------------------------------------------------------------------- seg000:498A dw 4156h ; _OP2ToOP1 seg000:498C ; --------------------------------------------------------------------------- seg000:498C pop hl seg000:498D call decHLKeepNonZero seg000:4990 rst 28h seg000:4990 ; --------------------------------------------------------------------------- seg000:4991 dw 4792h ; _SetXXXXOP2 seg000:4993 ; --------------------------------------------------------------------------- seg000:4993 rst 28h seg000:4993 ; --------------------------------------------------------------------------- seg000:4994 dw 4099h ; _fpdiv seg000:4996 ; --------------------------------------------------------------------------- seg000:4996 rst 28h seg000:4996 ; --------------------------------------------------------------------------- seg000:4997 dw 412Fh ; _OP1ToOP2 seg000:4999 ; --------------------------------------------------------------------------- seg000:4999 ld a, (numscrollpixels) seg000:499C sub 3 seg000:499E push af seg000:499F rst 28h seg000:499F ; --------------------------------------------------------------------------- seg000:49A0 dw 478Ch ; _SetXXOP1 seg000:49A2 ; --------------------------------------------------------------------------- seg000:49A2 rst 28h seg000:49A2 ; --------------------------------------------------------------------------- seg000:49A3 dw 4084h ; _FPMult seg000:49A5 ; --------------------------------------------------------------------------- seg000:49A5 rst 28h seg000:49A5 ; --------------------------------------------------------------------------- seg000:49A6 dw 4AEFh ; _ConvOP1 seg000:49A8 ; --------------------------------------------------------------------------- seg000:49A8 ld hl, (scrollbarcoords) seg000:49AB ld b, 5 seg000:49AD ld ix, 51E8h seg000:49B1 or a seg000:49B2 jr z, loc_4966 seg000:49B4 bit 0, a seg000:49B6 jr z, multResultIsEven seg000:49B8 ld ix, 51E3h seg000:49BC seg000:49BC multResultIsEven: ; CODE XREF: sub_4984-1Aj seg000:49BC ; sub_4984+32j seg000:49BC ld c, a seg000:49BD pop af seg000:49BE cp c seg000:49BF push af seg000:49C0 ld a, c seg000:49C1 add a, l seg000:49C2 ld l, a seg000:49C3 pop af seg000:49C4 jr nz, loc_49C7 seg000:49C6 dec b seg000:49C7 seg000:49C7 loc_49C7: ; CODE XREF: sub_4984+40j seg000:49C7 ld a, h seg000:49C8 jr loc_4A17 seg000:49C8 ; End of function sub_4984 seg000:49C8 seg000:49CA seg000:49CA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:49CA seg000:49CA seg000:49CA put_scrollbar: ; CODE XREF: seg000:4164j seg000:49CA ; defaultAppStart+A4p seg000:49CA ld a, b seg000:49CB ld c, 0 seg000:49CD ld (numscrollpixels), a seg000:49D0 srl b seg000:49D2 jr nc, loc_49D7 seg000:49D4 ld c, 1 seg000:49D6 inc b seg000:49D7 seg000:49D7 loc_49D7: ; CODE XREF: put_scrollbar+8j seg000:49D7 push bc seg000:49D8 push hl seg000:49D9 ld a, h seg000:49DA ld b, 7 seg000:49DC ld ix, 51D6h seg000:49E0 call isprite seg000:49E3 pop hl seg000:49E4 ld a, 6 seg000:49E6 add a, l seg000:49E7 ld l, a seg000:49E8 ld (scrollbarcoords), hl seg000:49EB inc l seg000:49EC pop bc seg000:49ED seg000:49ED loc_49ED: ; CODE XREF: put_scrollbar+33j seg000:49ED push bc seg000:49EE push hl seg000:49EF ld ix, 51EDh seg000:49F3 ld a, h seg000:49F4 ld b, 2 seg000:49F6 call isprite seg000:49F9 pop hl seg000:49FA pop bc seg000:49FB inc l seg000:49FC inc l seg000:49FD djnz loc_49ED seg000:49FF ld a, c seg000:4A00 or a seg000:4A01 jr z, loc_4A10 seg000:4A03 dec l seg000:4A04 push hl seg000:4A05 ld ix, 51EEh seg000:4A09 ld a, h seg000:4A0A ld b, 1 seg000:4A0C call isprite seg000:4A0F pop hl seg000:4A10 seg000:4A10 loc_4A10: ; CODE XREF: put_scrollbar+37j seg000:4A10 ld a, h seg000:4A11 ld b, 7 seg000:4A13 ld ix, 51DCh seg000:4A17 seg000:4A17 loc_4A17: ; CODE XREF: sub_4984+44j seg000:4A17 jp isprite seg000:4A17 ; End of function put_scrollbar seg000:4A17 seg000:4A1A seg000:4A1A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A1A seg000:4A1A seg000:4A1A put_mirageos_header: ; CODE XREF: seg000:4170j seg000:4A1A ; defaultAppStart+49p seg000:4A1A ld hl, 202h seg000:4A1D ld bc, 506h seg000:4A20 ld ix, MirageHeaderSprite seg000:4A24 call largespritehl seg000:4A27 ld b, 9 seg000:4A29 ld hl, plotSScreen seg000:4A2C seg000:4A2C invert_lines: ; CODE XREF: seg000:4167j seg000:4A2C ; put_mirageos_header+1Bj ... seg000:4A2C ld c, 12 seg000:4A2E seg000:4A2E invert_loop: ; CODE XREF: put_mirageos_header+19j seg000:4A2E ld a, (hl) seg000:4A2F cpl seg000:4A30 ld (hl), a seg000:4A31 inc hl seg000:4A32 dec c seg000:4A33 jr nz, invert_loop seg000:4A35 djnz invert_lines seg000:4A37 ret seg000:4A37 ; End of function put_mirageos_header seg000:4A37 seg000:4A38 seg000:4A38 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A38 seg000:4A38 seg000:4A38 invert_1_line: ; CODE XREF: seg000:416Aj seg000:4A38 ; defaultAppStart+4Fp ... seg000:4A38 ld b, 1 seg000:4A3A jr invert_lines seg000:4A3A ; End of function invert_1_line seg000:4A3A seg000:4A3C seg000:4A3C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A3C seg000:4A3C seg000:4A3C find_num_good_progs: ; CODE XREF: seg000:4161j seg000:4A3C ; sub_6137+11p seg000:4A3C ld hl, 0 seg000:4A3F ld bc, 0FFFFh seg000:4A42 seg000:4A42 find_num_good_progs_loop: ; CODE XREF: find_num_good_progs+Cj seg000:4A42 push bc seg000:4A43 call getnextgoodprog seg000:4A46 pop bc seg000:4A47 inc bc seg000:4A48 jr z, find_num_good_progs_loop seg000:4A4A ld a, b seg000:4A4B or a seg000:4A4C jr nz, find_num_good_progs_over255 seg000:4A4E ld a, c seg000:4A4F jr find_num_good_progs_done seg000:4A51 ; --------------------------------------------------------------------------- seg000:4A51 seg000:4A51 find_num_good_progs_over255: ; CODE XREF: find_num_good_progs+10j seg000:4A51 ld a, 0FFh seg000:4A53 seg000:4A53 find_num_good_progs_done: ; CODE XREF: find_num_good_progs+13j seg000:4A53 ld (numgoodprogs), a seg000:4A56 ret seg000:4A56 ; End of function find_num_good_progs seg000:4A56 seg000:4A57 seg000:4A57 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A57 seg000:4A57 seg000:4A57 Skip_Forward_B_From_Top: ; CODE XREF: seg000:41C4j seg000:4A57 ; sub_4A63+Ep ... seg000:4A57 ld hl, 0 seg000:4A5A seg000:4A5A Get_Curgoodprog_Ptr_loop: ; CODE XREF: Skip_Forward_B_From_Top+9j seg000:4A5A push bc seg000:4A5B call getnextgoodprog seg000:4A5E pop bc seg000:4A5F ret nz seg000:4A60 djnz Get_Curgoodprog_Ptr_loop seg000:4A62 ret seg000:4A62 ; End of function Skip_Forward_B_From_Top seg000:4A62 seg000:4A63 seg000:4A63 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A63 seg000:4A63 seg000:4A63 sub_4A63: ; CODE XREF: seg000:5D70p seg000:4A63 seg000:4A63 ; FUNCTION CHUNK AT seg000:6415 SIZE 0000000B BYTES seg000:4A63 seg000:4A63 ld a, (curfold) seg000:4A66 push af seg000:4A67 ld a, (topfoldnum) seg000:4A6A ld (curfold), a seg000:4A6D ld a, (topprognum) seg000:4A70 ld b, a seg000:4A71 call Skip_Forward_B_From_Top seg000:4A74 ld (gui_vars), hl seg000:4A77 pop af seg000:4A78 ld (curfold), a seg000:4A7B jp Get_Curgoodprog_Ptr seg000:4A7B ; End of function sub_4A63 seg000:4A7B seg000:4A7E ; --------------------------------------------------------------------------- seg000:4A7E ; START OF FUNCTION CHUNK FOR general_key_routine seg000:4A7E seg000:4A7E BCALL_GetKey: ; CODE XREF: general_key_routine+5j seg000:4A7E rst 28h seg000:4A7E ; --------------------------------------------------------------------------- seg000:4A7F dw 4972h ; _getKey seg000:4A81 ; --------------------------------------------------------------------------- seg000:4A81 ret seg000:4A81 ; END OF FUNCTION CHUNK FOR general_key_routine seg000:4A82 seg000:4A82 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A82 seg000:4A82 seg000:4A82 general_key_routine: ; CODE XREF: seg000:415Ej seg000:4A82 ; seg000:5D09p ... seg000:4A82 seg000:4A82 ; FUNCTION CHUNK AT seg000:4A7E SIZE 00000004 BYTES seg000:4A82 seg000:4A82 call sysmain seg000:4A85 cp skLn seg000:4A87 jr z, BCALL_GetKey seg000:4A89 cp skMode seg000:4A8B jp z, quittoTIOS seg000:4A8E cp skAdd seg000:4A90 call z, increase_contrast seg000:4A93 cp skSub seg000:4A95 ret nz seg000:4A95 ; End of function general_key_routine seg000:4A95 seg000:4A96 seg000:4A96 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A96 seg000:4A96 seg000:4A96 decrease_contrast: ; CODE XREF: increase_contrast+24j seg000:4A96 ; seg000:4B9Dp seg000:4A96 ld a, (contrast) seg000:4A99 or a seg000:4A9A ret z seg000:4A9B dec a seg000:4A9C jr contrast_continue seg000:4A9C ; End of function decrease_contrast seg000:4A9C seg000:4A9E seg000:4A9E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4A9E seg000:4A9E seg000:4A9E increase_contrast: ; CODE XREF: general_key_routine+Ep seg000:4A9E ; increase_contrast+20j ... seg000:4A9E ld a, (contrast) seg000:4AA1 cp 27h ; ''' seg000:4AA3 jr z, contrast_end seg000:4AA5 inc a seg000:4AA6 seg000:4AA6 contrast_continue: ; CODE XREF: decrease_contrast+6j seg000:4AA6 ld (contrast), a seg000:4AA9 add a, 18h seg000:4AAB or 0C0h ; '+' seg000:4AAD out (10h), a seg000:4AAF ld bc, 26000 seg000:4AB2 seg000:4AB2 contrast_delay_loop: ; CODE XREF: increase_contrast+17j seg000:4AB2 dec bc seg000:4AB3 ld a, b seg000:4AB4 or c seg000:4AB5 jr nz, contrast_delay_loop seg000:4AB7 ld a, 0FDh ; '²' seg000:4AB9 call directin seg000:4ABC cp 0FDh ; '²' seg000:4ABE jr z, increase_contrast seg000:4AC0 cp 0FBh ; 'v' seg000:4AC2 jr z, decrease_contrast seg000:4AC4 seg000:4AC4 contrast_end: ; CODE XREF: increase_contrast+5j seg000:4AC4 ld a, 0Ah seg000:4AC6 ret seg000:4AC6 ; End of function increase_contrast seg000:4AC6 seg000:4AC7 seg000:4AC7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4AC7 seg000:4AC7 seg000:4AC7 DispSingleAboutScreen: ; CODE XREF: options_screen:appvarnotfoundp seg000:4AC7 call DispAboutPics seg000:4ACA ld de, 2F07h seg000:4ACD ld hl, aProducedBy ; "Produced¦By:" seg000:4AD0 call VPutSDE seg000:4AD3 ld de, 3607h seg000:4AD6 jp VPutSDE seg000:4AD6 ; End of function DispSingleAboutScreen seg000:4AD6 seg000:4AD9 seg000:4AD9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:4AD9 seg000:4AD9 seg000:4AD9 DispAboutPics: ; CODE XREF: DispSingleAboutScreenp seg000:4AD9 ; seg000:DispAboutScreenp seg000:4AD9 rst 28h seg000:4AD9 ; --------------------------------------------------------------------------- seg000:4ADA dw 4BD0h ; _GrBufClr seg000:4ADC ; --------------------------------------------------------------------------- seg000:4ADC ld hl, AboutRLEPic1 seg000:4ADF ld de, plotSScreen seg000:4AE2 call disprle seg000:4AE5 ld hl, 4E04h seg000:4AE8 ld bc, 0D02h seg000:4AEB ld ix, AboutSprite1 seg000:4AEF call largespritehl seg000:4AF2 ld hl, 3C2Dh seg000:4AF5 ld bc, 704h seg000:4AF8 ld ix, AboutSprite2 seg000:4AFC call largespritehl seg000:4AFF ld hl, 5023h seg000:4B02 ld bc, 0B02h seg000:4B05 ld ix, AboutSprite3 seg000:4B09 call largespritehl seg000:4B0C ld hl, 0B07h seg000:4B0F ld bc, 506h seg000:4B12 ld ix, MirageHeaderSprite seg000:4B16 call largespritehl seg000:4B19 ld hl, aVersion1_0 ; "version 1.0" seg000:4B1C ld de, 0D1Eh seg000:4B1F call VPutSDE seg000:4B22 ld hl, 0 seg000:4B25 ld de, 5F3Fh seg000:4B28 ld a, 1 seg000:4B2A call fastrectangle seg000:4B2D res 7, (iy+14h) seg000:4B31 jp ifastcopy seg000:4B31 ; End of function DispAboutPics seg000:4B31 seg000:4B34 ; --------------------------------------------------------------------------- seg000:4B34 seg000:4B34 DispAboutScreen: ; CODE XREF: seg000:5D29p seg000:4B34 call DispAboutPics seg000:4B37 ld hl, aProducedBy ; This is the beginning of About string table seg000:4B3A push hl seg000:4B3B ld a, 96h ; 'û' seg000:4B3D seg000:4B3D AboutDispTimerLoop: ; CODE XREF: seg000:4B6Dj seg000:4B3D ld (AboutTimer), a seg000:4B40 seg000:4B40 AboutKeyLoop: ; CODE XREF: seg000:4B4Fj seg000:4B40 ld hl, AboutTimer seg000:4B43 inc (hl) seg000:4B44 ld a, (hl) seg000:4B45 cp 0A0h ; 'á' seg000:4B47 jr z, AboutChangeStrings seg000:4B49 ei seg000:4B4A halt seg000:4B4B rst 28h seg000:4B4B ; --------------------------------------------------------------------------- seg000:4B4C dw 4018h ; _GetCSC seg000:4B4E ; --------------------------------------------------------------------------- seg000:4B4E or a seg000:4B4F jr z, AboutKeyLoop seg000:4B51 pop hl seg000:4B52 seg000:4B52 AboutQuit: ; CODE XREF: seg000:4B5Dj seg000:4B52 set textWrite, (iy+sGrFlags) seg000:4B56 ret seg000:4B57 ; --------------------------------------------------------------------------- seg000:4B57 seg000:4B57 AboutChangeStrings: ; CODE XREF: seg000:4B47j seg000:4B57 call ifastcopy seg000:4B5A pop hl seg000:4B5B ld a, (hl) seg000:4B5C or a seg000:4B5D jr z, AboutQuit seg000:4B5F ld de, 2F07h seg000:4B62 call VPutSDE seg000:4B65 ld de, 3607h seg000:4B68 call VPutSDE seg000:4B6B push hl seg000:4B6C xor a seg000:4B6D jr AboutDispTimerLoop seg000:4B6F ; --------------------------------------------------------------------------- seg000:4B6F seg000:4B6F loc_4B6F: ; CODE XREF: seg000:4BD3j seg000:4B6F ; seg000:4BFEj ... seg000:4B6F ld a, 0BFh ; '+' seg000:4B71 call directin seg000:4B74 cp 7Fh ; '' seg000:4B76 jr z, loc_4BD7 seg000:4B78 cp 0BFh ; '+' seg000:4B7A jr z, loc_4BDD seg000:4B7C cp 0EFh ; 'n' seg000:4B7E jr z, loc_4BE0 seg000:4B80 cp 0F7h ; '˜' seg000:4B82 jr z, loc_4BE5 seg000:4B84 cp 0FBh ; 'v' seg000:4B86 jr z, loc_4BEB seg000:4B88 cp 0FDh ; '²' seg000:4B8A jp z, loc_4BF1 seg000:4B8D seg000:4B8D loc_4B8D: seg000:4B8D cp 0FEh ; '¦' seg000:4B8F jp z, loc_4BF5 seg000:4B92 ld a, 0FDh ; '²' seg000:4B94 call directin seg000:4B97 cp 0BFh ; '+' seg000:4B99 jr z, loc_4BDA seg000:4B9B cp 0FBh ; 'v' seg000:4B9D call z, decrease_contrast seg000:4BA0 cp 0FDh ; '²' seg000:4BA2 call z, increase_contrast seg000:4BA5 ld d, 0 seg000:4BA7 ld a, 0EFh ; 'n' seg000:4BA9 ld b, a seg000:4BAA call directin seg000:4BAD cp 0FEh ; '¦' seg000:4BAF jr z, loc_4C09 seg000:4BB1 seg000:4BB1 loc_4BB1: ; CODE XREF: seg000:4BCDj seg000:4BB1 ld a, b seg000:4BB2 call directin seg000:4BB5 ld c, 0FDh ; '²' seg000:4BB7 seg000:4BB7 loc_4BB7: ; CODE XREF: seg000:4BC3j seg000:4BB7 inc d seg000:4BB8 in a, (1) seg000:4BBA cp c seg000:4BBB jr z, loc_4C09 seg000:4BBD inc d seg000:4BBE inc d seg000:4BBF rlc c seg000:4BC1 bit 4, c seg000:4BC3 jr nz, loc_4BB7 seg000:4BC5 ld a, d seg000:4BC6 sub 8 seg000:4BC8 ld d, a seg000:4BC9 sra b seg000:4BCB bit 1, b seg000:4BCD jr nz, loc_4BB1 seg000:4BCF in a, (4) seg000:4BD1 bit 3, a seg000:4BD3 jr z, loc_4B6F seg000:4BD5 xor a seg000:4BD6 ret seg000:4BD7 ; --------------------------------------------------------------------------- seg000:4BD7 seg000:4BD7 loc_4BD7: ; CODE XREF: seg000:4B76j seg000:4BD7 ld a, 1 seg000:4BD9 ret seg000:4BDA ; --------------------------------------------------------------------------- seg000:4BDA seg000:4BDA loc_4BDA: ; CODE XREF: seg000:4B99j seg000:4BDA ld a, 2 seg000:4BDC ret seg000:4BDD ; --------------------------------------------------------------------------- seg000:4BDD seg000:4BDD loc_4BDD: ; CODE XREF: seg000:4B7Aj seg000:4BDD ld a, 3 seg000:4BDF ret seg000:4BE0 ; --------------------------------------------------------------------------- seg000:4BE0 seg000:4BE0 loc_4BE0: ; CODE XREF: seg000:4B7Ej seg000:4BE0 xor a seg000:4BE1 out (4), a seg000:4BE3 jr loc_4C01 seg000:4BE5 ; --------------------------------------------------------------------------- seg000:4BE5 seg000:4BE5 loc_4BE5: ; CODE XREF: seg000:4B82j seg000:4BE5 ld a, 2 seg000:4BE7 out (4), a seg000:4BE9 jr loc_4C01 seg000:4BEB ; --------------------------------------------------------------------------- seg000:4BEB seg000:4BEB loc_4BEB: ; CODE XREF: seg000:4B86j seg000:4BEB ld a, 6 seg000:4BED out (4), a seg000:4BEF jr loc_4C01 seg000:4BF1 ; --------------------------------------------------------------------------- seg000:4BF1 seg000:4BF1 loc_4BF1: ; CODE XREF: seg000:4B8Aj seg000:4BF1 ld a, 28h ; '(' seg000:4BF3 jr loc_4BF7 seg000:4BF5 ; --------------------------------------------------------------------------- seg000:4BF5 seg000:4BF5 loc_4BF5: ; CODE XREF: seg000:4B8Fj seg000:4BF5 ld a, 64h ; 'd' seg000:4BF7 seg000:4BF7 loc_4BF7: ; CODE XREF: seg000:4BF3j seg000:4BF7 ld (unk_8A97), a seg000:4BFA ld a, 6 seg000:4BFC out (4), a seg000:4BFE jp loc_4B6F seg000:4C01 ; --------------------------------------------------------------------------- seg000:4C01 seg000:4C01 loc_4C01: ; CODE XREF: seg000:4BE3j seg000:4C01 ; seg000:4BE9j ... seg000:4C01 ld a, 1 seg000:4C03 ld (unk_8A97), a seg000:4C06 seg000:4C06 loc_4C06: ; CODE XREF: seg000:4C13j seg000:4C06 jp loc_4B6F seg000:4C09 ; --------------------------------------------------------------------------- seg000:4C09 seg000:4C09 loc_4C09: ; CODE XREF: seg000:4BAFj seg000:4C09 ; seg000:4BBBj seg000:4C09 ld a, d seg000:4C0A or a seg000:4C0B jr nz, loc_4C0F seg000:4C0D ld a, 0Ah seg000:4C0F seg000:4C0F loc_4C0F: ; CODE XREF: seg000:4C0Bj seg000:4C0F dec a seg000:4C10 call sub_7156 seg000:4C13 jr loc_4C06 seg000:4C13 ; --------------------------------------------------------------------------- seg000:4C15 StringTable: db 2 ; DATA XREF: VPutSDE+13o seg000:4C16 db 20h seg000:4C17 db 7 seg000:4C18 aTasker: .ascii 'Tasker' seg000:4C1E db 8 seg000:4C1F aConfirm: .ascii 'Confirm' seg000:4C26 db 7 seg000:4C27 aPrompt: .ascii 'Prompt' seg000:4C2D db 5 seg000:4C2E aTion: .ascii 'tion' seg000:4C32 db 7 seg000:4C33 aProtec: .ascii 'Protec' seg000:4C39 db 9 seg000:4C3A aInterfac: .ascii 'Interfac' seg000:4C42 db 7 seg000:4C43 aEnable: .ascii 'Enable' seg000:4C49 db 5 seg000:4C4A aMove: .ascii 'Move' seg000:4C4E db 0Ah seg000:4C4F aNumber0f: .ascii 'Number 0f' seg000:4C58 db 0Fh seg000:4C59 aMiscellaneous: .ascii 'Miscellaneous ' seg000:4C67 db 5 seg000:4C68 aProg: .ascii 'Prog' seg000:4C6C db 9 seg000:4C6D aMirage0s: .ascii 'Mirage0S' seg000:4C75 db 8 seg000:4C76 a0ptions: .ascii '0ptions' seg000:4C7D db 9 seg000:4C7E aPassword: .ascii 'Password' seg000:4C86 db 9 seg000:4C87 aKeyHook: .ascii 'Key Hook' seg000:4C8F db 6 seg000:4C90 aEnter: .ascii 'Enter' seg000:4C95 db 8 seg000:4C96 aSelect: .ascii 'Select ' seg000:4C9D db 6 seg000:4C9E aTrans: .ascii 'Trans' seg000:4CA3 db 6 seg000:4CA4 aClear: .ascii 'Clear' seg000:4CA9 db 6 seg000:4CAA aReset: .ascii 'Reset' seg000:4CAF db 5 seg000:4CB0 aFile: .ascii 'File' seg000:4CB4 db 5 seg000:4CB5 aMain: .ascii 'Main' seg000:4CB9 db 3 seg000:4CBA a0n: .ascii '0N' seg000:4CBC db 7 seg000:4CBD aSystem: .ascii 'System' seg000:4CC3 db 5 seg000:4CC4 aName: .ascii 'Name' seg000:4CC8 db 0Dh seg000:4CC9 aPleaseWait_: .ascii 'Please Wait.' seg000:4CD5 db 0Ch seg000:4CD6 aDeleteThis: .ascii 'Delete This' seg000:4CE1 db 5 seg000:4CE2 aSort: .ascii 'Sort' seg000:4CE6 db 5 seg000:4CE7 aDele: .ascii 'Dele' seg000:4CEB db 2 seg000:4CEC db 20h seg000:4CED db 7 seg000:4CEE aFolder: .ascii 'Folder' seg000:4CF4 db 8 seg000:4CF5 aProgram: .ascii 'Program' seg000:4CFC db 3 seg000:4CFD .ascii ' ' seg000:4CFF db 4 seg000:4D00 .ascii ' ' seg000:4D03 aArched: .ascii 'ARCHED:',0 seg000:4D0B aHidden: .ascii 'HIDDEN:',0 seg000:4D13 aLocked: .ascii 'LOCKED:',0 seg000:4D1B aAttrib: .ascii 'ATTRIB:',0 seg000:4D23 aC: .ascii 'µ',0 seg000:4D25 aSs: .ascii 'Fs:',0 seg000:4D29 aEdBy: .ascii '·ed By:',0 seg000:4D31 aS: .ascii 'F',0 seg000:4D33 aImg: .ascii 'Img:',0 seg000:4D38 aAHL: .ascii 'A:\xFF\xFF H:\xFF\xFF L:',0 seg000:4D45 aXAllIn?: .ascii 's¦All¦In¦n?',0 ; DATA XREF: seg000:648Bo seg000:4D51 ixTable1: db 0EEh ; e ; DATA XREF: seg000:5933o seg000:4D52 db 20h seg000:4D53 db 61h ; a seg000:4D54 db 0FEh ; ¦ seg000:4D55 db 0FCh ; n seg000:4D56 db 0FEh ; ¦ seg000:4D57 db 74h ; t seg000:4D58 db 6Fh ; o seg000:4D59 db 0FEh ; ¦ seg000:4D5A db 0EDh ; f seg000:4D5B db 2Eh ; . seg000:4D5C db 0 seg000:4D5D a?: .ascii '°¦n?',0 seg000:4D62 a?_0: .ascii '°¦²?',0 ; DATA XREF: seg000:63F7o seg000:4D67 aYN: .ascii 'Y/ N',0 seg000:4D6C aMaxCS: .ascii '*¦Max µ¦ns¦*',0 ; DATA XREF: seg000:loc_63ACo seg000:4D79 aErrorInQmission:.ascii '*\xFFError In nmission\xFF*',0 seg000:4D79 ; DATA XREF: seg000:linkErro seg000:4D8F aNewFold_: .ascii ') n: New¦Fold. ÷:',0 seg000:4DA1 aInputNew: .ascii 'Input¦New¦÷:',0 seg000:4DAE aFreeram: .ascii 'FreeRAM:',0 ; DATA XREF: seg000:62DDo seg000:4DB7 aR0m: .ascii 'R0M:',0 ; DATA XREF: seg000:62F2o seg000:4DBC aNowSending___: .ascii 'Now Sending . . .¦˜',0 ; DATA XREF: seg000:62C5o seg000:4DD0 ixTable2: db 0EEh ; e ; DATA XREF: folder_menu_start_alternativeo seg000:4DD1 db 20h seg000:4DD2 db 61h ; a seg000:4DD3 db 0FEh ; ¦ seg000:4DD4 db 0FCh ; n seg000:4DD5 db 0FEh ; ¦ seg000:4DD6 db 74h ; t seg000:4DD7 db 6Fh ; o seg000:4DD8 db 0FEh ; ¦ seg000:4DD9 db 0E5h ; s seg000:4DDA db 0FEh ; ¦ seg000:4DDB db 54h ; T seg000:4DDC db 6Fh ; o seg000:4DDD db 2Eh ; . seg000:4DDE db 0 seg000:4DDF aANewI: .ascii ' f¦New¦d:',0 seg000:4DE9 aReAI: .ascii ' Re-f¦d:',0 seg000:4DF2 aPressAWhenDone_:.ascii 'Press¦f¦When¦Done.',0 seg000:4E05 aManager: .ascii 'MANAGER',0 seg000:4E0D aFolders: .ascii 'FOLDERS',0 seg000:4E15 aBack: .ascii 'Back',0 seg000:4E1A db 4Eh ; N seg000:4E1B db 41h ; A seg000:4E1C db 4Dh ; M seg000:4E1D db 45h ; E seg000:4E1E db 44h ; D seg000:4E1F db 45h ; E seg000:4E20 db 53h ; S seg000:4E21 db 43h ; C seg000:4E22 db 53h ; S seg000:4E23 db 49h ; I seg000:4E24 db 5Ah ; Z seg000:4E25 db 45h ; E seg000:4E26 db 54h ; T seg000:4E27 db 59h ; Y seg000:4E28 db 50h ; P seg000:4E29 db 45h ; E seg000:4E2A db 4 seg000:4E2B db 4Dh ; M seg000:4E2C db 6Fh ; o seg000:4E2D db 76h ; v seg000:4E2E db 0 seg000:4E2F db 12h seg000:4E30 db 15h seg000:4E31 db 0F6h ; ÷ seg000:4E32 db 0 seg000:4E33 db 28h ; ( seg000:4E34 db 2Bh ; + seg000:4E35 db 44h ; D seg000:4E36 db 65h ; e seg000:4E37 db 4Ch ; L seg000:4E38 db 0 seg000:4E39 db 38h ; 8 seg000:4E3A db 3Bh ; ; seg000:4E3B db 49h ; I seg000:4E3C db 6Eh ; n seg000:4E3D db 66h ; f seg000:4E3E db 6Fh ; o seg000:4E3F db 0 seg000:4E40 db 4Bh ; K seg000:4E41 db 0 seg000:4E42 db 3 seg000:4E43 db 4Eh ; N seg000:4E44 db 65h ; e seg000:4E45 db 77h ; w seg000:4E46 db 0 seg000:4E47 db 12h seg000:4E48 db 15h seg000:4E49 db 0F6h ; ÷ seg000:4E4A db 0 seg000:4E4B db 28h ; ( seg000:4E4C db 2Bh ; + seg000:4E4D db 44h ; D seg000:4E4E db 65h ; e seg000:4E4F db 4Ch ; L seg000:4E50 db 0 seg000:4E51 db 38h ; 8 seg000:4E52 db 3Bh ; ; seg000:4E53 db 0F9h ; · seg000:4E54 db 0 seg000:4E55 db 4Bh ; K seg000:4E56 db 0 seg000:4E57 db 3 seg000:4E58 db 41h ; A seg000:4E59 db 72h ; r seg000:4E5A db 63h ; c seg000:4E5B db 68h ; h seg000:4E5C db 0 seg000:4E5D db 14h seg000:4E5E db 17h seg000:4E5F db 48h ; H seg000:4E60 db 69h ; i seg000:4E61 db 64h ; d seg000:4E62 db 65h ; e seg000:4E63 db 0 seg000:4E64 db 26h ; & seg000:4E65 db 29h ; ) seg000:4E66 db 4Ch ; L seg000:4E67 db 6Fh ; o seg000:4E68 db 63h ; c seg000:4E69 db 6Bh ; k seg000:4E6A db 0 seg000:4E6B db 3Ah ; : seg000:4E6C db 3Eh ; > seg000:4E6D db 41h ; A seg000:4E6E db 6Ch ; l seg000:4E6F db 6Ch ; l seg000:4E70 db 0 seg000:4E71 db 4Bh ; K seg000:4E72 db 0 seg000:4E73 db 3 seg000:4E74 db 0F6h ; ÷ seg000:4E75 db 0 seg000:4E76 db 16h seg000:4E77 db 19h seg000:4E78 db 44h ; D seg000:4E79 db 65h ; e seg000:4E7A db 73h ; s seg000:4E7B db 0 seg000:4E7C db 25h ; % seg000:4E7D db 28h ; ( seg000:4E7E db 53h ; S seg000:4E7F db 69h ; i seg000:4E80 db 5Ah ; Z seg000:4E81 db 65h ; e seg000:4E82 db 0 seg000:4E83 db 37h ; 7 seg000:4E84 db 3Ah ; : seg000:4E85 db 54h ; T seg000:4E86 db 79h ; y seg000:4E87 db 70h ; p seg000:4E88 db 65h ; e seg000:4E89 db 0 seg000:4E8A db 4Bh ; K seg000:4E8B db 0 seg000:4E8C db 4 seg000:4E8D db 0F2h ; = seg000:4E8E db 0 seg000:4E8F db 13h seg000:4E90 db 16h seg000:4E91 db 4Ch ; L seg000:4E92 db 69h ; i seg000:4E93 db 6Eh ; n seg000:4E94 db 6Bh ; k seg000:4E95 db 0 seg000:4E96 db 25h ; % seg000:4E97 db 28h ; ( seg000:4E98 db 4Dh ; M seg000:4E99 db 65h ; e seg000:4E9A db 6Dh ; m seg000:4E9B db 0 seg000:4E9C db 37h ; 7 seg000:4E9D db 3Ah ; : seg000:4E9E db 50h ; P seg000:4E9F db 67h ; g seg000:4EA0 db 55h ; U seg000:4EA1 db 70h ; p seg000:4EA2 db 0 seg000:4EA3 db 4Bh ; K seg000:4EA4 db 4Eh ; N seg000:4EA5 db 50h ; P seg000:4EA6 db 67h ; g seg000:4EA7 db 44h ; D seg000:4EA8 db 6Eh ; n seg000:4EA9 db 0 seg000:4EAA db 4Bh ; K seg000:4EAB db 0 seg000:4EAC db 1 seg000:4EAD db 0CDh ; - seg000:4EAE db 64h ; d seg000:4EAF db 5Fh ; _ seg000:4EB0 db 63h ; c seg000:4EB1 db 0CAh ; - seg000:4EB2 db 63h ; c seg000:4EB3 db 0ABh ; ½ seg000:4EB4 db 62h ; b seg000:4EB5 db 9Eh ; P seg000:4EB6 db 62h ; b seg000:4EB7 db 8Eh ; Ä seg000:4EB8 db 63h ; c seg000:4EB9 db 5Fh ; _ seg000:4EBA db 63h ; c seg000:4EBB db 0CAh ; - seg000:4EBC db 63h ; c seg000:4EBD db 0AFh ; » seg000:4EBE db 62h ; b seg000:4EBF db 9Eh ; P seg000:4EC0 db 62h ; b seg000:4EC1 db 7Bh ; { seg000:4EC2 db 64h ; d seg000:4EC3 db 20h seg000:4EC4 db 64h ; d seg000:4EC5 db 83h ; â seg000:4EC6 db 64h ; d seg000:4EC7 db 8Bh ; ï seg000:4EC8 db 64h ; d seg000:4EC9 db 0A2h ; ó seg000:4ECA db 62h ; b seg000:4ECB db 0ADh ; ¡ seg000:4ECC db 64h ; d seg000:4ECD db 0B1h ; ¦ seg000:4ECE db 64h ; d seg000:4ECF db 0B5h ; ¦ seg000:4ED0 db 64h ; d seg000:4ED1 db 0B9h ; ¦ seg000:4ED2 db 64h ; d seg000:4ED3 db 0A2h ; ó seg000:4ED4 db 62h ; b seg000:4ED5 db 0A2h ; ó seg000:4ED6 db 62h ; b seg000:4ED7 db 0C0h ; + seg000:4ED8 db 62h ; b seg000:4ED9 db 0DDh ; ¦ seg000:4EDA db 62h ; b seg000:4EDB db 16h seg000:4EDC db 63h ; c seg000:4EDD db 3Ah ; : seg000:4EDE db 63h ; c seg000:4EDF db 0EEh ; e seg000:4EE0 db 0EAh ; O seg000:4EE1 db 20h seg000:4EE2 db 43h ; C seg000:4EE3 db 61h ; a seg000:4EE4 db 74h ; t seg000:4EE5 db 65h ; e seg000:4EE6 db 67h ; g seg000:4EE7 db 6Fh ; o seg000:4EE8 db 72h ; r seg000:4EE9 db 79h ; y seg000:4EEA db 0 seg000:4EEB db 0E9h ; T seg000:4EEC db 0FEh ; ¦ seg000:4EED db 0F3h ; = seg000:4EEE db 20h seg000:4EEF db 0EAh ; O seg000:4EF0 db 0 seg000:4EF1 db 53h ; S seg000:4EF2 db 65h ; e seg000:4EF3 db 74h ; t seg000:4EF4 db 20h seg000:4EF5 db 0F5h ; ) seg000:4EF6 db 20h seg000:4EF7 db 0E3h ; p seg000:4EF8 db 65h ; e seg000:4EF9 db 0 seg000:4EFA db 0EBh ; d seg000:4EFB db 0FFh seg000:4EFC db 0E2h ; G seg000:4EFD db 0E1h ; ß seg000:4EFE db 0 seg000:4EFF db 0DEh ; ¦ seg000:4F00 db 0FEh ; ¦ seg000:4F01 db 41h ; A seg000:4F02 db 6Eh ; n seg000:4F03 db 64h ; d seg000:4F04 db 0FEh ; ¦ seg000:4F05 db 0ECh ; 8 seg000:4F06 db 73h ; s seg000:4F07 db 0 seg000:4F08 db 0E7h ; t seg000:4F09 db 0EAh ; O seg000:4F0A db 0 seg000:4F0B db 18h seg000:4F0C db 4Eh ; N seg000:4F0D db 6Fh ; o seg000:4F0E db 0FEh ; ¦ seg000:4F0F db 47h ; G seg000:4F10 db 55h ; U seg000:4F11 db 49h ; I seg000:4F12 db 0FEh ; ¦ seg000:4F13 db 0F2h ; = seg000:4F14 db 0FEh ; ¦ seg000:4F15 db 46h ; F seg000:4F16 db 6Fh ; o seg000:4F17 db 75h ; u seg000:4F18 db 6Eh ; n seg000:4F19 db 64h ; d seg000:4F1A db 0 seg000:4F1B db 18h seg000:4F1C db 4Eh ; N seg000:4F1D db 6Fh ; o seg000:4F1E db 20h seg000:4F1F db 47h ; G seg000:4F20 db 55h ; U seg000:4F21 db 49h ; I seg000:4F22 db 20h seg000:4F23 db 0F2h ; = seg000:4F24 db 20h seg000:4F25 db 43h ; C seg000:4F26 db 68h ; h seg000:4F27 db 6Fh ; o seg000:4F28 db 73h ; s seg000:4F29 db 65h ; e seg000:4F2A db 6Eh ; n seg000:4F2B db 0 seg000:4F2C db 0C4h ; - seg000:4F2D db 0E9h ; T seg000:4F2E db 0FEh ; ¦ seg000:4F2F db 0F3h ; = seg000:4F30 db 0FEh ; ¦ seg000:4F31 db 0EAh ; O seg000:4F32 db 3Ah ; : seg000:4F33 db 0 seg000:4F34 db 0Eh seg000:4F35 db 41h ; A seg000:4F36 db 75h ; u seg000:4F37 db 74h ; t seg000:4F38 db 6Fh ; o seg000:4F39 db 20h seg000:4F3A db 2Dh ; - seg000:4F3B db 20h seg000:4F3C db 0FCh ; n seg000:4F3D db 20h seg000:4F3E db 0F9h ; · seg000:4F3F db 0 seg000:4F40 db 17h seg000:4F41 db 53h ; S seg000:4F42 db 68h ; h seg000:4F43 db 6Fh ; o seg000:4F44 db 77h ; w seg000:4F45 db 0FEh ; ¦ seg000:4F46 db 48h ; H seg000:4F47 db 69h ; i seg000:4F48 db 64h ; d seg000:4F49 db 64h ; d seg000:4F4A db 65h ; e seg000:4F4B db 6Eh ; n seg000:4F4C db 0FEh ; ¦ seg000:4F4D db 0F2h ; = seg000:4F4E db 73h ; s seg000:4F4F db 0 seg000:4F50 db 20h seg000:4F51 db 0DFh ; ¯ seg000:4F52 db 0FEh ; ¦ seg000:4F53 db 0FAh ; · seg000:4F54 db 0E1h ; ß seg000:4F55 db 73h ; s seg000:4F56 db 0 seg000:4F57 db 29h ; ) seg000:4F58 db 53h ; S seg000:4F59 db 68h ; h seg000:4F5A db 6Fh ; o seg000:4F5B db 77h ; w seg000:4F5C db 0FEh ; ¦ seg000:4F5D db 0E8h ; F seg000:4F5E db 0FEh ; ¦ seg000:4F5F db 49h ; I seg000:4F60 db 6Dh ; m seg000:4F61 db 61h ; a seg000:4F62 db 67h ; g seg000:4F63 db 65h ; e seg000:4F64 db 73h ; s seg000:4F65 db 0 seg000:4F66 db 0B4h ; ¦ seg000:4F67 db 0F1h ; ± seg000:4F68 db 20h seg000:4F69 db 0F5h ; ) seg000:4F6A db 20h seg000:4F6B db 44h ; D seg000:4F6C db 65h ; e seg000:4F6D db 66h ; f seg000:4F6E db 61h ; a seg000:4F6F db 75h ; u seg000:4F70 db 6Ch ; l seg000:4F71 db 74h ; t seg000:4F72 db 73h ; s seg000:4F73 db 0 seg000:4F74 db 0 seg000:4F75 db 0C4h ; - seg000:4F76 db 43h ; C seg000:4F77 db 68h ; h seg000:4F78 db 6Fh ; o seg000:4F79 db 6Fh ; o seg000:4F7A db 73h ; s seg000:4F7B db 65h ; e seg000:4F7C db 20h seg000:4F7D db 59h ; Y seg000:4F7E db 6Fh ; o seg000:4F7F db 75h ; u seg000:4F80 db 72h ; r seg000:4F81 db 20h seg000:4F82 db 0E3h ; p seg000:4F83 db 65h ; e seg000:4F84 db 3Ah ; : seg000:4F85 db 0 seg000:4F86 db 0Eh seg000:4F87 db 55h ; U seg000:4F88 db 73h ; s seg000:4F89 db 65h ; e seg000:4F8A db 0FEh ; ¦ seg000:4F8B db 0E8h ; F seg000:4F8C db 0FEh ; ¦ seg000:4F8D db 4Dh ; M seg000:4F8E db 61h ; a seg000:4F8F db 6Eh ; n seg000:4F90 db 61h ; a seg000:4F91 db 67h ; g seg000:4F92 db 65h ; e seg000:4F93 db 72h ; r seg000:4F94 db 0 seg000:4F95 db 17h seg000:4F96 db 52h ; R seg000:4F97 db 75h ; u seg000:4F98 db 6Eh ; n seg000:4F99 db 0FEh ; ¦ seg000:4F9A db 45h ; E seg000:4F9B db 78h ; x seg000:4F9C db 74h ; t seg000:4F9D db 65h ; e seg000:4F9E db 72h ; r seg000:4F9F db 6Eh ; n seg000:4FA0 db 61h ; a seg000:4FA1 db 6Ch ; l seg000:4FA2 db 0FEh ; ¦ seg000:4FA3 db 47h ; G seg000:4FA4 db 55h ; U seg000:4FA5 db 49h ; I seg000:4FA6 db 0 seg000:4FA7 db 0A0h ; á seg000:4FA8 db 0EEh ; e seg000:4FA9 db 20h seg000:4FAA db 0E3h ; p seg000:4FAB db 65h ; e seg000:4FAC db 0FEh ; ¦ seg000:4FAD db 0F2h ; = seg000:4FAE db 0 seg000:4FAF db 0 seg000:4FB0 db 0C4h ; - seg000:4FB1 db 53h ; S seg000:4FB2 db 65h ; e seg000:4FB3 db 74h ; t seg000:4FB4 db 0FEh ; ¦ seg000:4FB5 db 0EBh ; d seg000:4FB6 db 0FEh ; ¦ seg000:4FB7 db 0EAh ; O seg000:4FB8 db 3Ah ; : seg000:4FB9 db 0 seg000:4FBA db 0Dh seg000:4FBB db 0E4h ; S seg000:4FBC db 0FEh ; ¦ seg000:4FBD db 50h ; P seg000:4FBE db 57h ; W seg000:4FBF db 0FEh ; ¦ seg000:4FC0 db 0E2h ; G seg000:4FC1 db 74h ; t seg000:4FC2 db 0 seg000:4FC3 db 56h ; V seg000:4FC4 db 0E0h ; a seg000:4FC5 db 0FEh ; ¦ seg000:4FC6 db 0EBh ; d seg000:4FC7 db 0 seg000:4FC8 db 9Ch ; £ seg000:4FC9 db 41h ; A seg000:4FCA db 74h ; t seg000:4FCB db 0FEh ; ¦ seg000:4FCC db 0EAh ; O seg000:4FCD db 0FEh ; ¦ seg000:4FCE db 53h ; S seg000:4FCF db 63h ; c seg000:4FD0 db 72h ; r seg000:4FD1 db 65h ; e seg000:4FD2 db 65h ; e seg000:4FD3 db 6Eh ; n seg000:4FD4 db 0 seg000:4FD5 db 25h ; % seg000:4FD6 db 0E0h ; a seg000:4FD7 db 0FEh ; ¦ seg000:4FD8 db 41h ; A seg000:4FD9 db 66h ; f seg000:4FDA db 74h ; t seg000:4FDB db 65h ; e seg000:4FDC db 72h ; r seg000:4FDD db 0FEh ; ¦ seg000:4FDE db 41h ; A seg000:4FDF db 50h ; P seg000:4FE0 db 44h ; D seg000:4FE1 db 0 seg000:4FE2 db 0AEh ; « seg000:4FE3 db 53h ; S seg000:4FE4 db 65h ; e seg000:4FE5 db 74h ; t seg000:4FE6 db 20h seg000:4FE7 db 2Fh ; / seg000:4FE8 db 20h seg000:4FE9 db 41h ; A seg000:4FEA db 6Ch ; l seg000:4FEB db 74h ; t seg000:4FEC db 65h ; e seg000:4FED db 72h ; r seg000:4FEE db 0FEh ; ¦ seg000:4FEF db 0EBh ; d seg000:4FF0 db 0 seg000:4FF1 db 0B5h ; ¦ seg000:4FF2 db 0F0h ; = seg000:4FF3 db 20h seg000:4FF4 db 59h ; Y seg000:4FF5 db 6Fh ; o seg000:4FF6 db 75h ; u seg000:4FF7 db 72h ; r seg000:4FF8 db 20h seg000:4FF9 db 0EBh ; d seg000:4FFA db 0 seg000:4FFB db 0 seg000:4FFC db 0C4h ; - seg000:4FFD db 0DEh ; ¦ seg000:4FFE db 2Fh ; / seg000:4FFF db 20h seg000:5000 db 0ECh ; 8 seg000:5001 db 20h seg000:5002 db 4Dh ; M seg000:5003 db 6Fh ; o seg000:5004 db 64h ; d seg000:5005 db 65h ; e seg000:5006 db 73h ; s seg000:5007 db 3Ah ; : seg000:5008 db 0 seg000:5009 db 4Eh ; N seg000:500A db 49h ; I seg000:500B db 6Eh ; n seg000:500C db 74h ; t seg000:500D db 65h ; e seg000:500E db 72h ; r seg000:500F db 72h ; r seg000:5010 db 75h ; u seg000:5011 db 70h ; p seg000:5012 db 74h ; t seg000:5013 db 0FEh ; ¦ seg000:5014 db 0DEh ; ¦ seg000:5015 db 0 seg000:5016 db 94h ; ö seg000:5017 db 0E4h ; S seg000:5018 db 64h ; d seg000:5019 db 0FEh ; ¦ seg000:501A db 49h ; I seg000:501B db 6Eh ; n seg000:501C db 0FEh ; ¦ seg000:501D db 0E8h ; F seg000:501E db 73h ; s seg000:501F db 0 seg000:5020 db 1Dh seg000:5021 db 51h ; Q seg000:5022 db 75h ; u seg000:5023 db 69h ; i seg000:5024 db 63h ; c seg000:5025 db 6Bh ; k seg000:5026 db 0FEh ; ¦ seg000:5027 db 4Bh ; K seg000:5028 db 65h ; e seg000:5029 db 79h ; y seg000:502A db 0FEh ; ¦ seg000:502B db 52h ; R seg000:502C db 65h ; e seg000:502D db 70h ; p seg000:502E db 65h ; e seg000:502F db 61h ; a seg000:5030 db 74h ; t seg000:5031 db 0 seg000:5032 db 26h ; & seg000:5033 db 41h ; A seg000:5034 db 4Ch ; L seg000:5035 db 50h ; P seg000:5036 db 48h ; H seg000:5037 db 41h ; A seg000:5038 db 20h seg000:5039 db 2Fh ; / seg000:503A db 20h seg000:503B db 41h ; A seg000:503C db 50h ; P seg000:503D db 50h ; P seg000:503E db 53h ; S seg000:503F db 20h seg000:5040 db 2Bh ; + seg000:5041 db 20h seg000:5042 db 0F4h ; ( seg000:5043 db 0 seg000:5044 db 6Fh ; o seg000:5045 db 42h ; B seg000:5046 db 6Ch ; l seg000:5047 db 6Fh ; o seg000:5048 db 63h ; c seg000:5049 db 6Bh ; k seg000:504A db 0FEh ; ¦ seg000:504B db 54h ; T seg000:504C db 68h ; h seg000:504D db 65h ; e seg000:504E db 0FEh ; ¦ seg000:504F db 4Dh ; M seg000:5050 db 65h ; e seg000:5051 db 6Dh ; m seg000:5052 db 6Fh ; o seg000:5053 db 72h ; r seg000:5054 db 79h ; y seg000:5055 db 0 seg000:5056 db 0B5h ; ¦ seg000:5057 db 4Dh ; M seg000:5058 db 65h ; e seg000:5059 db 6Eh ; n seg000:505A db 75h ; u seg000:505B db 0FEh ; ¦ seg000:505C db 46h ; F seg000:505D db 72h ; r seg000:505E db 6Fh ; o seg000:505F db 6Dh ; m seg000:5060 db 0FEh ; ¦ seg000:5061 db 41h ; A seg000:5062 db 63h ; c seg000:5063 db 63h ; c seg000:5064 db 65h ; e seg000:5065 db 73h ; s seg000:5066 db 73h ; s seg000:5067 db 0 seg000:5068 db 0 seg000:5069 db 0C4h ; - seg000:506A db 0E7h ; t seg000:506B db 20h seg000:506C db 53h ; S seg000:506D db 65h ; e seg000:506E db 74h ; t seg000:506F db 74h ; t seg000:5070 db 69h ; i seg000:5071 db 6Eh ; n seg000:5072 db 67h ; g seg000:5073 db 73h ; s seg000:5074 db 3Ah ; : seg000:5075 db 0 seg000:5076 db 0Eh seg000:5077 db 0E4h ; S seg000:5078 db 0FEh ; ¦ seg000:5079 db 4Ch ; L seg000:507A db 6Fh ; o seg000:507B db 77h ; w seg000:507C db 65h ; e seg000:507D db 72h ; r seg000:507E db 63h ; c seg000:507F db 61h ; a seg000:5080 db 73h ; s seg000:5081 db 65h ; e seg000:5082 db 0 seg000:5083 db 17h seg000:5084 db 53h ; S seg000:5085 db 61h ; a seg000:5086 db 76h ; v seg000:5087 db 65h ; e seg000:5088 db 0FEh ; ¦ seg000:5089 db 54h ; T seg000:508A db 68h ; h seg000:508B db 65h ; e seg000:508C db 0FEh ; ¦ seg000:508D db 57h ; W seg000:508E db 68h ; h seg000:508F db 61h ; a seg000:5090 db 6Ch ; l seg000:5091 db 65h ; e seg000:5092 db 73h ; s seg000:5093 db 0FEh ; ¦ seg000:5094 db 3Ah ; : seg000:5095 db 29h ; ) seg000:5096 db 0 seg000:5097 db 60h ; ` seg000:5098 db 0E5h ; s seg000:5099 db 20h seg000:509A db 0E8h ; F seg000:509B db 73h ; s seg000:509C db 20h seg000:509D db 54h ; T seg000:509E db 6Fh ; o seg000:509F db 20h seg000:50A0 db 4Dh ; M seg000:50A1 db 41h ; A seg000:50A2 db 49h ; I seg000:50A3 db 4Eh ; N seg000:50A4 db 0 seg000:50A5 db 0A6h ; ª seg000:50A6 db 41h ; A seg000:50A7 db 74h ; t seg000:50A8 db 0FEh ; ¦ seg000:50A9 db 0FCh ; n seg000:50AA db 0FEh ; ¦ seg000:50AB db 0FAh ; · seg000:50AC db 0E1h ; ß seg000:50AD db 0 seg000:50AE db 6Fh ; o seg000:50AF db 41h ; A seg000:50B0 db 6Ch ; l seg000:50B1 db 6Ch ; l seg000:50B2 db 6Fh ; o seg000:50B3 db 77h ; w seg000:50B4 db 0FEh ; ¦ seg000:50B5 db 57h ; W seg000:50B6 db 72h ; r seg000:50B7 db 69h ; i seg000:50B8 db 74h ; t seg000:50B9 db 65h ; e seg000:50BA db 20h seg000:50BB db 2Dh ; - seg000:50BC db 20h seg000:50BD db 42h ; B seg000:50BE db 61h ; a seg000:50BF db 63h ; c seg000:50C0 db 6Bh ; k seg000:50C1 db 0 seg000:50C2 db 0B5h ; ¦ seg000:50C3 db 49h ; I seg000:50C4 db 6Eh ; n seg000:50C5 db 0FEh ; ¦ seg000:50C6 db 41h ; A seg000:50C7 db 72h ; r seg000:50C8 db 63h ; c seg000:50C9 db 68h ; h seg000:50CA db 69h ; i seg000:50CB db 76h ; v seg000:50CC db 65h ; e seg000:50CD db 64h ; d seg000:50CE db 0FEh ; ¦ seg000:50CF db 0E8h ; F seg000:50D0 db 73h ; s seg000:50D1 db 0 seg000:50D2 db 0 seg000:50D3 db 86h ; å seg000:50D4 db 96h ; û seg000:50D5 db 0Fh seg000:50D6 db 0F9h ; · seg000:50D7 db 6Eh ; n seg000:50D8 db 18h seg000:50D9 db 0B2h ; ¦ seg000:50DA db 6Eh ; n seg000:50DB db 21h ; ! seg000:50DC db 0F9h ; · seg000:50DD db 6Eh ; n seg000:50DE db 2Ah ; * seg000:50DF mainOptsDataTable:db 0F9h ; · ; DATA XREF: loadMainOptsDataTableo seg000:50E0 db 6Eh ; n seg000:50E1 firstopts_ptr1: db 0B5h ; ¦ seg000:50E2 dw 6E99h seg000:50E4 firstopts_ptr2: db 0 seg000:50E5 dw 9687h seg000:50E7 firstopts_ptr3: db 0Fh seg000:50E8 dw 6ECCh seg000:50EA firstopts_ptr4: db 18h seg000:50EB dw 6EFCh seg000:50ED firstopts_ptr5: db 0A1h ; í seg000:50EE dw 6F23h seg000:50F0 db 0 seg000:50F1 db 88h ; ê seg000:50F2 db 96h ; û seg000:50F3 db 0Eh seg000:50F4 db 0B8h ; + seg000:50F5 db 6Fh ; o seg000:50F6 db 1Ah seg000:50F7 db 0B8h ; + seg000:50F8 db 6Fh ; o seg000:50F9 db 26h ; & seg000:50FA db 0B8h ; + seg000:50FB db 6Fh ; o seg000:50FC db 0AFh ; » seg000:50FD db 0E8h ; F seg000:50FE db 6Fh ; o seg000:50FF db 0B6h ; ¦ seg000:5100 db 0B5h ; ¦ seg000:5101 db 70h ; p seg000:5102 db 0 seg000:5103 db 89h ; ë seg000:5104 db 96h ; û seg000:5105 db 12h seg000:5106 db 0F9h ; · seg000:5107 db 6Eh ; n seg000:5108 db 1Eh seg000:5109 db 0F9h ; · seg000:510A db 6Eh ; n seg000:510B db 27h ; ' seg000:510C db 0F9h ; · seg000:510D db 6Eh ; n seg000:510E db 33h ; 3 seg000:510F db 0F9h ; · seg000:5110 db 6Eh ; n seg000:5111 db 0 seg000:5112 db 8Ah ; è seg000:5113 db 96h ; û seg000:5114 MiscOptions_Ptrs:db 0Fh seg000:5115 dw 6EF1h seg000:5117 db 18h seg000:5118 dw 6EF9h seg000:511A db 24h ; $ seg000:511B dw 6EF9h seg000:511D db 33h ; 3 seg000:511E dw 6EF9h seg000:5120 db 0 seg000:5121 db 0FFh seg000:5122 db 0EDh ; f seg000:5123 db 20h seg000:5124 db 0EBh ; d seg000:5125 db 3Ah ; : seg000:5126 db 0FEh ; ¦ seg000:5127 db 0 seg000:5128 aPushLRToChange:.ascii 'Push¦L/R¦To¦Change',0 seg000:513B aVersion1_0: .ascii 'version 1.0',0 ; DATA XREF: DispAboutPics+40o seg000:5147 aProducedBy: .ascii 'Produced¦By:',0 ; DATA XREF: DispSingleAboutScreen+6o seg000:5147 ; seg000:4B37o seg000:5154 aDetachedS0luti0ns:.ascii 'DETACHED¦S0LUTI0NS',0 seg000:5167 a0urWebpage: .ascii '0ur¦Webpage:',0 seg000:5174 aWww_detacheds_com:.ascii 'www.detacheds.com',0 seg000:5186 aCoding: .ascii ')¦Coding:',0 seg000:5190 aByDanEnglender:.ascii 'By¦Dan¦Englender',0 seg000:51A1 aUing: .ascii 'ping:',0 seg000:51A7 aByJasonKovacs: .ascii 'By¦Jason¦Kovacs',0 seg000:51B7 db 0 seg000:51B8 MirageHeaderSprite:db 0C6h ; ¦ ; DATA XREF: put_mirageos_header+6o seg000:51B8 ; DispAboutPics+39o seg000:51B9 db 0DEh ; ¦ seg000:51BA db 38h ; 8 seg000:51BB db 0F7h ; ˜ seg000:51BC db 0C3h ; + seg000:51BD db 8Fh ; Å seg000:51BE db 0EEh ; e seg000:51BF db 0DBh ; ¦ seg000:51C0 db 6Dh ; m seg000:51C1 db 86h ; å seg000:51C2 db 4 seg000:51C3 db 50h ; P seg000:51C4 db 0FEh ; ¦ seg000:51C5 db 0DEh ; ¦ seg000:51C6 db 7Dh ; } seg000:51C7 db 0B7h ; + seg000:51C8 db 84h ; ä seg000:51C9 db 4Eh ; N seg000:51CA db 0D6h ; + seg000:51CB db 0DBh ; ¦ seg000:51CC db 6Dh ; m seg000:51CD db 0B6h ; ¦ seg000:51CE db 4 seg000:51CF db 41h ; A seg000:51D0 db 0C6h ; ¦ seg000:51D1 db 0DBh ; ¦ seg000:51D2 db 6Ch ; l seg000:51D3 db 0F7h ; ˜ seg000:51D4 db 0C3h ; + seg000:51D5 db 9Eh ; P seg000:51D6 db 41h ; A seg000:51D7 db 49h ; I seg000:51D8 db 5Dh ; ] seg000:51D9 db 49h ; I seg000:51DA db 49h ; I seg000:51DB db 41h ; A seg000:51DC db 7Fh ;  seg000:51DD db 41h ; A seg000:51DE db 49h ; I seg000:51DF db 49h ; I seg000:51E0 db 5Dh ; ] seg000:51E1 db 49h ; I seg000:51E2 db 41h ; A seg000:51E3 db 2Ah ; * seg000:51E4 db 2Ah ; * seg000:51E5 db 14h seg000:51E6 db 2Ah ; * seg000:51E7 db 2Ah ; * seg000:51E8 db 14h seg000:51E9 db 14h seg000:51EA db 2Ah ; * seg000:51EB db 14h seg000:51EC db 14h seg000:51ED db 55h ; U seg000:51EE db 6Bh ; k seg000:51EF db 60h ; ` seg000:51F0 db 9Eh ; P seg000:51F1 db 82h ; é seg000:51F2 db 82h ; é seg000:51F3 db 82h ; é seg000:51F4 db 0FEh ; ¦ seg000:51F5 db 60h ; ` seg000:51F6 db 0FCh ; n seg000:51F7 db 0CEh ; + seg000:51F8 db 82h ; é seg000:51F9 db 82h ; é seg000:51FA db 0FEh ; ¦ seg000:51FB db 82h ; é seg000:51FC db 82h ; é seg000:51FD db 82h ; é seg000:51FE db 82h ; é seg000:51FF db 82h ; é seg000:5200 db 0FEh ; ¦ seg000:5201 db 80h ; Ç seg000:5202 db 0C0h ; + seg000:5203 db 0E0h ; a seg000:5204 db 0C0h ; + seg000:5205 db 80h ; Ç seg000:5206 Xsprite: .ascii 'á@áeät¦',0 ; DATA XREF: dispCross+6o seg000:520E db 84h ; ä seg000:520F db 8Ah ; è seg000:5210 db 26h ; & seg000:5211 db 0A2h ; ó seg000:5212 db 80h ; Ç seg000:5213 db 0C4h ; - seg000:5214 db 8Ch ; î seg000:5215 db 25h ; % seg000:5216 db 0B2h ; ¦ seg000:5217 db 80h ; Ç seg000:5218 db 8Eh ; Ä seg000:5219 db 0E6h ; µ seg000:521A db 74h ; t seg000:521B db 0A1h ; í seg000:521C db 0 seg000:521D db 0FFh seg000:521E db 80h ; Ç seg000:521F db 0BEh ; + seg000:5220 db 0A2h ; ó seg000:5221 db 0A2h ; ó seg000:5222 db 0BEh ; + seg000:5223 db 0AAh ; ¬ seg000:5224 db 0BEh ; + seg000:5225 db 0AAh ; ¬ seg000:5226 db 0BEh ; + seg000:5227 db 80h ; Ç seg000:5228 db 0FFh seg000:5229 db 0FFh seg000:522A db 0FFh seg000:522B db 0E3h ; p seg000:522C db 0DDh ; ¦ seg000:522D db 0DDh ; ¦ seg000:522E db 0DDh ; ¦ seg000:522F db 0E3h ; p seg000:5230 db 0FFh seg000:5231 db 0FFh seg000:5232 db 0C3h ; + seg000:5233 db 0DDh ; ¦ seg000:5234 db 0C3h ; + seg000:5235 db 0DFh ; ¯ seg000:5236 db 0DFh ; ¯ seg000:5237 db 0FFh seg000:5238 db 0FFh seg000:5239 db 0C1h ; - seg000:523A db 0F7h ; ˜ seg000:523B db 0F7h ; ˜ seg000:523C db 0F7h ; ˜ seg000:523D db 0F7h ; ˜ seg000:523E db 0FFh seg000:523F db 0FFh seg000:5240 db 0C1h ; - seg000:5241 db 0F7h ; ˜ seg000:5242 db 0F7h ; ˜ seg000:5243 db 0F7h ; ˜ seg000:5244 db 0C1h ; - seg000:5245 db 0FFh seg000:5246 db 0FFh seg000:5247 db 0E3h ; p seg000:5248 db 0DDh ; ¦ seg000:5249 db 0DDh ; ¦ seg000:524A db 0DDh ; ¦ seg000:524B db 0E3h ; p seg000:524C db 0FFh seg000:524D db 0FFh seg000:524E db 0DDh ; ¦ seg000:524F db 0CDh ; - seg000:5250 db 0D5h ; + seg000:5251 db 0D9h ; + seg000:5252 db 0DDh ; ¦ seg000:5253 db 0FFh seg000:5254 db 0FFh seg000:5255 db 0E1h ; ß seg000:5256 db 0DFh ; ¯ seg000:5257 db 0E3h ; p seg000:5258 db 0FDh ; ² seg000:5259 db 0C3h ; + seg000:525A db 0FFh seg000:525B db 0FFh seg000:525C db 0FFh seg000:525D db 5 seg000:525E db 51h ; Q seg000:525F db 4 seg000:5260 db 91h ; æ seg000:5261 db 5 seg000:5262 db 51h ; Q seg000:5263 db 4 seg000:5264 db 11h seg000:5265 db 4 seg000:5266 db 11h seg000:5267 db 4 seg000:5268 db 11h seg000:5269 SizeGraphic: db 68h ; h ; DATA XREF: put_size_graphico seg000:526A db 0 seg000:526B db 83h ; â seg000:526C db 24h ; $ seg000:526D db 49h ; I seg000:526E db 50h ; P seg000:526F db 2Ah ; * seg000:5270 db 64h ; d seg000:5271 db 0CBh ; - seg000:5272 db 30h ; 0 seg000:5273 db 30h ; 0 seg000:5274 db 30h ; 0 seg000:5275 db 30h ; 0 seg000:5276 db 30h ; 0 seg000:5277 db 30h ; 0 seg000:5278 unk_5278: db 0 seg000:5279 db 6 seg000:527A db 6 seg000:527B db 6 seg000:527C db 6 seg000:527D db 6 seg000:527E unk_527E: db 0 seg000:527F db 78h ; x seg000:5280 db 0DCh ; _ seg000:5281 db 0BCh ; + seg000:5282 db 0FCh ; n seg000:5283 db 0FCh ; n seg000:5284 db 78h ; x seg000:5285 AboutSprite3: db 1Ah ; DATA XREF: DispAboutPics+2Co seg000:5286 db 0 seg000:5287 db 7Fh ;  seg000:5288 db 60h ; ` seg000:5289 db 9Fh ; ƒ seg000:528A db 0F8h ; ° seg000:528B db 2Fh ; / seg000:528C db 0F4h ; ( seg000:528D db 2Dh ; - seg000:528E db 0E8h ; F seg000:528F db 0Eh seg000:5290 db 0C8h ; + seg000:5291 db 0Ch seg000:5292 db 0C0h ; + seg000:5293 db 0Ch seg000:5294 db 0C0h ; + seg000:5295 db 0Ch seg000:5296 db 0C0h ; + seg000:5297 db 1Ch seg000:5298 db 0C0h ; + seg000:5299 db 1 seg000:529A db 0C0h ; + seg000:529B AboutRLEPic1: db 91h ; æ ; DATA XREF: DispAboutPics+3o seg000:529C db 0 seg000:529D db 0FFh seg000:529E db 91h ; æ seg000:529F db 0 seg000:52A0 db 23h ; # seg000:52A1 db 1 seg000:52A2 db 0FFh seg000:52A3 db 0FFh seg000:52A4 db 91h ; æ seg000:52A5 db 0 seg000:52A6 db 9 seg000:52A7 db 1Fh seg000:52A8 db 0FFh seg000:52A9 db 0C0h ; + seg000:52AA db 0FCh ; n seg000:52AB db 91h ; æ seg000:52AC db 0 seg000:52AD db 7 seg000:52AE db 0Fh seg000:52AF db 0FFh seg000:52B0 db 0F0h ; = seg000:52B1 db 0 seg000:52B2 db 3 seg000:52B3 db 0E0h ; a seg000:52B4 db 91h ; æ seg000:52B5 db 0 seg000:52B6 db 5 seg000:52B7 db 7 seg000:52B8 db 0FFh seg000:52B9 db 0FEh ; ¦ seg000:52BA db 91h ; æ seg000:52BB db 0 seg000:52BC db 3 seg000:52BD db 1Eh seg000:52BE db 91h ; æ seg000:52BF db 0 seg000:52C0 db 5 seg000:52C1 db 0FFh seg000:52C2 db 0FFh seg000:52C3 db 0E0h ; a seg000:52C4 db 91h ; æ seg000:52C5 db 0 seg000:52C6 db 3 seg000:52C7 db 1 seg000:52C8 db 0E0h ; a seg000:52C9 db 91h ; æ seg000:52CA db 0 seg000:52CB db 4 seg000:52CC db 0FFh seg000:52CD db 0FCh ; n seg000:52CE db 91h ; æ seg000:52CF db 0 seg000:52D0 db 5 seg000:52D1 db 1Fh seg000:52D2 db 80h ; Ç seg000:52D3 db 91h ; æ seg000:52D4 db 0 seg000:52D5 db 3 seg000:52D6 db 0FEh ; ¦ seg000:52D7 db 91h ; æ seg000:52D8 db 0 seg000:52D9 db 7 seg000:52DA db 7Fh ;  seg000:52DB db 0C0h ; + seg000:52DC db 91h ; æ seg000:52DD db 0 seg000:52DE db 0Bh seg000:52DF db 3Fh ; ? seg000:52E0 db 0FFh seg000:52E1 db 0FFh seg000:52E2 db 91h ; æ seg000:52E3 db 0 seg000:52E4 db 3Fh ; ? seg000:52E5 db 0FFh seg000:52E6 db 0C0h ; + seg000:52E7 db 0 seg000:52E8 db 0 seg000:52E9 db 3Fh ; ? seg000:52EA db 80h ; Ç seg000:52EB db 91h ; æ seg000:52EC db 0 seg000:52ED db 5 seg000:52EE db 0Fh seg000:52EF db 0FCh ; n seg000:52F0 db 3Fh ; ? seg000:52F1 db 0 seg000:52F2 db 3 seg000:52F3 db 0FCh ; n seg000:52F4 db 78h ; x seg000:52F5 db 91h ; æ seg000:52F6 db 0 seg000:52F7 db 4 seg000:52F8 db 1 seg000:52F9 db 0FFh seg000:52FA db 0C0h ; + seg000:52FB db 0 seg000:52FC db 0F0h ; = seg000:52FD db 1Fh seg000:52FE db 0E0h ; a seg000:52FF db 7 seg000:5300 db 80h ; Ç seg000:5301 db 91h ; æ seg000:5302 db 0 seg000:5303 db 3 seg000:5304 db 3Fh ; ? seg000:5305 db 0F8h ; ° seg000:5306 db 0 seg000:5307 db 0 seg000:5308 db 0Fh seg000:5309 db 0FEh ; ¦ seg000:530A db 0 seg000:530B db 0 seg000:530C db 70h ; p seg000:530D db 0 seg000:530E db 0 seg000:530F db 7 seg000:5310 db 0FFh seg000:5311 db 80h ; Ç seg000:5312 db 91h ; æ seg000:5313 db 0 seg000:5314 db 3 seg000:5315 db 7Fh ;  seg000:5316 db 80h ; Ç seg000:5317 db 0 seg000:5318 db 0Fh seg000:5319 db 80h ; Ç seg000:531A db 0 seg000:531B db 0FFh seg000:531C db 0FCh ; n seg000:531D db 91h ; æ seg000:531E db 0 seg000:531F db 5 seg000:5320 db 78h ; x seg000:5321 db 91h ; æ seg000:5322 db 0 seg000:5323 db 4 seg000:5324 db 0FFh seg000:5325 db 0E0h ; a seg000:5326 db 91h ; æ seg000:5327 db 0 seg000:5328 db 0Ah seg000:5329 db 0FEh ; ¦ seg000:532A db 91h ; æ seg000:532B db 0 seg000:532C db 0EFh ; n seg000:532D AboutSprite1: db 7 ; DATA XREF: DispAboutPics+12o seg000:532E db 0 seg000:532F db 18h seg000:5330 db 0C0h ; + seg000:5331 db 24h ; $ seg000:5332 db 20h seg000:5333 db 48h ; H seg000:5334 db 10h seg000:5335 db 50h ; P seg000:5336 db 10h seg000:5337 db 90h ; É seg000:5338 db 8 seg000:5339 db 80h ; Ç seg000:533A db 8 seg000:533B db 80h ; Ç seg000:533C db 8 seg000:533D db 40h ; @ seg000:533E db 10h seg000:533F db 40h ; @ seg000:5340 db 10h seg000:5341 db 20h seg000:5342 db 20h seg000:5343 db 18h seg000:5344 db 0C0h ; + seg000:5345 db 7 seg000:5346 AboutSprite2: db 0 ; DATA XREF: DispAboutPics+1Fo seg000:5347 db 7 seg000:5348 db 0FFh seg000:5349 db 0C0h ; + seg000:534A db 3 seg000:534B db 0F8h ; ° seg000:534C db 0 seg000:534D db 3Eh ; > seg000:534E db 7Ch ; | seg000:534F db 0 seg000:5350 db 0 seg000:5351 db 1 seg000:5352 db 80h ; Ç seg000:5353 db 0 seg000:5354 db 0 seg000:5355 db 1 seg000:5356 db 80h ; Ç seg000:5357 db 0 seg000:5358 db 1 seg000:5359 db 0FEh ; ¦ seg000:535A db 7Eh ; ~ seg000:535B db 1 seg000:535C db 0FEh ; ¦ seg000:535D db 0 seg000:535E db 1 seg000:535F db 0FEh ; ¦ seg000:5360 button_end: db 0 ; DATA XREF: getinfo+6Co seg000:5361 db 0 seg000:5362 db 36h ; 6 seg000:5363 db 58h ; X seg000:5364 db 2Dh ; - seg000:5365 db 0A0h ; á seg000:5366 db 36h ; 6 seg000:5367 db 0A8h ; ¿ seg000:5368 db 25h ; % seg000:5369 db 58h ; X seg000:536A button_1: db 0 ; DATA XREF: getinfo+39o seg000:536B db 0 seg000:536C db 0 seg000:536D db 0 seg000:536E db 65h ; e seg000:536F db 0ACh ; ¼ seg000:5370 db 5Bh ; [ seg000:5371 db 28h ; ( seg000:5372 db 6Eh ; n seg000:5373 db 0A8h ; ¿ seg000:5374 db 5Bh ; [ seg000:5375 db 0ACh ; ¼ seg000:5376 db 60h ; ` seg000:5377 db 0 seg000:5378 button_3: db 0 ; DATA XREF: getinfo+5Do seg000:5379 db 0 seg000:537A db 2Eh ; . seg000:537B db 0E8h ; F seg000:537C db 51h ; Q seg000:537D db 14h seg000:537E db 55h ; U seg000:537F db 54h ; T seg000:5380 db 55h ; U seg000:5381 db 54h ; T seg000:5382 db 51h ; Q seg000:5383 db 44h ; D seg000:5384 db 2Eh ; . seg000:5385 db 0B8h ; + seg000:5386 button_2: db 0 ; DATA XREF: getinfo+4Co seg000:5387 db 0 seg000:5388 db 7Fh ;  seg000:5389 db 0FCh ; n seg000:538A db 47h ; G seg000:538B db 64h ; d seg000:538C db 6Ah ; j seg000:538D db 0B4h ; ¦ seg000:538E db 6Bh ; k seg000:538F db 6Ch ; l seg000:5390 db 6Ah ; j seg000:5391 db 0A4h ; ñ seg000:5392 db 6Fh ; o seg000:5393 db 7Ch ; | seg000:5394 db 7Fh ;  seg000:5395 db 0FCh ; n seg000:5396 db 1 seg000:5397 db 20h seg000:5398 db 2 seg000:5399 db 80h ; Ç seg000:539A ; --------------------------------------------------------------------------- seg000:539A seg000:539A hideall: ; CODE XREF: seg000:41D3j seg000:539A ld hl, appData seg000:539D di seg000:539E ld a, (hl) seg000:539F ld (hl), 0 seg000:53A1 res kbdSCR, (iy+kbdFlags) seg000:53A5 ei seg000:53A6 ret seg000:53A7 ; --------------------------------------------------------------------------- seg000:53A7 seg000:53A7 divhlby10: ; CODE XREF: seg000:41D6j seg000:53A7 rst 28h seg000:53A7 ; --------------------------------------------------------------------------- seg000:53A8 dw 400Fh ; _DivHLBy10 seg000:53AA ; --------------------------------------------------------------------------- seg000:53AA ret seg000:53AB ; --------------------------------------------------------------------------- seg000:53AB seg000:53AB myfastcopyOfSomething: ; CODE XREF: seg000:41E8j seg000:53AB ; seg000:5520j ... seg000:53AB push af seg000:53AC push de seg000:53AD push hl seg000:53AE ld hl, 88B8h seg000:53B1 call fastcopyb seg000:53B4 pop hl seg000:53B5 pop de seg000:53B6 pop af seg000:53B7 ret seg000:53B8 ; --------------------------------------------------------------------------- seg000:53B8 seg000:53B8 rand127: ; CODE XREF: seg000:40FBj seg000:53B8 ; seg000:7E90j seg000:53B8 push bc seg000:53B9 ld b, 80h ; 'Ç' seg000:53BB call irandom seg000:53BE pop bc seg000:53BF ret seg000:53C0 ; --------------------------------------------------------------------------- seg000:53C0 seg000:53C0 loc_53C0: ; CODE XREF: seg000:7E96j seg000:53C0 call sub_55FD seg000:53C3 rst 28h seg000:53C3 ; --------------------------------------------------------------------------- seg000:53C4 dw 4972h ; _getKey seg000:53C6 ; --------------------------------------------------------------------------- seg000:53C6 jp sub_564E seg000:53C6 ; --------------------------------------------------------------------------- seg000:53C9 aUnknownRomCall:.ascii 'Unknown Rom Call: ',0 seg000:53DC ; --------------------------------------------------------------------------- seg000:53DC seg000:53DC specialJumpCode: ; DATA XREF: prepareInterruptJump+19o seg000:53DC push hl seg000:53DD push de seg000:53DE push af seg000:53DF ld hl, 6 seg000:53E2 add hl, sp seg000:53E3 ld e, (hl) seg000:53E4 inc (hl) seg000:53E5 inc (hl) seg000:53E6 inc hl seg000:53E7 ld d, (hl) seg000:53E8 ld a, e seg000:53E9 inc a seg000:53EA jr nz, loc_53ED seg000:53EC inc (hl) seg000:53ED seg000:53ED loc_53ED: ; CODE XREF: seg000:53EAj seg000:53ED inc a seg000:53EE jr nz, loc_53F1 seg000:53F0 inc (hl) seg000:53F1 seg000:53F1 loc_53F1: ; CODE XREF: seg000:53EEj seg000:53F1 ex de, hl seg000:53F2 ld (word_FE70), hl seg000:53F5 ld e, (hl) seg000:53F6 inc hl seg000:53F7 ld d, (hl) seg000:53F8 ld a, 27 seg000:53FA ld hl, wordTable2 seg000:53FD seg000:53FD loc_53FD: ; CODE XREF: seg000:540Cj seg000:53FD push hl seg000:53FE push af seg000:53FF call ldhlind seg000:5402 pop af seg000:5403 call cphlde seg000:5406 pop hl seg000:5407 jr z, loc_5411 seg000:5409 inc hl seg000:540A inc hl seg000:540B dec a seg000:540C jr nz, loc_53FD seg000:540E ex de, hl seg000:540F jr loc_542D seg000:5411 ; --------------------------------------------------------------------------- seg000:5411 seg000:5411 loc_5411: ; CODE XREF: seg000:5407j seg000:5411 ld de, 569Eh seg000:5414 or a seg000:5415 sbc hl, de seg000:5417 seg000:5417 loc_5417: seg000:5417 ld de, wordTable1 seg000:541A add hl, de seg000:541B call ldhlind seg000:541E push hl seg000:541F ld (word_FE70), bc seg000:5423 pop bc seg000:5424 pop af seg000:5425 pop de seg000:5426 pop hl seg000:5427 push bc seg000:5428 ld bc, (word_FE70) seg000:542C ret seg000:542D ; --------------------------------------------------------------------------- seg000:542D seg000:542D loc_542D: ; CODE XREF: seg000:540Fj seg000:542D ; seg000:54C5j seg000:542D call sub_55FD seg000:5430 pop de seg000:5431 pop de seg000:5432 push hl seg000:5433 ld hl, 0 seg000:5436 ld (penCol), hl seg000:5439 ld hl, 53C9h seg000:543C call VPutSDE seg000:543F pop hl seg000:5440 rst 28h seg000:5440 ; --------------------------------------------------------------------------- seg000:5441 dw 4792h ; _SetXXXXOP2 seg000:5443 ; --------------------------------------------------------------------------- seg000:5443 rst 28h seg000:5443 ; --------------------------------------------------------------------------- seg000:5444 dw 4156h ; _OP2ToOP1 seg000:5446 ; --------------------------------------------------------------------------- seg000:5446 ld a, 5 seg000:5448 rst 28h seg000:5448 ; --------------------------------------------------------------------------- seg000:5449 dw 4BF7h ; _DispOP1A seg000:544B ; --------------------------------------------------------------------------- seg000:544B ld hl, 700h seg000:544E ld (penCol), hl seg000:5451 ld hl, (word_FE70) seg000:5454 rst 28h seg000:5454 ; --------------------------------------------------------------------------- seg000:5455 dw 4792h ; _SetXXXXOP2 seg000:5457 ; --------------------------------------------------------------------------- seg000:5457 rst 28h seg000:5457 ; --------------------------------------------------------------------------- seg000:5458 dw 4156h ; _OP2ToOP1 seg000:545A ; --------------------------------------------------------------------------- seg000:545A ld a, 5 seg000:545C rst 28h seg000:545C ; --------------------------------------------------------------------------- seg000:545D dw 4BF7h ; _DispOP1A seg000:545F ; --------------------------------------------------------------------------- seg000:545F rst 28h seg000:545F ; --------------------------------------------------------------------------- seg000:5460 dw 4972h ; _getKey seg000:5462 ; --------------------------------------------------------------------------- seg000:5462 ld hl, (word_9684) seg000:5465 dec hl seg000:5466 dec hl seg000:5467 ld sp, hl seg000:5468 push hl seg000:5469 call ldhlind seg000:546C inc hl seg000:546D inc hl seg000:546E inc hl seg000:546F ex de, hl seg000:5470 pop hl seg000:5471 ld (hl), e seg000:5472 inc hl seg000:5473 ld (hl), d seg000:5474 ret seg000:5475 ; --------------------------------------------------------------------------- seg000:5475 ret seg000:5476 ; --------------------------------------------------------------------------- seg000:5476 ld hl, appData+51 seg000:5479 ld de, appData+40 seg000:547C ld b, 0Bh seg000:547E seg000:547E loc_547E: ; CODE XREF: seg000:5485j seg000:547E ld a, (de) seg000:547F ld c, (hl) seg000:5480 ld (hl), a seg000:5481 ld a, c seg000:5482 ld (de), a seg000:5483 inc hl seg000:5484 inc de seg000:5485 djnz loc_547E seg000:5487 ret seg000:5488 ; --------------------------------------------------------------------------- seg000:5488 call sub_55FD seg000:548B rst 28h seg000:548B ; --------------------------------------------------------------------------- seg000:548C dw 4792h ; _SetXXXXOP2 seg000:548E ; --------------------------------------------------------------------------- seg000:548E jp sub_564E seg000:5491 ; --------------------------------------------------------------------------- seg000:5491 ld hl, appData+51 seg000:5494 ld de, appData+40 seg000:5497 ld bc, 11 seg000:549A ldir seg000:549C ret seg000:549D ; --------------------------------------------------------------------------- seg000:549D ld hl, ramCode+296 seg000:54A0 jp fastcopyb seg000:54A3 ; --------------------------------------------------------------------------- seg000:54A3 rst 28h seg000:54A3 ; --------------------------------------------------------------------------- seg000:54A4 dw 40F9h ; _HLTimes9 seg000:54A6 ; --------------------------------------------------------------------------- seg000:54A6 ret seg000:54A7 ; --------------------------------------------------------------------------- seg000:54A7 jp multhl seg000:54AA ; --------------------------------------------------------------------------- seg000:54AA pop ix seg000:54AC push hl seg000:54AD push de seg000:54AE push ix seg000:54B0 pop hl seg000:54B1 call ldhlind seg000:54B4 ld de, 4025h seg000:54B7 call cphlde seg000:54BA jr z, loc_54C8 seg000:54BC ld de, 6CA4h seg000:54BF call cphlde seg000:54C2 jr z, loc_54D3 seg000:54C4 pop hl seg000:54C5 jp loc_542D seg000:54C8 ; --------------------------------------------------------------------------- seg000:54C8 seg000:54C8 loc_54C8: ; CODE XREF: seg000:54BAj seg000:54C8 pop de seg000:54C9 pop hl seg000:54CA call sub_55FD seg000:54CD rst 28h seg000:54CD ; --------------------------------------------------------------------------- seg000:54CE dw 47E0h ; _ILine seg000:54D0 ; --------------------------------------------------------------------------- seg000:54D0 jp sub_564E seg000:54D3 ; --------------------------------------------------------------------------- seg000:54D3 seg000:54D3 loc_54D3: ; CODE XREF: seg000:54C2j seg000:54D3 pop de seg000:54D4 pop hl seg000:54D5 call sub_55FD seg000:54D8 rst 28h seg000:54D8 ; --------------------------------------------------------------------------- seg000:54D9 dw 4BF7h ; _DispOP1A seg000:54DB ; --------------------------------------------------------------------------- seg000:54DB jp sub_564E seg000:54DE ; --------------------------------------------------------------------------- seg000:54DE call sub_55FD seg000:54E1 call 223h seg000:54E4 rst 28h seg000:54E4 ; --------------------------------------------------------------------------- seg000:54E5 dw 4744h ; _EVALF3A seg000:54E7 ; --------------------------------------------------------------------------- seg000:54E7 jp sub_564E seg000:54EA ; --------------------------------------------------------------------------- seg000:54EA call sub_55FD seg000:54ED rst 28h seg000:54ED ; --------------------------------------------------------------------------- seg000:54EE dw 4582h ; _rstrUnderMenu seg000:54F0 ; --------------------------------------------------------------------------- seg000:54F0 jp sub_564E seg000:54F3 ; --------------------------------------------------------------------------- seg000:54F3 call sub_55FD seg000:54F6 rst 28h seg000:54F6 ; --------------------------------------------------------------------------- seg000:54F7 dw 452Eh ; _newline seg000:54F9 ; --------------------------------------------------------------------------- seg000:54F9 jp sub_564E seg000:54FC ; --------------------------------------------------------------------------- seg000:54FC call sub_55FD seg000:54FF rst 28h seg000:54FF ; --------------------------------------------------------------------------- seg000:5500 dw 4534h ; _scrollUp seg000:5502 ; --------------------------------------------------------------------------- seg000:5502 jp sub_564E seg000:5505 ; --------------------------------------------------------------------------- seg000:5505 call loc_553C seg000:5508 ld hl, 808Fh seg000:550B ld bc, 7Fh ; '' seg000:550E ld de, 8090h seg000:5511 ld (hl), 0 seg000:5513 ldir seg000:5515 ei seg000:5516 ret seg000:5517 ; --------------------------------------------------------------------------- seg000:5517 call sub_55FD seg000:551A rst 28h seg000:551A ; --------------------------------------------------------------------------- seg000:551B dw 4972h ; _getKey seg000:551D ; --------------------------------------------------------------------------- seg000:551D jp sub_564E seg000:5520 ; --------------------------------------------------------------------------- seg000:5520 jp myfastcopyOfSomething seg000:5523 ; --------------------------------------------------------------------------- seg000:5523 call sub_55FD seg000:5526 rst 28h seg000:5526 ; --------------------------------------------------------------------------- seg000:5527 dw 4AEFh ; _ConvOP1 seg000:5529 ; --------------------------------------------------------------------------- seg000:5529 jp sub_564E seg000:552C ; --------------------------------------------------------------------------- seg000:552C call sub_55FD seg000:552F rst 28h seg000:552F ; --------------------------------------------------------------------------- seg000:5530 dw 4507h ; _DispHL seg000:5532 ; --------------------------------------------------------------------------- seg000:5532 jp sub_564E seg000:5535 ; --------------------------------------------------------------------------- seg000:5535 push af seg000:5536 call loc_553C seg000:5539 pop af seg000:553A ei seg000:553B ret seg000:553C ; --------------------------------------------------------------------------- seg000:553C seg000:553C loc_553C: ; CODE XREF: seg000:5505p seg000:553C ; seg000:5536p seg000:553C ld a, 80h ; 'Ç' seg000:553E seg000:553E loc_553E: ; CODE XREF: seg000:5548j seg000:553E push af seg000:553F rst 28h seg000:553F ; --------------------------------------------------------------------------- seg000:5540 dw 4CEDh ; _ClearRow seg000:5542 ; --------------------------------------------------------------------------- seg000:5542 pop af seg000:5543 add a, 8 seg000:5545 cp 0C0h ; '+' seg000:5547 ret z seg000:5548 jr loc_553E seg000:554A ; --------------------------------------------------------------------------- seg000:554A push af seg000:554B push de seg000:554C push ix seg000:554E seg000:554E loc_554E: ; CODE XREF: seg000:5553j seg000:554E ld a, (hl) seg000:554F inc hl seg000:5550 call loc_556D seg000:5553 djnz loc_554E seg000:5555 pop ix seg000:5557 pop de seg000:5558 pop af seg000:5559 ret seg000:555A ; --------------------------------------------------------------------------- seg000:555A push af seg000:555B push de seg000:555C push ix seg000:555E seg000:555E loc_555E: ; CODE XREF: seg000:5566j seg000:555E ld a, (hl) seg000:555F inc hl seg000:5560 or a seg000:5561 jr z, loc_5568 seg000:5563 call loc_556D seg000:5566 jr loc_555E seg000:5568 ; --------------------------------------------------------------------------- seg000:5568 seg000:5568 loc_5568: ; CODE XREF: seg000:5561j seg000:5568 pop ix seg000:556A pop de seg000:556B pop af seg000:556C ret seg000:556D ; --------------------------------------------------------------------------- seg000:556D seg000:556D loc_556D: ; CODE XREF: seg000:5550p seg000:556D ; seg000:5563p seg000:556D push bc seg000:556E push hl seg000:556F bit 7, (iy+14h) seg000:5573 jr nz, loc_55C2 seg000:5575 ld de, (penCol) seg000:5579 push de seg000:557A ld de, (word_8215) seg000:557E ld (penCol), de seg000:5582 rst 28h seg000:5582 ; --------------------------------------------------------------------------- seg000:5583 dw 455Eh ; _VPutMap seg000:5585 ; --------------------------------------------------------------------------- seg000:5585 ld de, (penCol) seg000:5589 ld (word_8215), de seg000:558D pop de seg000:558E ld (penCol), de seg000:5592 pop hl seg000:5593 pop bc seg000:5594 ret seg000:5595 seg000:5595 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5595 seg000:5595 seg000:5595 sub_5595: ; CODE XREF: seg000:55DBp seg000:5595 ld c, (ix+0FFh) seg000:5598 ld b, 0 seg000:559A ld hl, 465Bh seg000:559D add hl, bc seg000:559E ld d, (hl) seg000:559F ld hl, 8463h seg000:55A2 ld b, 7 seg000:55A4 seg000:55A4 loc_55A4: ; CODE XREF: sub_5595+13j seg000:55A4 ld a, (hl) seg000:55A5 xor d seg000:55A6 ld (hl), a seg000:55A7 inc hl seg000:55A8 djnz loc_55A4 seg000:55AA ret seg000:55AA ; End of function sub_5595 seg000:55AA seg000:55AB seg000:55AB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:55AB seg000:55AB seg000:55AB sub_55AB: ; CODE XREF: seg000:55D4p seg000:55AB ld hl, 8463h seg000:55AE ld a, 8 seg000:55B0 ld b, (ix+0FFh) seg000:55B3 sub b seg000:55B4 ld b, a seg000:55B5 ld d, b seg000:55B6 ld c, 7 seg000:55B8 seg000:55B8 loc_55B8: ; CODE XREF: sub_55AB+14j seg000:55B8 ld b, d seg000:55B9 seg000:55B9 loc_55B9: ; CODE XREF: sub_55AB+10j seg000:55B9 sla (hl) seg000:55BB djnz loc_55B9 seg000:55BD inc hl seg000:55BE dec c seg000:55BF jr nz, loc_55B8 seg000:55C1 ret seg000:55C1 ; End of function sub_55AB seg000:55C1 seg000:55C2 ; --------------------------------------------------------------------------- seg000:55C2 seg000:55C2 loc_55C2: ; CODE XREF: seg000:5573j seg000:55C2 ld hl, 8462h seg000:55C5 ld de, 0FE70h seg000:55C8 ld bc, 8 seg000:55CB ldir seg000:55CD rst 28h seg000:55CD ; --------------------------------------------------------------------------- seg000:55CE dw 4CB1h ; _LoadPattern seg000:55D0 ; --------------------------------------------------------------------------- seg000:55D0 ld ix, 8463h seg000:55D4 call sub_55AB seg000:55D7 bit 3, (iy+5) seg000:55DB call nz, sub_5595 seg000:55DE ld hl, (word_8215) seg000:55E1 ld a, (byte_8462) seg000:55E4 add a, l seg000:55E5 ld (word_8215), a seg000:55E8 ld a, l seg000:55E9 ld l, h seg000:55EA ld b, 7 seg000:55EC call sub_4609 seg000:55EF ld de, 8462h seg000:55F2 ld hl, 0FE70h seg000:55F5 ld bc, 8 seg000:55F8 ldir seg000:55FA pop hl seg000:55FB pop bc seg000:55FC ret seg000:55FD seg000:55FD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:55FD seg000:55FD seg000:55FD sub_55FD: ; CODE XREF: seg000:loc_53C0p seg000:55FD ; seg000:loc_542Dp ... seg000:55FD push ix seg000:55FF push hl seg000:5600 push de seg000:5601 push bc seg000:5602 push af seg000:5603 ld hl, (word_8D77) seg000:5606 ld (word_FE70), hl seg000:5609 ld de, 8 seg000:560C add hl, de seg000:560D ld de, (word_8D77) seg000:5611 ld (hl), e seg000:5612 inc hl seg000:5613 ld (hl), d seg000:5614 ld ix, someKindaTable seg000:5618 ld b, 7 seg000:561A call sub_5712 seg000:561D pop af seg000:561E pop bc seg000:561F pop de seg000:5620 pop hl seg000:5621 pop ix seg000:5623 ret seg000:5623 ; End of function sub_55FD seg000:5623 seg000:5623 ; --------------------------------------------------------------------------- seg000:5624 someKindaTable: db 0Ch ; DATA XREF: sub_55FD+17o seg000:5624 ; sub_564E+6o seg000:5625 db 0 seg000:5626 db 4Bh ; K seg000:5627 db 4 seg000:5628 db 2 seg000:5629 db 0 seg000:562A db 28h ; ( seg000:562B db 0 seg000:562C db 78h ; x seg000:562D db 4 seg000:562E db 42h ; B seg000:562F db 0 seg000:5630 db 8Fh ; Å seg000:5631 db 0 seg000:5632 db 8 seg000:5633 db 5 seg000:5634 db 80h ; Ç seg000:5635 db 0 seg000:5636 db 15h seg000:5637 db 2 seg000:5638 db 0D7h ; + seg000:5639 db 6 seg000:563A db 2 seg000:563B db 0 seg000:563C db 28h ; ( seg000:563D db 2 seg000:563E db 0ECh ; 8 seg000:563F db 6 seg000:5640 db 0 seg000:5641 db 3 seg000:5642 db 0B8h ; + seg000:5643 db 8 seg000:5644 db 40h ; @ seg000:5645 db 13h seg000:5646 db 0 seg000:5647 db 3 seg000:5648 db 28h ; ( seg000:5649 db 5 seg000:564A db 0F0h ; = seg000:564B db 9 seg000:564C db 30h ; 0 seg000:564D db 0 seg000:564E seg000:564E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:564E seg000:564E seg000:564E sub_564E: ; CODE XREF: seg000:53C6j seg000:564E ; seg000:548Ej ... seg000:564E push ix seg000:5650 push hl seg000:5651 push de seg000:5652 push bc seg000:5653 push af seg000:5654 ld ix, someKindaTable seg000:5658 ld b, 7 seg000:565A call sub_56D4 seg000:565D pop af seg000:565E pop bc seg000:565F pop de seg000:5660 pop hl seg000:5661 pop ix seg000:5663 ld iy, textShadow+32 seg000:5667 ret seg000:5667 ; End of function sub_564E seg000:5667 seg000:5667 ; --------------------------------------------------------------------------- seg000:5668 wordTable1: dw 576Ch ; DATA XREF: seg000:loc_5417o seg000:566A dw 57D2h seg000:566C dw 5535h seg000:566E dw 555Ah seg000:5670 dw 5520h seg000:5672 dw 556Dh seg000:5674 dw 579Fh seg000:5676 dw 5782h seg000:5678 dw 5759h seg000:567A dw 5517h seg000:567C dw 5505h seg000:567E dw 5505h seg000:5680 dw 54FCh seg000:5682 dw 54F3h seg000:5684 dw 54AAh seg000:5686 dw 54A7h seg000:5688 dw 54A3h seg000:568A dw 549Dh seg000:568C dw 554Ah seg000:568E dw 5488h seg000:5690 dw 5491h seg000:5692 dw 5476h seg000:5694 dw 5475h seg000:5696 dw 4253h seg000:5698 dw 54DEh seg000:569A dw 54EAh seg000:569C dw 5523h seg000:569E wordTable2: dw 38FAh ; DATA XREF: seg000:53FAo seg000:56A0 dw 387Ch seg000:56A2 dw 389Ah seg000:56A4 dw 37D4h seg000:56A6 dw 38ACh seg000:56A8 dw 37CEh seg000:56AA dw 39D2h seg000:56AC dw 3738h seg000:56AE dw 373Eh seg000:56B0 dw 3924h seg000:56B2 dw 37A4h seg000:56B4 dw 38CAh seg000:56B6 dw 3786h seg000:56B8 dw 377Ah seg000:56BA dw 2E46h seg000:56BC dw 1EFEh seg000:56BE dw 18E7h seg000:56C0 dw 38DCh seg000:56C2 dw 37DAh seg000:56C4 dw 359Ah seg000:56C6 dw 19F5h seg000:56C8 dw 1D19h seg000:56CA dw 3918h seg000:56CC dw 33h seg000:56CE dw 2F2Eh seg000:56D0 dw 3804h seg000:56D2 dw 35A0h seg000:56D4 seg000:56D4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:56D4 seg000:56D4 seg000:56D4 sub_56D4: ; CODE XREF: sub_564E+Cp seg000:56D4 di seg000:56D5 seg000:56D5 loc_56D5: ; CODE XREF: sub_56D4+2Cj seg000:56D5 push bc seg000:56D6 ld e, (ix+0) seg000:56D9 inc ix seg000:56DB ld d, (ix+0) seg000:56DE inc ix seg000:56E0 ld hl, (word_8007+1) seg000:56E3 add hl, de seg000:56E4 ex de, hl seg000:56E5 ld l, (ix+0) seg000:56E8 inc ix seg000:56EA ld h, (ix+0) seg000:56ED inc ix seg000:56EF ld bc, 8000h seg000:56F2 add hl, bc seg000:56F3 ld c, (ix+0) seg000:56F6 inc ix seg000:56F8 ld b, (ix+0) seg000:56FB inc ix seg000:56FD ldir seg000:56FF pop bc seg000:5700 djnz loc_56D5 seg000:5702 ld hl, (word_8007+1) seg000:5705 ld de, 8000h seg000:5708 ld bc, 1D95h seg000:570B call swapram seg000:570E im 2 seg000:5710 ei seg000:5711 ret seg000:5711 ; End of function sub_56D4 seg000:5711 seg000:5712 seg000:5712 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5712 seg000:5712 seg000:5712 sub_5712: ; CODE XREF: sub_55FD+1Dp seg000:5712 di seg000:5713 seg000:5713 loc_5713: ; CODE XREF: sub_5712+2Fj seg000:5713 push bc seg000:5714 ld e, (ix+0) seg000:5717 inc ix seg000:5719 ld d, (ix+0) seg000:571C inc ix seg000:571E ld hl, appData seg000:5721 add hl, de seg000:5722 push hl seg000:5723 ld l, (ix+0) seg000:5726 inc ix seg000:5728 ld h, (ix+0) seg000:572B inc ix seg000:572D ld bc, (word_FE70) seg000:5731 add hl, bc seg000:5732 ex de, hl seg000:5733 pop hl seg000:5734 ld c, (ix+0) seg000:5737 inc ix seg000:5739 ld b, (ix+0) seg000:573C inc ix seg000:573E ldir seg000:5740 pop bc seg000:5741 djnz loc_5713 seg000:5743 ld iy, 89F0h seg000:5747 ld hl, (word_FE70) seg000:574A ld de, appData seg000:574D ld bc, 1D95h seg000:5750 call swapram seg000:5753 im 1 seg000:5755 ei seg000:5756 rst 38h seg000:5757 halt seg000:5758 ret seg000:5758 ; End of function sub_5712 seg000:5758 seg000:5759 ; --------------------------------------------------------------------------- seg000:5759 ld b, (hl) seg000:575A inc hl seg000:575B ld a, b seg000:575C or a seg000:575D ret z seg000:575E seg000:575E loc_575E: ; CODE XREF: seg000:5769j seg000:575E ld a, (hl) seg000:575F inc hl seg000:5760 call sub_579F seg000:5763 ld a, (word_800C) seg000:5766 cp 8 seg000:5768 ret z seg000:5769 djnz loc_575E seg000:576B ret seg000:576C seg000:576C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:576C seg000:576C seg000:576C sub_576C: ; CODE XREF: seg000:57F5p seg000:576C push bc seg000:576D push af seg000:576E seg000:576E loc_576E: ; CODE XREF: sub_576C+10j seg000:576E ld a, (hl) seg000:576F inc hl seg000:5770 or a seg000:5771 scf seg000:5772 jr z, loc_577E seg000:5774 call sub_579F seg000:5777 ld a, (word_800C) seg000:577A cp 8 seg000:577C jr nz, loc_576E seg000:577E seg000:577E loc_577E: ; CODE XREF: sub_576C+6j seg000:577E pop bc seg000:577F ld a, b seg000:5780 pop bc seg000:5781 ret seg000:5781 ; End of function sub_576C seg000:5781 seg000:5782 ; --------------------------------------------------------------------------- seg000:5782 call sub_579F seg000:5785 ld a, (word_800C+1) seg000:5788 or a seg000:5789 jr z, loc_5790 seg000:578B dec a seg000:578C ld (word_800C+1), a seg000:578F ret seg000:5790 ; --------------------------------------------------------------------------- seg000:5790 seg000:5790 loc_5790: ; CODE XREF: seg000:5789j seg000:5790 ld a, 0Fh seg000:5792 ld (word_800C+1), a seg000:5795 ld a, (word_800C) seg000:5798 or a seg000:5799 ret z seg000:579A dec a seg000:579B ld (word_800C), a seg000:579E ret seg000:579F seg000:579F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:579F seg000:579F seg000:579F sub_579F: ; CODE XREF: seg000:5760p seg000:579F ; sub_576C+8p ... seg000:579F push bc seg000:57A0 push hl seg000:57A1 push iy seg000:57A3 pop hl seg000:57A4 ld bc, 0Dh seg000:57A7 add hl, bc seg000:57A8 ld b, a seg000:57A9 ld a, (hl) seg000:57AA push af seg000:57AB res 1, a seg000:57AD ld (hl), a seg000:57AE ld de, (word_844B) seg000:57B2 push de seg000:57B3 ld de, (word_800C) seg000:57B7 ld (word_844B), de seg000:57BB ld a, b seg000:57BC rst 28h seg000:57BC ; --------------------------------------------------------------------------- seg000:57BD dw 4504h ; _PutC seg000:57BF ; --------------------------------------------------------------------------- seg000:57BF ld de, (word_844B) seg000:57C3 ld (word_800C), de seg000:57C7 pop de seg000:57C8 ld (word_844B), de seg000:57CC pop af seg000:57CD ld (hl), a seg000:57CE pop hl seg000:57CF pop bc seg000:57D0 ei seg000:57D1 ret seg000:57D1 ; End of function sub_579F seg000:57D1 seg000:57D2 ; --------------------------------------------------------------------------- seg000:57D2 push bc seg000:57D3 ld de, 0FE79h seg000:57D6 ld b, 5 seg000:57D8 seg000:57D8 loc_57D8: ; CODE XREF: seg000:57DFj seg000:57D8 rst 28h seg000:57D8 ; --------------------------------------------------------------------------- seg000:57D9 dw 400Fh ; _DivHLBy10 seg000:57DB ; --------------------------------------------------------------------------- seg000:57DB add a, 30h ; '0' seg000:57DD ld (de), a seg000:57DE dec de seg000:57DF djnz loc_57D8 seg000:57E1 xor a seg000:57E2 ld (byte_FE7A), a seg000:57E5 ex de, hl seg000:57E6 ld a, 30h ; '0' seg000:57E8 ld b, 4 seg000:57EA seg000:57EA loc_57EA: ; CODE XREF: seg000:57F0j seg000:57EA inc hl seg000:57EB cp (hl) seg000:57EC jr nz, loc_57F2 seg000:57EE ld (hl), 20h ; ' ' seg000:57F0 djnz loc_57EA seg000:57F2 seg000:57F2 loc_57F2: ; CODE XREF: seg000:57ECj seg000:57F2 ld hl, 0FE75h seg000:57F5 call sub_576C seg000:57F8 pop bc seg000:57F9 ret seg000:57FA seg000:57FA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:57FA seg000:57FA seg000:57FA sendprog: ; CODE XREF: seg000:4176j seg000:57FA ; seg000:62CEp seg000:57FA di seg000:57FB call sendprog_main seg000:57FE ei seg000:57FF ret seg000:57FF ; End of function sendprog seg000:57FF seg000:5800 seg000:5800 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5800 seg000:5800 seg000:5800 sendprog_main: ; CODE XREF: sendprog+1p seg000:5800 seg000:5800 ; FUNCTION CHUNK AT seg000:45F9 SIZE 00000003 BYTES seg000:5800 seg000:5800 ld (unk_995E), hl seg000:5803 ld de, 682h seg000:5806 ld (linkBuffer), de seg000:580A ld de, 0Bh seg000:580D ld (unk_99A0), de seg000:5811 call getSizeOfVATvar seg000:5814 ld (unk_99A2), de seg000:5818 ld (word_9974), de seg000:581C push hl seg000:581D rst 28h seg000:581D ; --------------------------------------------------------------------------- seg000:581E dw 41C5h ; _ZeroOP1 seg000:5820 ; --------------------------------------------------------------------------- seg000:5820 pop hl seg000:5821 call getinfo seg000:5824 ld de, 99A4h seg000:5827 ld hl, OP1 seg000:582A ld bc, 9 seg000:582D ldir seg000:582F ld hl, 99A2h seg000:5832 ld bc, 0Bh seg000:5835 call getchecksum seg000:5838 ld (unk_99AD), hl seg000:583B ld bc, 11h seg000:583E ld hl, linkBuffer seg000:5841 call sendBCbytesFromHL seg000:5844 ret nz seg000:5845 ld hl, linkBuffer seg000:5848 ld bc, 4 seg000:584B call recvBCbytesToHL seg000:584E ret nz seg000:584F ld hl, (linkBuffer) seg000:5852 ld de, 5682h seg000:5855 call cphlde seg000:5858 ret nz seg000:5859 seg000:5859 loc_5859: ; CODE XREF: sendprog_main+63j seg000:5859 in a, (4) seg000:585B bit 3, a seg000:585D jp z, recvLinkHandler seg000:5860 call getbytetios seg000:5863 jr nz, loc_5859 seg000:5865 cp 82h ; 'é' seg000:5867 ret nz seg000:5868 ld bc, 3 seg000:586B ld hl, linkBuffer seg000:586E call recvBCbytesToHL seg000:5871 ret nz seg000:5872 ld a, (linkBuffer) seg000:5875 cp 9 seg000:5877 ret nz seg000:5878 ld hl, linkAck seg000:587B ld bc, 4 seg000:587E call sendBCbytesFromHL seg000:5881 ret nz seg000:5882 ld hl, linkData seg000:5885 ld bc, 2 seg000:5888 call sendBCbytesFromHL seg000:588B ret nz seg000:588C ld hl, (word_9974) seg000:588F push hl seg000:5890 call sendwordtios seg000:5893 pop hl seg000:5894 ret nz seg000:5895 ld hl, (unk_995E) seg000:5898 call dataPtrToDE seg000:589B ex de, hl seg000:589C ld bc, (word_9974) seg000:58A0 call getchecksum seg000:58A3 ld (unk_993C), hl seg000:58A6 ld hl, (unk_995E) seg000:58A9 call dataPtrToDE seg000:58AC ex de, hl seg000:58AD ld bc, (word_9974) seg000:58B1 call sendBCbytesFromHL seg000:58B4 ret nz seg000:58B5 ld hl, (unk_993C) seg000:58B8 call sendwordtios seg000:58BB ret nz seg000:58BC call receiveAcknowledge seg000:58BF ret nz seg000:58C0 ld hl, linkEOT seg000:58C3 ld bc, 4 seg000:58C6 call sendBCbytesFromHL seg000:58C9 ret nz seg000:58CA call receiveAcknowledge seg000:58CD ret seg000:58CD ; End of function sendprog_main seg000:58CD seg000:58CE seg000:58CE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:58CE seg000:58CE seg000:58CE sendwordtios: ; CODE XREF: sendprog_main+90p seg000:58CE ; sendprog_main+B8p seg000:58CE ld a, l seg000:58CF push hl seg000:58D0 call sendbytetios seg000:58D3 pop hl seg000:58D4 ret nz seg000:58D5 ld a, h seg000:58D6 jp sendbytetios seg000:58D6 ; End of function sendwordtios seg000:58D6 seg000:58D9 seg000:58D9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:58D9 seg000:58D9 seg000:58D9 recvBCbytesToHL: ; CODE XREF: sendprog_main+4Bp seg000:58D9 ; sendprog_main+6Ep ... seg000:58D9 push bc seg000:58DA push hl seg000:58DB call getbytetios seg000:58DE pop hl seg000:58DF pop bc seg000:58E0 ret nz seg000:58E1 ld (hl), a seg000:58E2 inc hl seg000:58E3 dec bc seg000:58E4 ld a, b seg000:58E5 or c seg000:58E6 ret z seg000:58E7 jr recvBCbytesToHL seg000:58E7 ; End of function recvBCbytesToHL seg000:58E7 seg000:58E9 seg000:58E9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:58E9 seg000:58E9 seg000:58E9 sendBCbytesFromHL: ; CODE XREF: sendprog_main+41p seg000:58E9 ; sendprog_main+7Ep ... seg000:58E9 push bc seg000:58EA push hl seg000:58EB ld a, (hl) seg000:58EC call sendbytetios seg000:58EF pop hl seg000:58F0 pop bc seg000:58F1 ret nz seg000:58F2 inc hl seg000:58F3 dec bc seg000:58F4 ld a, b seg000:58F5 or c seg000:58F6 ret z seg000:58F7 jr sendBCbytesFromHL seg000:58F7 ; End of function sendBCbytesFromHL seg000:58F7 seg000:58F9 seg000:58F9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:58F9 seg000:58F9 seg000:58F9 getchecksum: ; CODE XREF: seg000:41CAj seg000:58F9 ; sendprog_main+35p ... seg000:58F9 ex de, hl seg000:58FA ld hl, 0 seg000:58FD seg000:58FD freearc_loop: ; CODE XREF: getchecksum+10j seg000:58FD ld a, (de) seg000:58FE push de seg000:58FF ld e, a seg000:5900 ld d, 0 seg000:5902 add hl, de seg000:5903 pop de seg000:5904 inc de seg000:5905 dec bc seg000:5906 ld a, b seg000:5907 or c seg000:5908 ret z seg000:5909 jr freearc_loop seg000:5909 ; End of function getchecksum seg000:5909 seg000:590B seg000:590B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:590B seg000:590B seg000:590B receiveAcknowledge: ; CODE XREF: sendprog_main+BCp seg000:590B ; sendprog_main+CAp seg000:590B ld hl, linkBuffer seg000:590E ld bc, 4 seg000:5911 call recvBCbytesToHL seg000:5914 ret nz seg000:5915 ld hl, (linkBuffer) seg000:5918 ld de, 5682h seg000:591B call cphlde seg000:591E ret seg000:591E ; End of function receiveAcknowledge seg000:591E seg000:591E ; --------------------------------------------------------------------------- seg000:591F linkAck: db 82h ; é ; DATA XREF: sendprog_main+78o seg000:5920 db 56h ; V seg000:5921 db 0 seg000:5922 db 0 seg000:5923 linkContinue: db 82h ; é seg000:5924 db 9 seg000:5925 db 0 seg000:5926 db 0 seg000:5927 linkData: db 82h ; é ; DATA XREF: sendprog_main+82o seg000:5928 db 15h seg000:5929 linkEOT: db 82h ; é ; DATA XREF: sendprog_main+C0o seg000:592A db 92h ; Æ seg000:592B db 0 seg000:592C db 0 seg000:592D ; --------------------------------------------------------------------------- seg000:592D seg000:592D folder_menu_start: ; CODE XREF: seg000:4155j seg000:592D ld a, (curfold) seg000:5930 ld (curfoldbackup), a seg000:5933 ld ix, ixTable1 seg000:5937 ld hl, asm_Flag2 seg000:593A res 1, (hl) seg000:593C set 3, (hl) seg000:593E jr folder_menu_start_continue seg000:5940 seg000:5940 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5940 seg000:5940 seg000:5940 folder_menu_start_alternative: ; CODE XREF: seg000:6497p seg000:5940 ; sub_64DF+4p seg000:5940 ld ix, ixTable2 seg000:5944 ld hl, asm_Flag2 seg000:5947 set 1, (hl) seg000:5949 res 3, (hl) seg000:594B seg000:594B folder_menu_start_continue: ; CODE XREF: seg000:593Ej seg000:594B ld (ixTablePtr), ix seg000:594F set 7, (hl) seg000:5951 res 2, (hl) seg000:5953 ld hl, gui_vars seg000:5956 ld de, gui_varsBackup seg000:5959 ld bc, 9 seg000:595C ldir seg000:595E call resBit4OfAsm_Flag3 seg000:5961 ld a, 1Fh seg000:5963 and (hl) seg000:5964 ld (hl), a seg000:5965 jr defaultAppStart_Beg seg000:5965 ; End of function folder_menu_start_alternative seg000:5965 seg000:5967 seg000:5967 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5967 seg000:5967 seg000:5967 sub_5967: ; CODE XREF: defaultAppStart+1A6p seg000:5967 set 3, (iy+asm_Flag3) seg000:596B ld a, (curfoldbackup) seg000:596E ld b, a seg000:596F or a seg000:5970 jr z, loc_597C seg000:5972 seg000:5972 loc_5972: ; CODE XREF: sub_5967+13j seg000:5972 push bc seg000:5973 call sub_6519 seg000:5976 call mainDownPressed seg000:5979 pop bc seg000:597A djnz loc_5972 seg000:597C seg000:597C loc_597C: ; CODE XREF: sub_5967+9j seg000:597C res 3, (iy+asm_Flag3) seg000:5980 ret seg000:5980 ; End of function sub_5967 seg000:5980 seg000:5981 seg000:5981 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5981 seg000:5981 seg000:5981 setupFlag2AndIXTablePtr: ; CODE XREF: defaultAppStartp seg000:5981 ; sub_64ED+8j seg000:5981 ld hl, asm_Flag2 seg000:5984 ld a, 1110010b seg000:5986 and (hl) seg000:5987 ld (hl), a seg000:5988 ld ix, 4D6Bh seg000:598C ld (ixTablePtr), ix seg000:5990 ret seg000:5990 ; End of function setupFlag2AndIXTablePtr seg000:5990 seg000:5991 seg000:5991 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5991 seg000:5991 seg000:5991 defaultAppStart: ; CODE XREF: options_screen:startshellp seg000:5991 seg000:5991 ; FUNCTION CHUNK AT seg000:5C74 SIZE 00000069 BYTES seg000:5991 ; FUNCTION CHUNK AT seg000:5D1D SIZE 00000006 BYTES seg000:5991 seg000:5991 call setupFlag2AndIXTablePtr seg000:5994 ld hl, asm_Flag3 seg000:5997 ld (hl), 0 seg000:5999 ld a, 4 seg000:599B ld (byte_96A9), a seg000:599E seg000:599E defaultAppStart_Beg: ; CODE XREF: folder_menu_start_alternative+25j seg000:599E ; seg000:63EDj seg000:599E res 0, (iy+asm_Flag1) seg000:59A2 res 7, (iy+asm_Flag1) seg000:59A6 ld hl, FolderBytes seg000:59A9 ld de, FolderBytes+1 seg000:59AC ld (hl), 0 seg000:59AE ld bc, 9 seg000:59B1 ldir seg000:59B3 call sub_6137 seg000:59B6 xor a seg000:59B7 ld (topfoldnum), a seg000:59BA ld (topprognum), a seg000:59BD ld (curfold), a seg000:59C0 ld de, 0C0Bh seg000:59C3 ld (cursorcoords), de seg000:59C7 ld hl, 1 seg000:59CA ld (cur_element), hl seg000:59CD ld a, (numfolds) seg000:59D0 inc a seg000:59D1 ld h, 0 seg000:59D3 ld l, a seg000:59D4 ld (max_elements), hl seg000:59D7 seg000:59D7 defaultAppStart_RetPoint: ; CODE XREF: defaultAppStart:JumpToAppStartRetPointj seg000:59D7 rst 28h seg000:59D7 ; --------------------------------------------------------------------------- seg000:59D8 dw 4BD0h ; _GrBufClr seg000:59DA ; --------------------------------------------------------------------------- seg000:59DA call put_mirageos_header seg000:59DD ld hl, 95D4h seg000:59E0 call invert_1_line seg000:59E3 ld hl, 9634h seg000:59E6 call invert_1_line seg000:59E9 set 3, (iy+5) seg000:59ED ld de, 143h seg000:59F0 ld hl, 4E05h seg000:59F3 ld a, (GUIsOpts) seg000:59F6 bit 6, a seg000:59F8 jr nz, loc_59FD seg000:59FA ld hl, 4E0Dh seg000:59FD seg000:59FD loc_59FD: ; CODE XREF: defaultAppStart+67j seg000:59FD call VPutSDE seg000:5A00 res 3, (iy+5) seg000:5A04 ld hl, 3A0Bh seg000:5A07 ld bc, 405h seg000:5A0A ld ix, 5209h seg000:5A0E call largespritehl seg000:5A11 ld hl, 3910h seg000:5A14 ld d, 5Bh ; '[' seg000:5A16 call sub_450B seg000:5A19 ld hl, 9 seg000:5A1C ld e, 3Eh ; '>' seg000:5A1E call sub_450E seg000:5A21 ld hl, 5F09h seg000:5A24 ld e, 3Eh ; '>' seg000:5A26 call sub_450E seg000:5A29 ld a, 39h ; '9' seg000:5A2B ld l, 2Fh ; '/' seg000:5A2D call put_size_graphic seg000:5A30 ld hl, 2E09h seg000:5A33 ld b, 20h ; ' ' seg000:5A35 call put_scrollbar seg000:5A38 call Initial_Scrollbar seg000:5A3B ld hl, (ixTablePtr) seg000:5A3E call VPutSDE_DEequals3803h seg000:5A41 call Bit7OfAsmFlag2 seg000:5A44 jr nz, loc_5A4F seg000:5A46 bit 7, (iy+23h) seg000:5A4A jr z, loc_5A4F seg000:5A4C call sub_6063 seg000:5A4F seg000:5A4F loc_5A4F: ; CODE XREF: defaultAppStart+B3j seg000:5A4F ; defaultAppStart+B9j ... seg000:5A4F ld hl, 30Bh seg000:5A52 ld de, 2C34h seg000:5A55 xor a seg000:5A56 call filledrectangle seg000:5A59 ld a, (curfold) seg000:5A5C ld (byte_9978), a seg000:5A5F ld a, (topfoldnum) seg000:5A62 ld (curfold), a seg000:5A65 ld a, 6 seg000:5A67 seg000:5A67 loc_5A67: ; CODE XREF: mainUpPressed+233j seg000:5A67 ld d, 0Bh seg000:5A69 seg000:5A69 loc_5A69: ; CODE XREF: mainDownPressed+219j seg000:5A69 ld e, 0Dh seg000:5A6B ld (unk_997A), de seg000:5A6F ld (unk_9979), a seg000:5A72 ld hl, 8A13h seg000:5A75 bit 2, (hl) seg000:5A77 jr nz, loc_5A8B seg000:5A79 bit 5, (hl) seg000:5A7B jr nz, loc_5A81 seg000:5A7D res 6, (hl) seg000:5A7F jr loc_5AA0 seg000:5A81 ; --------------------------------------------------------------------------- seg000:5A81 seg000:5A81 loc_5A81: ; CODE XREF: defaultAppStart+EAj seg000:5A81 set 6, (hl) seg000:5A83 ld hl, (gui_vars) seg000:5A86 ld (unk_9972), hl seg000:5A89 jr loc_5AA0 seg000:5A8B ; --------------------------------------------------------------------------- seg000:5A8B seg000:5A8B loc_5A8B: ; CODE XREF: defaultAppStart+E6j seg000:5A8B res 2, (hl) seg000:5A8D ld a, (curfold) seg000:5A90 ld (byte_9978), a seg000:5A93 call bit4OfAsm_Flag3 seg000:5A96 jr z, loc_5AA6 seg000:5A98 ld hl, (curgoodprog) seg000:5A9B ld (unk_9972), hl seg000:5A9E jr loc_5AF5 seg000:5AA0 ; --------------------------------------------------------------------------- seg000:5AA0 seg000:5AA0 loc_5AA0: ; CODE XREF: defaultAppStart+EEj seg000:5AA0 ; defaultAppStart+F8j ... seg000:5AA0 bit 6, (iy+23h) seg000:5AA4 jr nz, loc_5AF5 seg000:5AA6 seg000:5AA6 loc_5AA6: ; CODE XREF: defaultAppStart+105j seg000:5AA6 ld ix, 51EFh seg000:5AAA call sub_61D5 seg000:5AAD jr z, loc_5AB3 seg000:5AAF ld ix, 51F5h seg000:5AB3 seg000:5AB3 loc_5AB3: ; CODE XREF: defaultAppStart+11Cj seg000:5AB3 ld a, (unk_997B) seg000:5AB6 ld l, a seg000:5AB7 ld a, 3 seg000:5AB9 ld b, 6 seg000:5ABB call isprite seg000:5ABE call curfoldname seg000:5AC1 ld hl, 8478h seg000:5AC4 ld de, (unk_997A) seg000:5AC8 call setvputs seg000:5ACB call sub_61D5 seg000:5ACE jr z, loc_5AE4 seg000:5AD0 call sub_61E3 seg000:5AD3 jr z, loc_5AE4 seg000:5AD5 ld hl, 0 seg000:5AD8 call getnextgoodprog seg000:5ADB ld (unk_9972), hl seg000:5ADE set 6, (iy+23h) seg000:5AE2 jr loc_5B14 seg000:5AE4 ; --------------------------------------------------------------------------- seg000:5AE4 seg000:5AE4 loc_5AE4: ; CODE XREF: defaultAppStart+13Dj seg000:5AE4 ; defaultAppStart+142j ... seg000:5AE4 ld a, (curfold) seg000:5AE7 call nextfolder seg000:5AEA jr z, loc_5B28 seg000:5AEC ld (curfold), a seg000:5AEF res 6, (iy+23h) seg000:5AF3 jr loc_5B14 seg000:5AF5 ; --------------------------------------------------------------------------- seg000:5AF5 seg000:5AF5 loc_5AF5: ; CODE XREF: defaultAppStart+10Dj seg000:5AF5 ; defaultAppStart+113j seg000:5AF5 ld hl, (unk_9972) seg000:5AF8 call getinfo seg000:5AFB ld hl, 8483h seg000:5AFE ld de, (unk_997A) seg000:5B02 call setvputs seg000:5B05 ld hl, (unk_9972) seg000:5B08 call getnextgoodprog seg000:5B0B jr nz, loc_5AE4 seg000:5B0D ld (unk_9972), hl seg000:5B10 set 6, (iy+23h) seg000:5B14 seg000:5B14 loc_5B14: ; CODE XREF: defaultAppStart+151j seg000:5B14 ; defaultAppStart+162j seg000:5B14 ld a, (unk_9979) seg000:5B17 dec a seg000:5B18 jr z, loc_5B28 seg000:5B1A ld (unk_9979), a seg000:5B1D ld a, (unk_997B) seg000:5B20 add a, 7 seg000:5B22 ld (unk_997B), a seg000:5B25 jp loc_5AA0 seg000:5B28 ; --------------------------------------------------------------------------- seg000:5B28 seg000:5B28 loc_5B28: ; CODE XREF: defaultAppStart+159j seg000:5B28 ; defaultAppStart+187j seg000:5B28 ld a, (byte_9978) seg000:5B2B ld (curfold), a seg000:5B2E bit 3, (iy+23h) seg000:5B32 ret nz seg000:5B33 bit 3, (iy+22h) seg000:5B37 call nz, sub_5967 seg000:5B3A res 3, (iy+22h) seg000:5B3E ld hl, (max_elements) seg000:5B41 push hl seg000:5B42 ld de, 7 seg000:5B45 call cphlde seg000:5B48 jr c, loc_5B52 seg000:5B4A or a seg000:5B4B ld de, 5 seg000:5B4E sbc hl, de seg000:5B50 jr loc_5B55 seg000:5B52 ; --------------------------------------------------------------------------- seg000:5B52 seg000:5B52 loc_5B52: ; CODE XREF: defaultAppStart+1B7j seg000:5B52 ld hl, 1 seg000:5B55 seg000:5B55 loc_5B55: ; CODE XREF: defaultAppStart+1BFj seg000:5B55 ld (max_elements), hl seg000:5B58 ld de, (cur_element) seg000:5B5C call cphlde seg000:5B5F jr nc, loc_5B64 seg000:5B61 ld (cur_element), hl seg000:5B64 seg000:5B64 loc_5B64: ; CODE XREF: defaultAppStart+1CEj seg000:5B64 call Update_Scrollbar seg000:5B67 pop hl seg000:5B68 ld (max_elements), hl seg000:5B6B seg000:5B6B loc_5B6B: ; CODE XREF: seg000:5FA2j seg000:5B6B call bit4OfAsm_Flag3 seg000:5B6E jp nz, loc_5BE8 seg000:5B71 call sub_6510 seg000:5B74 call Bit7OfAsmFlag2 seg000:5B77 jr nz, loc_5B8F seg000:5B79 ld a, (byte_96A9) seg000:5B7C or a seg000:5B7D jr nz, loc_5B86 seg000:5B7F ld a, 1 seg000:5B81 call sub_6060 seg000:5B84 jr loc_5B8F seg000:5B86 ; --------------------------------------------------------------------------- seg000:5B86 seg000:5B86 loc_5B86: ; CODE XREF: defaultAppStart+1ECj seg000:5B86 cp 2 seg000:5B88 jr nz, loc_5B8F seg000:5B8A ld a, 3 seg000:5B8C call sub_6060 seg000:5B8F seg000:5B8F loc_5B8F: ; CODE XREF: defaultAppStart+1E6j seg000:5B8F ; defaultAppStart+1F3j ... seg000:5B8F ld hl, 4D23h seg000:5B92 call sub_6251 seg000:5B95 ld a, (curfold) seg000:5B98 call getfoldsort seg000:5B9B rlca seg000:5B9C rlca seg000:5B9D ld d, 0 seg000:5B9F ld e, a seg000:5BA0 ld hl, 4E1Ah seg000:5BA3 add hl, de seg000:5BA4 ld de, 8478h seg000:5BA7 push de seg000:5BA8 ld bc, 4 seg000:5BAB ldir seg000:5BAD xor a seg000:5BAE ld (de), a seg000:5BAF pop hl seg000:5BB0 ld de, 274Ch seg000:5BB3 call VPutSDE seg000:5BB6 call sub_61E3 seg000:5BB9 ld de, 1958h seg000:5BBC ld b, 0 seg000:5BBE ld c, a seg000:5BBF ld a, 3 seg000:5BC1 call right_align_value seg000:5BC4 call sub_61C6 seg000:5BC7 ld de, 2E59h seg000:5BCA ld a, 5 seg000:5BCC call right_align_value seg000:5BCF ld hl, 4D8Fh seg000:5BD2 ld de, ramdesc seg000:5BD5 ld bc, 5 seg000:5BD8 ldir seg000:5BDA push de seg000:5BDB call curfoldname seg000:5BDE pop de seg000:5BDF ld hl, OP1 seg000:5BE2 rst 28h seg000:5BE2 ; --------------------------------------------------------------------------- seg000:5BE3 dw 44E3h ; _strcopy seg000:5BE5 ; --------------------------------------------------------------------------- seg000:5BE5 jp loc_5CC8 seg000:5BE8 ; --------------------------------------------------------------------------- seg000:5BE8 seg000:5BE8 loc_5BE8: ; CODE XREF: defaultAppStart+1DDj seg000:5BE8 ld a, (byte_96A9) seg000:5BEB cp 1 seg000:5BED jr nz, loc_5BF5 seg000:5BEF xor a seg000:5BF0 call sub_6060 seg000:5BF3 jr loc_5BFE seg000:5BF5 ; --------------------------------------------------------------------------- seg000:5BF5 seg000:5BF5 loc_5BF5: ; CODE XREF: defaultAppStart+25Cj seg000:5BF5 cp 3 seg000:5BF7 jr nz, loc_5BFE seg000:5BF9 ld a, 2 seg000:5BFB call sub_6060 seg000:5BFE seg000:5BFE loc_5BFE: ; CODE XREF: defaultAppStart+262j seg000:5BFE ; defaultAppStart+266j seg000:5BFE ld a, (avdata) seg000:5C01 bit 3, a seg000:5C03 jr z, loc_5C74 seg000:5C05 call sub_6510 seg000:5C08 ld hl, 4D31h seg000:5C0B ld de, 1539h seg000:5C0E call VPutSDE seg000:5C11 ld de, 1B39h seg000:5C14 call VPutSDE seg000:5C17 ld de, 2639h seg000:5C1A call VPutSDE seg000:5C1D ld hl, (curgoodprog) seg000:5C20 call getinfo seg000:5C23 ld de, (ramsize) seg000:5C27 push de seg000:5C28 ld de, 263Fh seg000:5C2B ld a, 4Eh ; 'N' seg000:5C2D bit 3, b seg000:5C2F jr z, loc_5C33 seg000:5C31 ld a, 59h ; 'Y' seg000:5C33 seg000:5C33 loc_5C33: ; CODE XREF: defaultAppStart+29Ej seg000:5C33 call VPutMapEPlus13 seg000:5C36 bit 4, b seg000:5C38 jr z, loc_5C3C seg000:5C3A ld a, 59h ; 'Y' seg000:5C3C seg000:5C3C loc_5C3C: ; CODE XREF: defaultAppStart+2A7j seg000:5C3C call VPutMapEPlus13 seg000:5C3F bit 2, b seg000:5C41 jr z, loc_5C45 seg000:5C43 ld a, 59h ; 'Y' seg000:5C45 seg000:5C45 loc_5C45: ; CODE XREF: defaultAppStart+2B0j seg000:5C45 call VPutMapEPlus13 seg000:5C48 ld hl, 4C14h seg000:5C4B ld bc, 0F02h seg000:5C4E ld ix, 9872h seg000:5C52 call largespritehl seg000:5C55 ld hl, 4B13h seg000:5C58 ld de, 5B23h seg000:5C5B ld a, 1 seg000:5C5D call fastrectangle seg000:5C60 jr loc_5CBF seg000:5C60 ; End of function defaultAppStart seg000:5C60 seg000:5C62 seg000:5C62 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5C62 seg000:5C62 seg000:5C62 VPutMapEPlus13: ; CODE XREF: defaultAppStart:loc_5C33p seg000:5C62 ; defaultAppStart:loc_5C3Cp ... seg000:5C62 push bc seg000:5C63 push de seg000:5C64 ld (penCol), de seg000:5C68 rst 28h seg000:5C68 ; --------------------------------------------------------------------------- seg000:5C69 dw 455Eh ; _VPutMap seg000:5C6B ; --------------------------------------------------------------------------- seg000:5C6B pop de seg000:5C6C ld a, 0Dh seg000:5C6E add a, e seg000:5C6F ld e, a seg000:5C70 pop bc seg000:5C71 ld a, 4Eh ; 'N' seg000:5C73 ret seg000:5C73 ; End of function VPutMapEPlus13 seg000:5C73 seg000:5C74 ; --------------------------------------------------------------------------- seg000:5C74 ; START OF FUNCTION CHUNK FOR defaultAppStart seg000:5C74 seg000:5C74 loc_5C74: ; CODE XREF: defaultAppStart+272j seg000:5C74 call sub_6510 seg000:5C77 ld hl, 4D03h seg000:5C7A call sub_6251 seg000:5C7D ld hl, (curgoodprog) seg000:5C80 call getinfo seg000:5C83 ld de, (ramsize) seg000:5C87 push de seg000:5C88 ld de, 1257h seg000:5C8B ld a, 4Eh ; 'N' seg000:5C8D bit 3, b seg000:5C8F jr z, loc_5C93 seg000:5C91 ld a, 59h ; 'Y' seg000:5C93 seg000:5C93 loc_5C93: ; CODE XREF: defaultAppStart+2FEj seg000:5C93 call VPutMapNewLine seg000:5C96 bit 4, b seg000:5C98 jr z, loc_5C9C seg000:5C9A ld a, 59h ; 'Y' seg000:5C9C seg000:5C9C loc_5C9C: ; CODE XREF: defaultAppStart+307j seg000:5C9C call VPutMapNewLine seg000:5C9F bit 2, b seg000:5CA1 jr z, loc_5CA5 seg000:5CA3 ld a, 59h ; 'Y' seg000:5CA5 seg000:5CA5 loc_5CA5: ; CODE XREF: defaultAppStart+310j seg000:5CA5 call VPutMapNewLine seg000:5CA8 ld a, 42h ; 'B' seg000:5CAA bit 0, b seg000:5CAC jr nz, loc_5CBC seg000:5CAE ld a, 49h ; 'I' seg000:5CB0 bit 1, b seg000:5CB2 jr nz, loc_5CBC seg000:5CB4 ld a, 43h ; 'C' seg000:5CB6 bit 5, b seg000:5CB8 jr nz, loc_5CBC seg000:5CBA ld a, 4Dh ; 'M' seg000:5CBC seg000:5CBC loc_5CBC: ; CODE XREF: defaultAppStart+31Bj seg000:5CBC ; defaultAppStart+321j ... seg000:5CBC call VPutMapNewLine seg000:5CBF seg000:5CBF loc_5CBF: ; CODE XREF: defaultAppStart+2CFj seg000:5CBF pop bc seg000:5CC0 ld de, 2E59h seg000:5CC3 ld a, 5 seg000:5CC5 call right_align_value seg000:5CC8 seg000:5CC8 loc_5CC8: ; CODE XREF: defaultAppStart+254j seg000:5CC8 call Bit7OfAsmFlag2 seg000:5CCB jr nz, loc_5CD4 seg000:5CCD bit 7, (iy+23h) seg000:5CD1 call z, sub_620A seg000:5CD4 seg000:5CD4 loc_5CD4: ; CODE XREF: defaultAppStart+33Aj seg000:5CD4 call sub_6519 seg000:5CD7 call ifastcopy seg000:5CDA seg000:5CDA mainKeyLoop: ; CODE XREF: seg000:5D0Cj seg000:5CDA ; seg000:5D18j ... seg000:5CDA rst 28h seg000:5CDA ; --------------------------------------------------------------------------- seg000:5CDB dw 4018h ; _GetCSC seg000:5CDB ; END OF FUNCTION CHUNK FOR defaultAppStart seg000:5CDD ; --------------------------------------------------------------------------- seg000:5CDD cp skUp seg000:5CDF jp z, mainUpPressed seg000:5CE2 cp skDown seg000:5CE4 jp z, mainDownPressed seg000:5CE7 cp skEnter seg000:5CE9 jr z, mainEnterPressed seg000:5CEB cp sk2nd seg000:5CED jr z, mainEnterPressed seg000:5CEF cp skGraphVar seg000:5CF1 jp z, mainGraphPressed seg000:5CF4 cp skAlpha seg000:5CF6 jr z, mainAlphaPressed seg000:5CF8 cp skStat seg000:5CFA jr z, mainStatPressed seg000:5CFC cp skMode seg000:5CFE jr z, quitMirageOS seg000:5D00 ld c, a seg000:5D01 bit 7, (iy+asm_Flag3) seg000:5D05 call nz, jumpToKeyRoutine seg000:5D08 ld a, c seg000:5D09 call general_key_routine seg000:5D0C jr mainKeyLoop seg000:5D0E ; --------------------------------------------------------------------------- seg000:5D0E seg000:5D0E quitMirageOS: ; CODE XREF: seg000:5CFEj seg000:5D0E call loadAVDataRes2OfFlag2 seg000:5D11 jp quittoTIOS seg000:5D14 ; --------------------------------------------------------------------------- seg000:5D14 seg000:5D14 mainAlphaPressed: ; CODE XREF: seg000:5CF6j seg000:5D14 bit 7, (iy+asm_Flag2) seg000:5D18 jr nz, mainKeyLoop seg000:5D1A call loadAVDataRes2OfFlag2 seg000:5D1D ; START OF FUNCTION CHUNK FOR defaultAppStart seg000:5D1D call options_screen seg000:5D20 seg000:5D20 JumpToAppStartRetPoint: ; CODE XREF: seg000:5D2Cj seg000:5D20 ; seg000:5D73j seg000:5D20 jp defaultAppStart_RetPoint seg000:5D20 ; END OF FUNCTION CHUNK FOR defaultAppStart seg000:5D23 ; --------------------------------------------------------------------------- seg000:5D23 seg000:5D23 mainStatPressed: ; CODE XREF: seg000:5CFAj seg000:5D23 bit 7, (iy+asm_Flag2) seg000:5D27 jr nz, mainKeyLoop seg000:5D29 call DispAboutScreen seg000:5D2C jr JumpToAppStartRetPoint seg000:5D2E ; --------------------------------------------------------------------------- seg000:5D2E seg000:5D2E mainEnterPressed: ; CODE XREF: seg000:5CE9j seg000:5D2E ; seg000:5CEDj seg000:5D2E call loadAVDataRes2OfFlag2 seg000:5D31 call Bit7OfAsmFlag2 seg000:5D34 ret nz seg000:5D35 call bit4OfAsm_Flag3 seg000:5D38 jr nz, loc_5D56 seg000:5D3A call sub_61D5 seg000:5D3D ld a, (hl) seg000:5D3E xor 80h ; 'Ç' seg000:5D40 ld (hl), a seg000:5D41 bit 7, a seg000:5D43 jr nz, loc_5D4D seg000:5D45 call sub_61E3 seg000:5D48 call Sub_A_From_Max_Elements seg000:5D4B jr loc_5D53 seg000:5D4D ; --------------------------------------------------------------------------- seg000:5D4D seg000:5D4D loc_5D4D: ; CODE XREF: seg000:5D43j seg000:5D4D call sub_61E3 seg000:5D50 call Add_A_To_Max_Elements seg000:5D53 seg000:5D53 loc_5D53: ; CODE XREF: seg000:5D4Bj seg000:5D53 jp loc_5A4F seg000:5D56 ; --------------------------------------------------------------------------- seg000:5D56 seg000:5D56 loc_5D56: ; CODE XREF: seg000:5D38j seg000:5D56 ld hl, numscrollpixels seg000:5D59 ld de, save_scr_vars seg000:5D5C push hl seg000:5D5D push de seg000:5D5E ld bc, 0Bh seg000:5D61 ldir seg000:5D63 ld hl, (curgoodprog) seg000:5D66 call runprog seg000:5D69 pop hl seg000:5D6A pop de seg000:5D6B ld bc, 0Bh seg000:5D6E ldir seg000:5D70 call sub_4A63 seg000:5D73 jr JumpToAppStartRetPoint seg000:5D75 seg000:5D75 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5D75 seg000:5D75 seg000:5D75 jumpToKeyRoutine: ; CODE XREF: seg000:5D05p seg000:5D75 ld a, c seg000:5D76 ld e, 0 seg000:5D78 cp 35h ; '5' seg000:5D7A jr z, jumpToKeyRoutine_continue seg000:5D7C ld e, 2 seg000:5D7E cp 34h ; '4' seg000:5D80 jr z, jumpToKeyRoutine_continue seg000:5D82 ld e, 4 seg000:5D84 cp 33h ; '3' seg000:5D86 jr z, jumpToKeyRoutine_continue seg000:5D88 ld e, 6 seg000:5D8A cp 32h ; '2' seg000:5D8C jr z, jumpToKeyRoutine_continue seg000:5D8E ld e, 8 seg000:5D90 cp 31h ; '1' seg000:5D92 ret nz seg000:5D93 seg000:5D93 jumpToKeyRoutine_continue: ; CODE XREF: jumpToKeyRoutine+5j seg000:5D93 ; jumpToKeyRoutine+Bj ... seg000:5D93 ld ix, 994Eh seg000:5D97 ld d, 0 seg000:5D99 add ix, de seg000:5D9B ld l, (ix+0) seg000:5D9E ld h, (ix+1) seg000:5DA1 jp (hl) seg000:5DA1 ; End of function jumpToKeyRoutine seg000:5DA1 seg000:5DA2 seg000:5DA2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5DA2 seg000:5DA2 seg000:5DA2 mainUpPressed: ; CODE XREF: seg000:5CDFj seg000:5DA2 ; GetCSCWait+18p ... seg000:5DA2 seg000:5DA2 ; FUNCTION CHUNK AT seg000:5FA5 SIZE 00000033 BYTES seg000:5DA2 seg000:5DA2 ld a, (cursorcoords) seg000:5DA5 cp 0Bh seg000:5DA7 jp z, sub_5E61 seg000:5DAA call bit4OfAsm_Flag3 seg000:5DAD jr z, loc_5DC4 seg000:5DAF call sub_5E4B seg000:5DB2 ld hl, (curgoodprog) seg000:5DB5 call getprevgoodprog seg000:5DB8 jp nz, loc_5F95 seg000:5DBB ld (curgoodprog), hl seg000:5DBE ld hl, curprognum seg000:5DC1 dec (hl) seg000:5DC2 jr loc_5DEF seg000:5DC4 ; --------------------------------------------------------------------------- seg000:5DC4 seg000:5DC4 loc_5DC4: ; CODE XREF: mainUpPressed+Bj seg000:5DC4 ld a, (curfold) seg000:5DC7 call sub_68D2 seg000:5DCA jp z, loc_5DF2 seg000:5DCD ld (curfold), a seg000:5DD0 call sub_5E4B seg000:5DD3 call sub_61D5 seg000:5DD6 jp z, loc_5F95 seg000:5DD9 call sub_61E3 seg000:5DDC ld b, a seg000:5DDD jp z, loc_5F95 seg000:5DE0 push bc seg000:5DE1 ld hl, (pTemp) seg000:5DE4 call getprevgoodprog seg000:5DE7 ld (curgoodprog), hl seg000:5DEA pop bc seg000:5DEB ld hl, curprognum seg000:5DEE ld (hl), b seg000:5DEE ; End of function mainUpPressed seg000:5DEE seg000:5DEF ; START OF FUNCTION CHUNK FOR mainDownPressed seg000:5DEF seg000:5DEF loc_5DEF: ; CODE XREF: mainUpPressed+20j seg000:5DEF ; mainDownPressed+32j ... seg000:5DEF jp loc_5F9A seg000:5DF2 ; --------------------------------------------------------------------------- seg000:5DF2 seg000:5DF2 loc_5DF2: ; CODE XREF: mainUpPressed+28j seg000:5DF2 ; mainDownPressed+46j ... seg000:5DF2 bit 3, (iy+asm_Flag3) seg000:5DF6 ret nz seg000:5DF7 jp mainKeyLoop seg000:5DF7 ; END OF FUNCTION CHUNK FOR mainDownPressed seg000:5DFA seg000:5DFA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5DFA seg000:5DFA seg000:5DFA mainDownPressed: ; CODE XREF: sub_5967+Fp seg000:5DFA ; seg000:5CE4j ... seg000:5DFA seg000:5DFA ; FUNCTION CHUNK AT seg000:5DEF SIZE 0000000B BYTES seg000:5DFA ; FUNCTION CHUNK AT seg000:5FE3 SIZE 00000033 BYTES seg000:5DFA seg000:5DFA ld a, (cursorcoords) seg000:5DFD cp 2Eh ; '.' seg000:5DFF jp z, sub_5EC3 seg000:5E02 seg000:5E02 loc_5E02: ; CODE XREF: sub_5EC3+4j seg000:5E02 call bit4OfAsm_Flag3 seg000:5E05 jr z, loc_5E11 seg000:5E07 ld hl, (curgoodprog) seg000:5E0A call getnextgoodprog seg000:5E0D jr nz, loc_5E3A seg000:5E0F jr loc_5E2E seg000:5E11 ; --------------------------------------------------------------------------- seg000:5E11 seg000:5E11 loc_5E11: ; CODE XREF: mainDownPressed+Bj seg000:5E11 call sub_61D5 seg000:5E14 jr z, loc_5E3A seg000:5E16 call sub_61E3 seg000:5E19 jr z, loc_5E3A seg000:5E1B ld hl, 96A2h seg000:5E1E ld (hl), 1 seg000:5E20 ld hl, 0 seg000:5E23 call getnextgoodprog seg000:5E26 ld (curgoodprog), hl seg000:5E29 call sub_5E55 seg000:5E2C jr loc_5DEF seg000:5E2E ; --------------------------------------------------------------------------- seg000:5E2E seg000:5E2E loc_5E2E: ; CODE XREF: mainDownPressed+15j seg000:5E2E ld (curgoodprog), hl seg000:5E31 call sub_5E55 seg000:5E34 ld hl, 96A2h seg000:5E37 inc (hl) seg000:5E38 jr loc_5DEF seg000:5E3A ; --------------------------------------------------------------------------- seg000:5E3A seg000:5E3A loc_5E3A: ; CODE XREF: mainDownPressed+13j seg000:5E3A ; mainDownPressed+1Aj ... seg000:5E3A ld a, (curfold) seg000:5E3D call nextfolder seg000:5E40 jr z, loc_5DF2 seg000:5E42 ld (curfold), a seg000:5E45 call sub_5E55 seg000:5E48 jp loc_5F95 seg000:5E48 ; End of function mainDownPressed seg000:5E48 seg000:5E4B seg000:5E4B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5E4B seg000:5E4B seg000:5E4B sub_5E4B: ; CODE XREF: mainUpPressed+Dp seg000:5E4B ; mainUpPressed+2Ep seg000:5E4B call sub_6519 seg000:5E4E seg000:5E4E loc_5E4E: ; CODE XREF: seg000:6459p seg000:5E4E ld a, (cursorcoords) seg000:5E51 sub 7 seg000:5E53 jr loc_5E5D seg000:5E53 ; End of function sub_5E4B seg000:5E53 seg000:5E55 seg000:5E55 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5E55 seg000:5E55 seg000:5E55 sub_5E55: ; CODE XREF: mainDownPressed+2Fp seg000:5E55 ; mainDownPressed+37p ... seg000:5E55 call sub_6519 seg000:5E58 ld a, (cursorcoords) seg000:5E5B add a, 7 seg000:5E5D seg000:5E5D loc_5E5D: ; CODE XREF: sub_5E4B+8j seg000:5E5D ld (cursorcoords), a seg000:5E60 ret seg000:5E60 ; End of function sub_5E55 seg000:5E60 seg000:5E61 seg000:5E61 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5E61 seg000:5E61 seg000:5E61 sub_5E61: ; CODE XREF: mainUpPressed+5j seg000:5E61 ; GetCSCWait+20p seg000:5E61 call Decrease_Cur_Element seg000:5E64 call bit4OfAsm_Flag3 seg000:5E67 jr z, loc_5E8A seg000:5E69 ld hl, (curgoodprog) seg000:5E6C call getprevgoodprog seg000:5E6F jr nz, loc_5EBC seg000:5E71 ld (curgoodprog), hl seg000:5E74 ld (gui_vars), hl seg000:5E77 ld hl, 96A2h seg000:5E7A dec (hl) seg000:5E7B ld a, (hl) seg000:5E7C ld (topprognum), a seg000:5E7F seg000:5E7F loc_5E7F: ; CODE XREF: sub_5E61+59j seg000:5E7F call set4OfAsm_Flag3 seg000:5E82 set 5, (hl) seg000:5E84 seg000:5E84 loc_5E84: ; CODE XREF: sub_5E61+60j seg000:5E84 bit 3, (hl) seg000:5E86 ret nz seg000:5E87 jp loc_5FA5 seg000:5E8A ; --------------------------------------------------------------------------- seg000:5E8A seg000:5E8A loc_5E8A: ; CODE XREF: sub_5E61+6j seg000:5E8A ld a, 1 seg000:5E8C ld (topprognum), a seg000:5E8F ld a, (curfold) seg000:5E92 call sub_68D2 seg000:5E95 jp z, loc_5DF2 seg000:5E98 ld (curfold), a seg000:5E9B ld (topfoldnum), a seg000:5E9E call sub_61D8 seg000:5EA1 jr z, loc_5EBC seg000:5EA3 call sub_61E3 seg000:5EA6 jr z, loc_5EBC seg000:5EA8 ld (curprognum), a seg000:5EAB ld (topprognum), a seg000:5EAE ld hl, (pTemp) seg000:5EB1 call getprevgoodprog seg000:5EB4 ld (curgoodprog), hl seg000:5EB7 ld (gui_vars), hl seg000:5EBA jr loc_5E7F seg000:5EBC ; --------------------------------------------------------------------------- seg000:5EBC seg000:5EBC loc_5EBC: ; CODE XREF: sub_5E61+Ej seg000:5EBC ; sub_5E61+40j ... seg000:5EBC call resBit4OfAsm_Flag3 seg000:5EBF res 5, (hl) seg000:5EC1 jr loc_5E84 seg000:5EC1 ; End of function sub_5E61 seg000:5EC1 seg000:5EC3 seg000:5EC3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5EC3 seg000:5EC3 seg000:5EC3 sub_5EC3: ; CODE XREF: mainDownPressed+5j seg000:5EC3 ; GetCSCWait+48p seg000:5EC3 bit 1, (iy+asm_Flag3) seg000:5EC7 jp nz, loc_5E02 seg000:5ECA call bit4OfAsm_Flag3 seg000:5ECD jr z, loc_5ED9 seg000:5ECF ld hl, (curgoodprog) seg000:5ED2 call getnextgoodprog seg000:5ED5 jr nz, loc_5F02 seg000:5ED7 jr loc_5EF6 seg000:5ED9 ; --------------------------------------------------------------------------- seg000:5ED9 seg000:5ED9 loc_5ED9: ; CODE XREF: sub_5EC3+Aj seg000:5ED9 call sub_61D5 seg000:5EDC jr z, loc_5F02 seg000:5EDE call sub_61E3 seg000:5EE1 jr z, loc_5F02 seg000:5EE3 ld hl, curprognum seg000:5EE6 ld (hl), 1 seg000:5EE8 ld hl, 0 seg000:5EEB call getnextgoodprog seg000:5EEE ld (curgoodprog), hl seg000:5EF1 call set4OfAsm_Flag3 seg000:5EF4 jr loc_5F11 seg000:5EF6 ; --------------------------------------------------------------------------- seg000:5EF6 seg000:5EF6 loc_5EF6: ; CODE XREF: sub_5EC3+14j seg000:5EF6 ld (curgoodprog), hl seg000:5EF9 call set4OfAsm_Flag3 seg000:5EFC ld hl, curprognum seg000:5EFF inc (hl) seg000:5F00 jr loc_5F11 seg000:5F02 ; --------------------------------------------------------------------------- seg000:5F02 seg000:5F02 loc_5F02: ; CODE XREF: sub_5EC3+12j seg000:5F02 ; sub_5EC3+19j ... seg000:5F02 ld a, (curfold) seg000:5F05 call nextfolder seg000:5F08 jp z, loc_5DF2 seg000:5F0B ld (curfold), a seg000:5F0E call resBit4OfAsm_Flag3 seg000:5F11 seg000:5F11 loc_5F11: ; CODE XREF: sub_5EC3+31j seg000:5F11 ; sub_5EC3+3Dj seg000:5F11 call Increase_Cur_Element seg000:5F14 bit 5, (iy+asm_Flag3) seg000:5F18 jr z, loc_5F45 seg000:5F1A ld a, (curfold) seg000:5F1D ld (byte_9978), a seg000:5F20 ld a, (topfoldnum) seg000:5F23 ld (curfold), a seg000:5F26 ld hl, (gui_vars) seg000:5F29 call getnextgoodprog seg000:5F2C ld a, (byte_9978) seg000:5F2F ld (curfold), a seg000:5F32 jr nz, loc_5F80 seg000:5F34 ld a, (topprognum) seg000:5F37 inc a seg000:5F38 ld (topprognum), a seg000:5F3B seg000:5F3B loc_5F3B: ; CODE XREF: sub_5EC3+A9j seg000:5F3B ld (gui_vars), hl seg000:5F3E ld hl, asm_Flag3 seg000:5F41 set 5, (hl) seg000:5F43 jr loc_5F93 seg000:5F45 ; --------------------------------------------------------------------------- seg000:5F45 seg000:5F45 loc_5F45: ; CODE XREF: sub_5EC3+55j seg000:5F45 ld a, (topfoldnum) seg000:5F48 ld b, a seg000:5F49 ld a, (curfold) seg000:5F4C cp b seg000:5F4D jr nz, loc_5F6E seg000:5F4F seg000:5F4F loc_5F4F: ; CODE XREF: sub_5EC3+BBj seg000:5F4F ld a, (curfold) seg000:5F52 ld (byte_9978), a seg000:5F55 ld a, (topfoldnum) seg000:5F58 ld (curfold), a seg000:5F5B ld a, 1 seg000:5F5D ld (topprognum), a seg000:5F60 ld hl, 0 seg000:5F63 call getnextgoodprog seg000:5F66 ld a, (byte_9978) seg000:5F69 ld (curfold), a seg000:5F6C jr loc_5F3B seg000:5F6E ; --------------------------------------------------------------------------- seg000:5F6E seg000:5F6E loc_5F6E: ; CODE XREF: sub_5EC3+8Aj seg000:5F6E ld a, (topfoldnum) seg000:5F71 call sub_61D8 seg000:5F74 jr z, loc_5F80 seg000:5F76 ld a, (topfoldnum) seg000:5F79 call sub_61E6 seg000:5F7C jr z, loc_5F80 seg000:5F7E jr loc_5F4F seg000:5F80 ; --------------------------------------------------------------------------- seg000:5F80 seg000:5F80 loc_5F80: ; CODE XREF: sub_5EC3+6Fj seg000:5F80 ; sub_5EC3+B1j ... seg000:5F80 ld a, (topfoldnum) seg000:5F83 call nextfolder seg000:5F86 ld (topfoldnum), a seg000:5F89 ld a, 1 seg000:5F8B ld (topprognum), a seg000:5F8E ld hl, asm_Flag3 seg000:5F91 res 5, (hl) seg000:5F93 seg000:5F93 loc_5F93: ; CODE XREF: sub_5EC3+80j seg000:5F93 jr loc_5FE3 seg000:5F93 ; End of function sub_5EC3 seg000:5F93 seg000:5F95 ; --------------------------------------------------------------------------- seg000:5F95 seg000:5F95 loc_5F95: ; CODE XREF: mainUpPressed+16j seg000:5F95 ; mainUpPressed+34j ... seg000:5F95 call resBit4OfAsm_Flag3 seg000:5F98 jr loc_5F9D seg000:5F9A ; --------------------------------------------------------------------------- seg000:5F9A seg000:5F9A loc_5F9A: ; CODE XREF: mainDownPressed:loc_5DEFj seg000:5F9A call set4OfAsm_Flag3 seg000:5F9D seg000:5F9D loc_5F9D: ; CODE XREF: seg000:5F98j seg000:5F9D bit 3, (iy+asm_Flag3) seg000:5FA1 ret nz seg000:5FA2 jp loc_5B6B seg000:5FA5 ; --------------------------------------------------------------------------- seg000:5FA5 ; START OF FUNCTION CHUNK FOR mainUpPressed seg000:5FA5 seg000:5FA5 loc_5FA5: ; CODE XREF: sub_5E61+26j seg000:5FA5 call sub_6519 seg000:5FA8 ld hl, 9555h seg000:5FAB ld de, 95A9h seg000:5FAE ld b, 22h ; '"' seg000:5FB0 seg000:5FB0 loc_5FB0: ; CODE XREF: mainUpPressed+226j seg000:5FB0 ld c, 6 seg000:5FB2 seg000:5FB2 loc_5FB2: ; CODE XREF: mainUpPressed+215j seg000:5FB2 ld a, (hl) seg000:5FB3 ld (de), a seg000:5FB4 dec hl seg000:5FB5 dec de seg000:5FB6 dec c seg000:5FB7 jr nz, loc_5FB2 seg000:5FB9 push de seg000:5FBA ld de, 0FFFAh seg000:5FBD add hl, de seg000:5FBE pop de seg000:5FBF ld ix, 0FFFAh seg000:5FC3 add ix, de seg000:5FC5 push ix seg000:5FC7 pop de seg000:5FC8 djnz loc_5FB0 seg000:5FCA ld hl, 30Bh seg000:5FCD ld de, 2C11h seg000:5FD0 call sub_5FD8 seg000:5FD3 ld d, 0Bh seg000:5FD5 jp loc_5A67 seg000:5FD5 ; END OF FUNCTION CHUNK FOR mainUpPressed seg000:5FD8 seg000:5FD8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:5FD8 seg000:5FD8 seg000:5FD8 sub_5FD8: ; CODE XREF: mainUpPressed+22Ep seg000:5FD8 ; mainDownPressed+214p seg000:5FD8 xor a seg000:5FD9 call filledrectangle seg000:5FDC ld a, 1 seg000:5FDE set 2, (iy+asm_Flag3) seg000:5FE2 ret seg000:5FE2 ; End of function sub_5FD8 seg000:5FE2 seg000:5FE3 ; --------------------------------------------------------------------------- seg000:5FE3 ; START OF FUNCTION CHUNK FOR mainDownPressed seg000:5FE3 seg000:5FE3 loc_5FE3: ; CODE XREF: sub_5EC3:loc_5F93j seg000:5FE3 call sub_6519 seg000:5FE6 ld hl, 9418h seg000:5FE9 ld de, 93C4h seg000:5FEC ld b, 22h ; '"' seg000:5FEE seg000:5FEE loc_5FEE: ; CODE XREF: mainDownPressed+20Cj seg000:5FEE ld c, 6 seg000:5FF0 seg000:5FF0 loc_5FF0: ; CODE XREF: mainDownPressed+1FBj seg000:5FF0 ld a, (hl) seg000:5FF1 ld (de), a seg000:5FF2 inc hl seg000:5FF3 inc de seg000:5FF4 dec c seg000:5FF5 jr nz, loc_5FF0 seg000:5FF7 push de seg000:5FF8 ld de, 6 seg000:5FFB add hl, de seg000:5FFC pop de seg000:5FFD ld ix, 6 seg000:6001 add ix, de seg000:6003 push ix seg000:6005 pop de seg000:6006 djnz loc_5FEE seg000:6008 ld hl, 32Eh seg000:600B ld de, 2C34h seg000:600E call sub_5FD8 seg000:6011 ld d, 2Eh ; '.' seg000:6013 jp loc_5A69 seg000:6013 ; END OF FUNCTION CHUNK FOR mainDownPressed seg000:6016 ; --------------------------------------------------------------------------- seg000:6016 seg000:6016 restoreGui_varsCurfoldBackup: ; CODE XREF: seg000:6031j seg000:6016 bit 1, (iy+asm_Flag2) seg000:601A jr nz, jumpToMainKeyLoop seg000:601C ld a, (curfoldbackup) seg000:601F ld (curfold), a seg000:6022 ld de, gui_vars seg000:6025 ld hl, gui_varsBackup seg000:6028 ld bc, 9 seg000:602B ldir seg000:602D ret seg000:602E ; --------------------------------------------------------------------------- seg000:602E seg000:602E mainGraphPressed: ; CODE XREF: seg000:5CF1j seg000:602E call Bit7OfAsmFlag2 seg000:6031 jr nz, restoreGui_varsCurfoldBackup seg000:6033 ld a, (asm_Flag3) seg000:6036 xor 80h ; 'Ç' seg000:6038 ld (asm_Flag3), a seg000:603B bit 7, a seg000:603D jr nz, loc_6050 seg000:603F call sub_60B6 seg000:6042 ld b, 0Ah seg000:6044 call delayb seg000:6047 call sub_620A seg000:604A call ifastcopy seg000:604D seg000:604D jumpToMainKeyLoop: ; CODE XREF: seg000:601Aj seg000:604D ; seg000:605Ej seg000:604D jp mainKeyLoop seg000:6050 ; --------------------------------------------------------------------------- seg000:6050 seg000:6050 loc_6050: ; CODE XREF: seg000:603Dj seg000:6050 call drawspecialrectangle seg000:6053 call ifastcopy seg000:6056 ld b, 0Ah seg000:6058 call delayb seg000:605B call sub_6248 seg000:605E jr jumpToMainKeyLoop seg000:6060 seg000:6060 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6060 seg000:6060 seg000:6060 sub_6060: ; CODE XREF: defaultAppStart+1F0p seg000:6060 ; defaultAppStart+1FBp ... seg000:6060 ld (byte_96A9), a seg000:6060 ; End of function sub_6060 seg000:6060 seg000:6063 seg000:6063 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6063 seg000:6063 seg000:6063 sub_6063: ; CODE XREF: defaultAppStart+BBp seg000:6063 ; GetCSCWait:loc_6309p seg000:6063 call drawspecialrectangle seg000:6066 call sub_6223 seg000:6069 seg000:6069 loc_6069: ; CODE XREF: sub_6063+1Bj seg000:6069 ; sub_6248+3p seg000:6069 ld a, (hl) seg000:606A or a seg000:606B jr z, loc_6080 seg000:606D ld e, a seg000:606E inc hl seg000:606F call sub_609C seg000:6072 ld a, (hl) seg000:6073 push hl seg000:6074 ld h, a seg000:6075 ld l, 38h ; '8' seg000:6077 ld e, 3Eh ; '>' seg000:6079 call sub_450E seg000:607C pop hl seg000:607D inc hl seg000:607E jr loc_6069 seg000:6080 ; --------------------------------------------------------------------------- seg000:6080 seg000:6080 loc_6080: ; CODE XREF: sub_6063+8j seg000:6080 ld a, (byte_96A9) seg000:6083 or a seg000:6084 call z, sub_60A1 seg000:6087 dec a seg000:6088 call z, sub_60A1 seg000:608B dec a seg000:608C dec a seg000:608D call z, sub_60A6 seg000:6090 inc hl seg000:6091 ld a, (hl) seg000:6092 dec a seg000:6093 ret z seg000:6094 ld e, 4Eh ; 'N' seg000:6096 ld hl, 4E15h seg000:6099 jp VPutSDE_Dequals38h seg000:6099 ; End of function sub_6063 seg000:6099 seg000:609C seg000:609C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:609C seg000:609C seg000:609C sub_609C: ; CODE XREF: sub_6063+Cp seg000:609C ld d, 38h ; '8' seg000:609E jp VPutSDE seg000:609E ; End of function sub_609C seg000:609E seg000:60A1 seg000:60A1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:60A1 seg000:60A1 seg000:60A1 sub_60A1: ; CODE XREF: sub_6063+21p seg000:60A1 ; sub_6063+25p seg000:60A1 ld de, 95F2h seg000:60A4 ld (de), a seg000:60A5 ret seg000:60A5 ; End of function sub_60A1 seg000:60A5 seg000:60A6 seg000:60A6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:60A6 seg000:60A6 seg000:60A6 sub_60A6: ; CODE XREF: sub_6063+2Ap seg000:60A6 push hl seg000:60A7 ld hl, 95F1h seg000:60AA ld (hl), 68h ; 'h' seg000:60AC inc hl seg000:60AD ld (hl), 1 seg000:60AF ld hl, 95FDh seg000:60B2 ld (hl), 83h ; 'â' seg000:60B4 pop hl seg000:60B5 ret seg000:60B5 ; End of function sub_60A6 seg000:60B5 seg000:60B6 seg000:60B6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:60B6 seg000:60B6 seg000:60B6 sub_60B6: ; CODE XREF: seg000:603Fp seg000:60B6 ; sub_6260-1Bp seg000:60B6 ld b, 7 seg000:60B8 call sub_60F4 seg000:60BB ld b, 6 seg000:60BD set 0, (iy+23h) seg000:60C1 call sub_60F4 seg000:60C4 res 0, (iy+23h) seg000:60C8 ld bc, 606h seg000:60CB seg000:60CB loc_60CB: ; CODE XREF: sub_60B6+1Bj seg000:60CB push bc seg000:60CC call sub_60F4 seg000:60CF pop bc seg000:60D0 dec c seg000:60D1 jr nz, loc_60CB seg000:60D3 ret seg000:60D3 ; End of function sub_60B6 seg000:60D3 seg000:60D4 ; --------------------------------------------------------------------------- seg000:60D4 ; START OF FUNCTION CHUNK FOR sub_6248 seg000:60D4 seg000:60D4 loc_60D4: ; CODE XREF: sub_6248+6j seg000:60D4 ld hl, 95D4h seg000:60D7 ld de, tempSwapArea seg000:60DA ld bc, 60h ; '`' seg000:60DD ldir seg000:60DF call drawspecialrectangle seg000:60E2 call sub_6114 seg000:60E5 ld bc, 108h seg000:60E8 seg000:60E8 loc_60E8: ; CODE XREF: sub_6248-159j seg000:60E8 push bc seg000:60E9 call sub_611C seg000:60EC pop bc seg000:60ED inc b seg000:60EE dec c seg000:60EF jr nz, loc_60E8 seg000:60F1 jp mainKeyLoop seg000:60F1 ; END OF FUNCTION CHUNK FOR sub_6248 seg000:60F4 seg000:60F4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:60F4 seg000:60F4 seg000:60F4 sub_60F4: ; CODE XREF: sub_60B6+2p seg000:60F4 ; sub_60B6+Bp ... seg000:60F4 ld hl, 9627h seg000:60F7 ld de, 9633h seg000:60FA seg000:60FA loc_60FA: ; CODE XREF: sub_60F4+Fj seg000:60FA ld c, 0Ch seg000:60FC seg000:60FC loc_60FC: ; CODE XREF: sub_60F4+Dj seg000:60FC ld a, (hl) seg000:60FD ld (de), a seg000:60FE dec hl seg000:60FF dec de seg000:6100 dec c seg000:6101 jr nz, loc_60FC seg000:6103 djnz loc_60FA seg000:6105 bit 0, (iy+asm_Flag3) seg000:6109 jr z, sub_6114 seg000:610B ld hl, 138h seg000:610E ld de, 5E38h seg000:6111 call fastlinew seg000:6111 ; End of function sub_60F4 seg000:6111 seg000:6114 seg000:6114 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6114 seg000:6114 seg000:6114 sub_6114: ; CODE XREF: sub_6248-166p seg000:6114 ; sub_60F4+15j ... seg000:6114 call ifastcopy seg000:6117 ld b, 5 seg000:6119 jp delayb seg000:6119 ; End of function sub_6114 seg000:6119 seg000:611C seg000:611C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:611C seg000:611C seg000:611C sub_611C: ; CODE XREF: sub_6248-15Fp seg000:611C push bc seg000:611D ld hl, 9634h seg000:6120 ld de, 0FFF4h seg000:6123 seg000:6123 loc_6123: ; CODE XREF: sub_611C+8j seg000:6123 add hl, de seg000:6124 djnz loc_6123 seg000:6126 pop bc seg000:6127 ld de, tempSwapArea seg000:612A seg000:612A loc_612A: ; CODE XREF: sub_611C+17j seg000:612A ld c, 0Ch seg000:612C seg000:612C loc_612C: ; CODE XREF: sub_611C+15j seg000:612C ld a, (de) seg000:612D ld (hl), a seg000:612E inc hl seg000:612F inc de seg000:6130 dec c seg000:6131 jr nz, loc_612C seg000:6133 djnz loc_612A seg000:6135 jr sub_6114 seg000:6135 ; End of function sub_611C seg000:6135 seg000:6137 seg000:6137 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6137 seg000:6137 seg000:6137 sub_6137: ; CODE XREF: defaultAppStart+22p seg000:6137 ; seg000:6388p ... seg000:6137 ld a, (curfold) seg000:613A ld (unk_9976), a seg000:613D ld hl, FolderBytes seg000:6140 xor a seg000:6141 ld b, 0Ah seg000:6143 seg000:6143 loc_6143: ; CODE XREF: sub_6137+20j seg000:6143 ld (curfold), a seg000:6146 push bc seg000:6147 push hl seg000:6148 call find_num_good_progs seg000:614B pop hl seg000:614C pop bc seg000:614D rla seg000:614E rlc (hl) seg000:6150 rra seg000:6151 ld (hl), a seg000:6152 inc hl seg000:6153 ld a, (curfold) seg000:6156 inc a seg000:6157 djnz loc_6143 seg000:6159 res 0, (iy+asm_Flag1) seg000:615D ld hl, FolderSizes seg000:6160 push hl seg000:6161 ld de, 96ABh seg000:6164 ld (hl), 0 seg000:6166 ld bc, 13h seg000:6169 ldir seg000:616B pop hl seg000:616C xor a seg000:616D seg000:616D loc_616D: ; CODE XREF: sub_6137+70j seg000:616D ld (unk_995A), hl seg000:6170 ld (curfold), a seg000:6173 ld hl, 0 seg000:6176 push hl seg000:6177 pop ix seg000:6179 seg000:6179 loc_6179: ; CODE XREF: sub_6137+5Aj seg000:6179 push ix seg000:617B call getnextgoodprog seg000:617E pop ix seg000:6180 jr nz, loc_6197 seg000:6182 push ix seg000:6184 call getinfo seg000:6187 ld de, (ramsize) seg000:618B pop ix seg000:618D add ix, de seg000:618F jr c, loc_6193 seg000:6191 jr loc_6179 seg000:6193 ; --------------------------------------------------------------------------- seg000:6193 seg000:6193 loc_6193: ; CODE XREF: sub_6137+58j seg000:6193 ld ix, 0FFFFh seg000:6197 seg000:6197 loc_6197: ; CODE XREF: sub_6137+49j seg000:6197 ld hl, (unk_995A) seg000:619A push ix seg000:619C pop de seg000:619D ld (hl), e seg000:619E inc hl seg000:619F ld (hl), d seg000:61A0 inc hl seg000:61A1 ld a, (curfold) seg000:61A4 call nextfolder seg000:61A7 jr nz, loc_616D seg000:61A9 ld a, (unk_9976) seg000:61AC seg000:61AC loc_61AC: ; CODE XREF: seg000:61B8j seg000:61AC ld (curfold), a seg000:61AF ret seg000:61AF ; End of function sub_6137 seg000:61AF seg000:61B0 ; --------------------------------------------------------------------------- seg000:61B0 seg000:61B0 move_gui_prog: ; CODE XREF: seg000:4194j seg000:61B0 ld a, (curfold) seg000:61B3 push af seg000:61B4 call sub_64DF seg000:61B7 pop af seg000:61B8 jr loc_61AC seg000:61BA ; --------------------------------------------------------------------------- seg000:61BA ld a, (curfold) seg000:61BD push bc seg000:61BE call loc_61C9 seg000:61C1 pop bc seg000:61C2 ld (hl), b seg000:61C3 dec hl seg000:61C4 ld (hl), c seg000:61C5 ret seg000:61C6 seg000:61C6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:61C6 seg000:61C6 seg000:61C6 sub_61C6: ; CODE XREF: defaultAppStart+233p seg000:61C6 ld a, (curfold) seg000:61C9 seg000:61C9 loc_61C9: ; CODE XREF: seg000:61BEp seg000:61C9 rlca seg000:61CA ld d, 0 seg000:61CC ld e, a seg000:61CD ld hl, FolderSizes seg000:61D0 add hl, de seg000:61D1 ld c, (hl) seg000:61D2 inc hl seg000:61D3 ld b, (hl) seg000:61D4 ret seg000:61D4 ; End of function sub_61C6 seg000:61D4 seg000:61D5 seg000:61D5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:61D5 seg000:61D5 seg000:61D5 sub_61D5: ; CODE XREF: defaultAppStart+119p seg000:61D5 ; defaultAppStart+13Ap ... seg000:61D5 ld a, (curfold) seg000:61D5 ; End of function sub_61D5 seg000:61D5 seg000:61D8 seg000:61D8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:61D8 seg000:61D8 seg000:61D8 sub_61D8: ; CODE XREF: sub_5E61+3Dp seg000:61D8 ; sub_5EC3+AEp ... seg000:61D8 ld hl, FolderBytes seg000:61DB ld d, 0 seg000:61DD ld e, a seg000:61DE add hl, de seg000:61DF ld a, (hl) seg000:61E0 bit 7, (hl) seg000:61E2 ret seg000:61E2 ; End of function sub_61D8 seg000:61E2 seg000:61E3 seg000:61E3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:61E3 seg000:61E3 seg000:61E3 sub_61E3: ; CODE XREF: defaultAppStart+13Fp seg000:61E3 ; defaultAppStart+225p ... seg000:61E3 ld a, (curfold) seg000:61E3 ; End of function sub_61E3 seg000:61E3 seg000:61E6 seg000:61E6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:61E6 seg000:61E6 seg000:61E6 sub_61E6: ; CODE XREF: sub_5EC3+B6p seg000:61E6 call sub_61D8 seg000:61E9 ld a, (hl) seg000:61EA res 7, a seg000:61EC or a seg000:61ED ret seg000:61ED ; End of function sub_61E6 seg000:61ED seg000:61EE ; --------------------------------------------------------------------------- seg000:61EE ld a, (curfold) seg000:61F1 push bc seg000:61F2 call sub_61D8 seg000:61F5 pop bc seg000:61F6 ld (hl), b seg000:61F7 ret seg000:61F8 seg000:61F8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:61F8 seg000:61F8 seg000:61F8 VPutMapNewLine: ; CODE XREF: defaultAppStart:loc_5C93p seg000:61F8 ; defaultAppStart:loc_5C9Cp ... seg000:61F8 push bc seg000:61F9 push de seg000:61FA ld (penCol), de seg000:61FE rst 28h seg000:61FE ; --------------------------------------------------------------------------- seg000:61FF dw 455Eh ; _VPutMap seg000:6201 ; --------------------------------------------------------------------------- seg000:6201 pop de seg000:6202 ld a, 7 seg000:6204 add a, d seg000:6205 ld d, a seg000:6206 pop bc seg000:6207 ld a, 4Eh ; 'N' seg000:6209 ret seg000:6209 ; End of function VPutMapNewLine seg000:6209 seg000:620A seg000:620A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:620A seg000:620A seg000:620A sub_620A: ; CODE XREF: defaultAppStart+340p seg000:620A ; seg000:6047p seg000:620A call drawspecialrectangle seg000:620D ld hl, 9890h seg000:6210 jp VPutSDE_DEequals3803h seg000:6210 ; End of function sub_620A seg000:6210 seg000:6213 seg000:6213 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6213 seg000:6213 seg000:6213 sub_6213: ; CODE XREF: sub_6223p seg000:6213 ld hl, 4EADh seg000:6216 ld a, (byte_96A9) seg000:6219 or a seg000:621A ret z seg000:621B ld b, a seg000:621C ld de, 0Ah seg000:621F seg000:621F loc_621F: ; CODE XREF: sub_6213+Dj seg000:621F add hl, de seg000:6220 djnz loc_621F seg000:6222 ret seg000:6222 ; End of function sub_6213 seg000:6222 seg000:6223 seg000:6223 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6223 seg000:6223 seg000:6223 sub_6223: ; CODE XREF: sub_6063+3p seg000:6223 ; sub_6248p seg000:6223 call sub_6213 seg000:6226 ld de, 994Eh seg000:6229 ld bc, 0Ah seg000:622C ldir seg000:622E ld hl, 4E2Ah seg000:6231 ld a, (byte_96A9) seg000:6234 or a seg000:6235 ret z seg000:6236 ld b, a seg000:6237 seg000:6237 loc_6237: ; CODE XREF: sub_6223+1Cj seg000:6237 ld c, 5 seg000:6239 seg000:6239 loc_6239: ; CODE XREF: sub_6223+1Aj seg000:6239 call nextstr seg000:623C dec c seg000:623D jr nz, loc_6239 seg000:623F djnz loc_6237 seg000:6241 ret seg000:6241 ; End of function sub_6223 seg000:6241 seg000:6242 ; --------------------------------------------------------------------------- seg000:6242 ; START OF FUNCTION CHUNK FOR sub_6260 seg000:6242 seg000:6242 loc_6242: ; CODE XREF: sub_6260:loc_62B1j seg000:6242 ld (byte_96A9), a seg000:6245 call sub_60B6 seg000:6245 ; END OF FUNCTION CHUNK FOR sub_6260 seg000:6248 seg000:6248 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6248 seg000:6248 seg000:6248 sub_6248: ; CODE XREF: seg000:605Bp seg000:6248 seg000:6248 ; FUNCTION CHUNK AT seg000:60D4 SIZE 00000020 BYTES seg000:6248 seg000:6248 call sub_6223 seg000:624B call loc_6069 seg000:624E jp loc_60D4 seg000:624E ; End of function sub_6248 seg000:624E seg000:6251 seg000:6251 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6251 seg000:6251 seg000:6251 sub_6251: ; CODE XREF: defaultAppStart+201p seg000:6251 ; defaultAppStart+2E9p seg000:6251 ld de, 123Ah seg000:6254 ld b, 4 seg000:6256 seg000:6256 loc_6256: ; CODE XREF: sub_6251+Cj seg000:6256 call VPutSDESaveBC seg000:6259 ld a, 7 seg000:625B add a, d seg000:625C ld d, a seg000:625D djnz loc_6256 seg000:625F ret seg000:625F ; End of function sub_6251 seg000:625F seg000:6260 seg000:6260 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6260 seg000:6260 seg000:6260 sub_6260: ; CODE XREF: seg000:63D9p seg000:6260 ; seg000:63FAp ... seg000:6260 seg000:6260 ; FUNCTION CHUNK AT seg000:6242 SIZE 00000006 BYTES seg000:6260 ; FUNCTION CHUNK AT seg000:62B1 SIZE 00000003 BYTES seg000:6260 seg000:6260 call VPutSDE_bottomScreen seg000:6263 ld hl, 4D67h seg000:6266 ld e, 50h ; 'P' seg000:6268 call VPutSDE_Dequals38h seg000:626B call ifastcopy seg000:626E seg000:626E loc_626E: ; CODE XREF: seg000:627Cj seg000:626E rst 28h seg000:626E ; --------------------------------------------------------------------------- seg000:626F dw 4018h ; _GetCSC seg000:6271 ; --------------------------------------------------------------------------- seg000:6271 cp 2Ch ; ',' seg000:6271 ; End of function sub_6260 seg000:6271 seg000:6273 ret z seg000:6274 cp 22h ; '"' seg000:6276 jp z, recvLinkHandler seg000:6279 call general_key_routine seg000:627C jr loc_626E seg000:627E seg000:627E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:627E seg000:627E seg000:627E Bit7OfAsmFlag2: ; CODE XREF: defaultAppStart+B0p seg000:627E ; defaultAppStart+1E3p ... seg000:627E bit 7, (iy+asm_Flag2) seg000:6282 ret seg000:6282 ; End of function Bit7OfAsmFlag2 seg000:6282 seg000:6283 seg000:6283 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6283 seg000:6283 seg000:6283 bit4OfAsm_Flag3: ; CODE XREF: defaultAppStart+102p seg000:6283 ; defaultAppStart:loc_5B6Bp ... seg000:6283 bit 4, (iy+asm_Flag3) seg000:6287 ret seg000:6287 ; End of function bit4OfAsm_Flag3 seg000:6287 seg000:6288 seg000:6288 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6288 seg000:6288 seg000:6288 resBit4OfAsm_Flag3: ; CODE XREF: folder_menu_start_alternative+1Ep seg000:6288 ; sub_5E61:loc_5EBCp ... seg000:6288 ld hl, asm_Flag3 seg000:628B res 4, (hl) seg000:628D ret seg000:628D ; End of function resBit4OfAsm_Flag3 seg000:628D seg000:628E seg000:628E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:628E seg000:628E seg000:628E set4OfAsm_Flag3: ; CODE XREF: sub_5E61:loc_5E7Fp seg000:628E ; sub_5EC3+2Ep ... seg000:628E ld hl, asm_Flag3 seg000:6291 set 4, (hl) seg000:6293 ret seg000:6293 ; End of function set4OfAsm_Flag3 seg000:6293 seg000:6294 seg000:6294 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6294 seg000:6294 seg000:6294 set3OfAsm_Flag3: ; CODE XREF: GetCSCWait+7p seg000:6294 ; GetCSCWait+2Bp ... seg000:6294 set 3, (iy+asm_Flag3) seg000:6298 ret seg000:6298 ; End of function set3OfAsm_Flag3 seg000:6298 seg000:6299 seg000:6299 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6299 seg000:6299 seg000:6299 res3OfAsm_Flag3: ; CODE XREF: GetCSCWait:loc_6335p seg000:6299 res 3, (iy+asm_Flag3) seg000:629D ret seg000:629D ; End of function res3OfAsm_Flag3 seg000:629D seg000:629E ; --------------------------------------------------------------------------- seg000:629E ld a, 4 seg000:62A0 jr loc_62B1 seg000:62A2 ; --------------------------------------------------------------------------- seg000:62A2 xor a seg000:62A3 call bit4OfAsm_Flag3 seg000:62A6 jr nz, loc_62A9 seg000:62A8 inc a seg000:62A9 seg000:62A9 loc_62A9: ; CODE XREF: seg000:62A6j seg000:62A9 jr loc_62B1 seg000:62AB ; --------------------------------------------------------------------------- seg000:62AB ld a, 2 seg000:62AD jr loc_62B1 seg000:62AF ; --------------------------------------------------------------------------- seg000:62AF ld a, 3 seg000:62B1 ; START OF FUNCTION CHUNK FOR sub_6260 seg000:62B1 seg000:62B1 loc_62B1: ; CODE XREF: seg000:62A0j seg000:62B1 ; seg000:loc_62A9j ... seg000:62B1 jp loc_6242 seg000:62B1 ; END OF FUNCTION CHUNK FOR sub_6260 seg000:62B4 seg000:62B4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:62B4 seg000:62B4 seg000:62B4 sub_62B4: ; CODE XREF: seg000:637Fp seg000:62B4 ld hl, OP2 seg000:62B7 ld de, OP1_plus_1 seg000:62BA ld bc, 8 seg000:62BD ldir seg000:62BF ret seg000:62BF ; End of function sub_62B4 seg000:62BF seg000:62C0 ; --------------------------------------------------------------------------- seg000:62C0 call bit4OfAsm_Flag3 seg000:62C3 jr z, loc_6309 seg000:62C5 ld hl, aNowSending___ ; "Now Sending . . .¦˜" seg000:62C8 call VPutS_atBottom seg000:62CB ld hl, (curgoodprog) seg000:62CE call sendprog seg000:62D1 jr nz, linkErr seg000:62D3 jr loc_6309 seg000:62D5 ; --------------------------------------------------------------------------- seg000:62D5 seg000:62D5 linkErr: ; CODE XREF: seg000:62D1j seg000:62D5 ld hl, aErrorInQmission ; "*\xFFError In nmission\xFF*" seg000:62D8 call VPutS_atBottom seg000:62DB jr loc_6306 seg000:62DD ; --------------------------------------------------------------------------- seg000:62DD ld hl, aFreeram ; "FreeRAM:" seg000:62E0 call VPutSDE_bottomScreen seg000:62E3 rst 28h seg000:62E3 ; --------------------------------------------------------------------------- seg000:62E4 dw 42E5h ; _MemChk seg000:62E6 ; --------------------------------------------------------------------------- seg000:62E6 push hl seg000:62E7 pop bc seg000:62E8 ld de, 3831h seg000:62EB ld a, 5 seg000:62ED call right_align_value seg000:62F0 ld e, 38h ; '8' seg000:62F2 ld hl, aR0m ; "R0M:" seg000:62F5 call VPutSDE_Dequals38h seg000:62F8 call freearc seg000:62FB ld e, 46h ; 'F' seg000:62FD ld hl, OP3 seg000:6300 call VPutSDE_Dequals38h seg000:6303 call ifastcopy seg000:6306 seg000:6306 loc_6306: ; CODE XREF: seg000:62DBj seg000:6306 ; seg000:63B2j seg000:6306 call GetCSCWait seg000:6309 ; START OF FUNCTION CHUNK FOR GetCSCWait seg000:6309 seg000:6309 loc_6309: ; CODE XREF: seg000:62C3j seg000:6309 ; seg000:62D3j ... seg000:6309 call sub_6063 seg000:630C jp loc_5A4F seg000:630C ; END OF FUNCTION CHUNK FOR GetCSCWait seg000:630F seg000:630F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:630F seg000:630F seg000:630F GetCSCWait: ; CODE XREF: seg000:loc_6306p seg000:630F ; GetCSCWait+4j ... seg000:630F seg000:630F ; FUNCTION CHUNK AT seg000:6309 SIZE 00000006 BYTES seg000:630F ; FUNCTION CHUNK AT seg000:6356 SIZE 00000009 BYTES seg000:630F seg000:630F rst 28h seg000:630F ; --------------------------------------------------------------------------- seg000:6310 dw 4018h ; _GetCSC seg000:6312 ; --------------------------------------------------------------------------- seg000:6312 or a seg000:6313 jr z, GetCSCWait seg000:6315 ret seg000:6316 ; --------------------------------------------------------------------------- seg000:6316 call set3OfAsm_Flag3 seg000:6319 ld a, (cursorcoords) seg000:631C cp 0Bh seg000:631E jr z, loc_632C seg000:6320 seg000:6320 loc_6320: ; CODE XREF: GetCSCWait+1Bj seg000:6320 ld a, (cursorcoords) seg000:6323 cp 0Bh seg000:6325 jr z, loc_6335 seg000:6327 call mainUpPressed seg000:632A jr loc_6320 seg000:632C ; --------------------------------------------------------------------------- seg000:632C seg000:632C loc_632C: ; CODE XREF: GetCSCWait+Fj seg000:632C ld b, 5 seg000:632E seg000:632E loc_632E: ; CODE XREF: GetCSCWait+24j seg000:632E push bc seg000:632F call sub_5E61 seg000:6332 pop bc seg000:6333 djnz loc_632E seg000:6335 seg000:6335 loc_6335: ; CODE XREF: GetCSCWait+16j seg000:6335 ; GetCSCWait+3Cj ... seg000:6335 call res3OfAsm_Flag3 seg000:6338 jr loc_6309 seg000:633A ; --------------------------------------------------------------------------- seg000:633A call set3OfAsm_Flag3 seg000:633D ld a, (cursorcoords) seg000:6340 cp 2Eh ; '.' seg000:6342 ld b, 5 seg000:6344 jr z, loc_6356 seg000:6346 seg000:6346 loc_6346: ; CODE XREF: GetCSCWait+43j seg000:6346 ld a, (cursorcoords) seg000:6349 cp 2Eh ; '.' seg000:634B jr z, loc_6335 seg000:634D push bc seg000:634E call mainDownPressed seg000:6351 pop bc seg000:6352 djnz loc_6346 seg000:6354 jr loc_6335 seg000:6354 ; End of function GetCSCWait seg000:6354 seg000:6356 ; --------------------------------------------------------------------------- seg000:6356 ; START OF FUNCTION CHUNK FOR GetCSCWait seg000:6356 seg000:6356 loc_6356: ; CODE XREF: GetCSCWait+35j seg000:6356 ; GetCSCWait+4Cj seg000:6356 push bc seg000:6357 call sub_5EC3 seg000:635A pop bc seg000:635B djnz loc_6356 seg000:635D jr loc_6335 seg000:635D ; END OF FUNCTION CHUNK FOR GetCSCWait seg000:635F ; --------------------------------------------------------------------------- seg000:635F seg000:635F loc_635F: ; CODE XREF: seg000:636Dj seg000:635F ; seg000:637Dj seg000:635F ld hl, 4DA1h seg000:6362 call VPutS_atBottom seg000:6365 call bit4OfAsm_Flag3 seg000:6368 jr nz, loc_637A seg000:636A call sub_63B5 seg000:636D jr c, loc_635F seg000:636F rst 28h seg000:636F ; --------------------------------------------------------------------------- seg000:6370 dw 4156h ; _OP2ToOP1 seg000:6372 ; --------------------------------------------------------------------------- seg000:6372 ld a, (curfold) seg000:6375 call renamefolder seg000:6378 jr loc_6309 seg000:637A ; --------------------------------------------------------------------------- seg000:637A seg000:637A loc_637A: ; CODE XREF: seg000:6368j seg000:637A call sub_63B5 seg000:637D jr c, loc_635F seg000:637F call sub_62B4 seg000:6382 ld hl, (curgoodprog) seg000:6385 call renameprog seg000:6388 call sub_6137 seg000:638B seg000:638B loc_638B: ; CODE XREF: seg000:63AAj seg000:638B ; seg000:63DCj ... seg000:638B jp loc_6309 seg000:638E ; --------------------------------------------------------------------------- seg000:638E seg000:638E loc_638E: ; CODE XREF: seg000:639Fj seg000:638E ld a, (numfolds) seg000:6391 cp 9 seg000:6393 jp nc, loc_63AC seg000:6396 ld hl, 4D94h seg000:6399 call VPutS_atBottom seg000:639C call sub_63B5 seg000:639F jr c, loc_638E seg000:63A1 rst 28h seg000:63A1 ; --------------------------------------------------------------------------- seg000:63A2 dw 4156h ; _OP2ToOP1 seg000:63A4 ; --------------------------------------------------------------------------- seg000:63A4 call createfolder seg000:63A7 call nz, Increase_Max_Elements seg000:63AA jr loc_638B seg000:63AC ; --------------------------------------------------------------------------- seg000:63AC seg000:63AC loc_63AC: ; CODE XREF: seg000:6393j seg000:63AC ld hl, aMaxCS ; "*¦Max µ¦ns¦*" seg000:63AF call VPutS_atBottom seg000:63B2 jp loc_6306 seg000:63B5 seg000:63B5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:63B5 seg000:63B5 seg000:63B5 sub_63B5: ; CODE XREF: seg000:636Ap seg000:63B5 ; seg000:loc_637Ap ... seg000:63B5 ld de, 383Eh seg000:63B8 ld (penCol), de seg000:63BC ld hl, OP2 seg000:63BF ld b, 8 seg000:63C1 call gettext seg000:63C4 ld a, (OP2) seg000:63C7 cp 40h ; '@' seg000:63C9 ret seg000:63C9 ; End of function sub_63B5 seg000:63C9 seg000:63CA ; --------------------------------------------------------------------------- seg000:63CA call bit4OfAsm_Flag3 seg000:63CD jr nz, loc_63F0 seg000:63CF ld hl, 9686h seg000:63D2 bit 4, (hl) seg000:63D4 jr z, loc_63DE seg000:63D6 ld hl, 4D5Dh seg000:63D9 call sub_6260 seg000:63DC jr z, loc_638B seg000:63DE seg000:63DE loc_63DE: ; CODE XREF: seg000:63D4j seg000:63DE ld a, (curfold) seg000:63E1 ld (byte_9977), a seg000:63E4 or a seg000:63E5 jr z, loc_638B seg000:63E7 ld a, (curfold) seg000:63EA call delfolder seg000:63ED jp defaultAppStart_Beg seg000:63F0 ; --------------------------------------------------------------------------- seg000:63F0 seg000:63F0 loc_63F0: ; CODE XREF: seg000:63CDj seg000:63F0 ld hl, avdata seg000:63F3 bit 4, (hl) seg000:63F5 jr z, loc_63FF seg000:63F7 ld hl, a?_0 ; "°¦²?" seg000:63FA call sub_6260 seg000:63FD jr z, loc_6466 seg000:63FF seg000:63FF loc_63FF: ; CODE XREF: seg000:63F5j seg000:63FF ld hl, (curgoodprog) seg000:6402 ld (word_998B), hl seg000:6405 set 1, (iy+23h) seg000:6409 jr loc_6435 seg000:640B seg000:640B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:640B seg000:640B seg000:640B sub_640B: ; CODE XREF: seg000:6456p seg000:640B ; seg000:6473p seg000:640B ld hl, (word_998B) seg000:640E call delprog seg000:6411 call bit4OfAsm_Flag3 seg000:6414 ret z seg000:6414 ; End of function sub_640B seg000:6414 seg000:6415 ; START OF FUNCTION CHUNK FOR sub_4A63 seg000:6415 seg000:6415 Get_Curgoodprog_Ptr: ; CODE XREF: seg000:41C7j seg000:6415 ; sub_4A63+18j seg000:6415 ld a, (curprognum) seg000:6418 ld b, a seg000:6419 call Skip_Forward_B_From_Top seg000:641C ld (curgoodprog), hl seg000:641F ret seg000:641F ; END OF FUNCTION CHUNK FOR sub_4A63 seg000:6420 ; --------------------------------------------------------------------------- seg000:6420 res 1, (iy+asm_Flag3) seg000:6424 ld hl, (curgoodprog) seg000:6427 call hideprog seg000:642A push af seg000:642B ld hl, avdata seg000:642E bit 5, (hl) seg000:6430 jr nz, loc_6478 seg000:6432 pop af seg000:6433 jr z, loc_6479 seg000:6435 seg000:6435 loc_6435: ; CODE XREF: seg000:6409j seg000:6435 call Decrease_Max_Elements seg000:6438 call set3OfAsm_Flag3 seg000:643B ld hl, (curgoodprog) seg000:643E call getnextgoodprog seg000:6441 jr z, loc_644B seg000:6443 ld a, (curfold) seg000:6446 call nextfolder seg000:6449 jr z, loc_6469 seg000:644B seg000:644B loc_644B: ; CODE XREF: seg000:6441j seg000:644B call mainDownPressed seg000:644E ld hl, curprognum seg000:6451 dec (hl) seg000:6452 bit 1, (iy+asm_Flag3) seg000:6456 call nz, sub_640B seg000:6459 call loc_5E4E seg000:645C seg000:645C loc_645C: ; CODE XREF: seg000:6476j seg000:645C ld hl, asm_Flag3 seg000:645F res 1, (hl) seg000:6461 res 3, (hl) seg000:6463 call sub_6137 seg000:6466 seg000:6466 loc_6466: ; CODE XREF: seg000:63FDj seg000:6466 ; seg000:loc_6479j ... seg000:6466 jp loc_6309 seg000:6469 ; --------------------------------------------------------------------------- seg000:6469 seg000:6469 loc_6469: ; CODE XREF: seg000:6449j seg000:6469 call mainUpPressed seg000:646C call Increase_Cur_Element seg000:646F bit 1, (iy+asm_Flag3) seg000:6473 call nz, sub_640B seg000:6476 jr loc_645C seg000:6478 ; --------------------------------------------------------------------------- seg000:6478 seg000:6478 loc_6478: ; CODE XREF: seg000:6430j seg000:6478 pop af seg000:6479 seg000:6479 loc_6479: ; CODE XREF: seg000:6433j seg000:6479 jr loc_6466 seg000:647B ; --------------------------------------------------------------------------- seg000:647B ld hl, (curgoodprog) seg000:647E call arcprog seg000:6481 jr loc_6466 seg000:6483 ; --------------------------------------------------------------------------- seg000:6483 ld hl, (curgoodprog) seg000:6486 call sub_7540 seg000:6489 jr loc_6466 seg000:648B ; --------------------------------------------------------------------------- seg000:648B ld hl, aXAllIn? ; "s¦All¦In¦n?" seg000:648E call sub_6260 seg000:6491 jr z, loc_6466 seg000:6493 ld a, (curfold) seg000:6496 push af seg000:6497 call folder_menu_start_alternative seg000:649A pop bc seg000:649B ld a, (curfold) seg000:649E ld c, a seg000:649F call moveall seg000:64A2 call sub_64ED seg000:64A5 call sub_61E3 seg000:64A8 call Add_A_To_Max_Elements seg000:64AB jr loc_6466 seg000:64AD ; --------------------------------------------------------------------------- seg000:64AD ld c, 0 seg000:64AF jr loc_64BB seg000:64B1 ; --------------------------------------------------------------------------- seg000:64B1 ld c, 1 seg000:64B3 jr loc_64BB seg000:64B5 ; --------------------------------------------------------------------------- seg000:64B5 ld c, 2 seg000:64B7 jr loc_64BB seg000:64B9 ; --------------------------------------------------------------------------- seg000:64B9 ld c, 3 seg000:64BB seg000:64BB loc_64BB: ; CODE XREF: seg000:64AFj seg000:64BB ; seg000:64B3j ... seg000:64BB ld a, (curfold) seg000:64BE call setfoldsort seg000:64C1 ld a, (curfold) seg000:64C4 call dofoldsort seg000:64C7 set 2, (iy+22h) seg000:64CB jr loc_6466 seg000:64CD ; --------------------------------------------------------------------------- seg000:64CD call sub_64DF seg000:64D0 call sub_64ED seg000:64D3 set 7, (iy+23h) seg000:64D7 call sub_61E3 seg000:64DA call Add_A_To_Max_Elements seg000:64DD jr loc_6466 seg000:64DF seg000:64DF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:64DF seg000:64DF seg000:64DF sub_64DF: ; CODE XREF: seg000:61B4p seg000:64DF ; seg000:64CDp seg000:64DF seg000:64DF ; FUNCTION CHUNK AT seg000:6A85 SIZE 00000008 BYTES seg000:64DF seg000:64DF ld hl, (curgoodprog) seg000:64E2 push hl seg000:64E3 call folder_menu_start_alternative seg000:64E6 pop hl seg000:64E7 ld a, (curfold) seg000:64EA jp loc_6A85 seg000:64EA ; End of function sub_64DF seg000:64EA seg000:64ED seg000:64ED ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:64ED seg000:64ED seg000:64ED sub_64ED: ; CODE XREF: seg000:64A2p seg000:64ED ; seg000:64D0p seg000:64ED call sub_6137 seg000:64F0 call sub_61D5 seg000:64F3 set 7, (hl) seg000:64F5 jp setupFlag2AndIXTablePtr seg000:64F5 ; End of function sub_64ED seg000:64F5 seg000:64F8 seg000:64F8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:64F8 seg000:64F8 seg000:64F8 VPutSDE_bottomScreen: ; CODE XREF: sub_6260p seg000:64F8 ; seg000:62E0p ... seg000:64F8 push hl seg000:64F9 call drawspecialrectangle seg000:64FC pop hl seg000:64FD jp VPutSDE_DEequals3803h seg000:64FD ; End of function VPutSDE_bottomScreen seg000:64FD seg000:6500 seg000:6500 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6500 seg000:6500 seg000:6500 VPutS_atBottom: ; CODE XREF: seg000:62C8p seg000:6500 ; seg000:62D8p ... seg000:6500 call VPutSDE_bottomScreen seg000:6503 jp ifastcopy seg000:6503 ; End of function VPutS_atBottom seg000:6503 seg000:6506 seg000:6506 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6506 seg000:6506 seg000:6506 drawspecialrectangle: ; CODE XREF: seg000:loc_6050p seg000:6506 ; sub_6063p ... seg000:6506 xor a seg000:6507 ld de, 5E3Eh seg000:650A ld hl, 138h seg000:650D seg000:650D jumpToFilledRectangle: ; CODE XREF: sub_6510+7j seg000:650D ; sub_6519+Bj ... seg000:650D jp filledrectangle seg000:650D ; End of function drawspecialrectangle seg000:650D seg000:6510 seg000:6510 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6510 seg000:6510 seg000:6510 sub_6510: ; CODE XREF: defaultAppStart+1E0p seg000:6510 ; defaultAppStart+274p ... seg000:6510 ld hl, 3813h seg000:6513 ld de, 5B2Ch seg000:6516 xor a seg000:6517 jr jumpToFilledRectangle seg000:6517 ; End of function sub_6510 seg000:6517 seg000:6519 seg000:6519 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6519 seg000:6519 seg000:6519 sub_6519: ; CODE XREF: sub_5967+Cp seg000:6519 ; defaultAppStart:loc_5CD4p ... seg000:6519 ld hl, (cursorcoords) seg000:651C ld a, l seg000:651D add a, 6 seg000:651F ld e, a seg000:6520 ld d, 2Ch ; ',' seg000:6522 seg000:6522 loc_6522: ; CODE XREF: sub_6526+Bj seg000:6522 ld a, 2 seg000:6524 jr jumpToFilledRectangle seg000:6524 ; End of function sub_6519 seg000:6524 seg000:6526 seg000:6526 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6526 seg000:6526 seg000:6526 sub_6526: ; CODE XREF: options_screen:loc_6C1Ep seg000:6526 ; options_screen+D1p ... seg000:6526 ld hl, (word_9948) seg000:6529 ld a, 47h ; 'G' seg000:652B add a, h seg000:652C ld d, a seg000:652D ld a, 6 seg000:652F add a, l seg000:6530 ld e, a seg000:6531 jr loc_6522 seg000:6531 ; End of function sub_6526 seg000:6531 seg000:6533 seg000:6533 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6533 seg000:6533 seg000:6533 specialfilledrectangle: ; CODE XREF: seg000:6F29p seg000:6533 ; seg000:6F2Fp seg000:6533 ld a, 2 seg000:6535 seg000:6535 loc_6535: ; CODE XREF: seg000:6F64p seg000:6535 ld hl, 122Ch seg000:6538 ld de, 5732h seg000:653B jr jumpToFilledRectangle seg000:653B ; End of function specialfilledrectangle seg000:653B seg000:653D seg000:653D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:653D seg000:653D seg000:653D sub_653D: ; CODE XREF: getfoldsortp seg000:653D ; setfoldsortp seg000:653D cp 8 seg000:653F jr c, loc_6549 seg000:6541 and 1 seg000:6543 ld b, a seg000:6544 ld hl, savesort3 seg000:6547 ld a, (hl) seg000:6548 ret seg000:6549 ; --------------------------------------------------------------------------- seg000:6549 seg000:6549 loc_6549: ; CODE XREF: sub_653D+2j seg000:6549 cp 4 seg000:654B jr c, loc_6555 seg000:654D sub 4 seg000:654F ld b, a seg000:6550 ld hl, savesort2 seg000:6553 ld a, (hl) seg000:6554 ret seg000:6555 ; --------------------------------------------------------------------------- seg000:6555 seg000:6555 loc_6555: ; CODE XREF: sub_653D+Ej seg000:6555 ld b, a seg000:6556 ld hl, savesort1 seg000:6559 ld a, (hl) seg000:655A ret seg000:655A ; End of function sub_653D seg000:655A seg000:655B seg000:655B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:655B seg000:655B seg000:655B sortallfolds: ; CODE XREF: seg000:41A0j seg000:655B ; options_screen-3D9p seg000:655B ld a, (numfolds) seg000:655E ld b, a seg000:655F xor a seg000:6560 seg000:6560 loc_6560: ; CODE XREF: sortallfolds+Fj seg000:6560 push af seg000:6561 push bc seg000:6562 call dofoldsort seg000:6565 pop bc seg000:6566 pop af seg000:6567 cp b seg000:6568 ret z seg000:6569 inc a seg000:656A jr loc_6560 seg000:656A ; End of function sortallfolds seg000:656A seg000:656C seg000:656C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:656C seg000:656C seg000:656C dofoldsort: ; CODE XREF: seg000:41A3j seg000:656C ; seg000:64C4p ... seg000:656C ld b, a seg000:656D ld a, (curfold) seg000:6570 push af seg000:6571 ld a, b seg000:6572 ld (curfold), a seg000:6575 call getfoldsort seg000:6578 or a seg000:6579 push af seg000:657A call z, sub_65FD seg000:657D pop af seg000:657E dec a seg000:657F push af seg000:6580 call z, sub_6605 seg000:6583 pop af seg000:6584 dec a seg000:6585 push af seg000:6586 call z, sub_6646 seg000:6589 pop af seg000:658A dec a seg000:658B call z, sub_65B9 seg000:658E pop af seg000:658F seg000:658F loc_658F: seg000:658F ld (curfold), a seg000:6592 ret seg000:6592 ; End of function dofoldsort seg000:6592 seg000:6593 seg000:6593 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6593 seg000:6593 seg000:6593 getfoldsort: ; CODE XREF: seg000:41A6j seg000:6593 ; defaultAppStart+207p ... seg000:6593 call sub_653D seg000:6596 inc b seg000:6597 dec b seg000:6598 jr z, loc_659F seg000:659A sla b seg000:659C seg000:659C loc_659C: ; CODE XREF: getfoldsort+Aj seg000:659C rrca seg000:659D djnz loc_659C seg000:659F seg000:659F loc_659F: ; CODE XREF: getfoldsort+5j seg000:659F and 3 seg000:65A1 ret seg000:65A1 ; End of function getfoldsort seg000:65A1 seg000:65A2 seg000:65A2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:65A2 seg000:65A2 seg000:65A2 setfoldsort: ; CODE XREF: seg000:41A9j seg000:65A2 ; seg000:64BEp seg000:65A2 call sub_653D seg000:65A5 inc b seg000:65A6 dec b seg000:65A7 jr z, loc_65B2 seg000:65A9 sla b seg000:65AB ld a, 3 seg000:65AD seg000:65AD loc_65AD: ; CODE XREF: setfoldsort+Ej seg000:65AD rlc c seg000:65AF rlca seg000:65B0 djnz loc_65AD seg000:65B2 seg000:65B2 loc_65B2: ; CODE XREF: setfoldsort+5j seg000:65B2 cpl seg000:65B3 and (hl) seg000:65B4 ld (hl), a seg000:65B5 ld a, c seg000:65B6 or (hl) seg000:65B7 ld (hl), a seg000:65B8 ret seg000:65B8 ; End of function setfoldsort seg000:65B8 seg000:65B9 seg000:65B9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:65B9 seg000:65B9 seg000:65B9 sub_65B9: ; CODE XREF: dofoldsort+1Fp seg000:65B9 ; sub_65B9+30j seg000:65B9 ld hl, 0 seg000:65BC seg000:65BC loc_65BC: ; CODE XREF: sub_65B9+27j seg000:65BC call getnextgoodprog seg000:65BF ret nz seg000:65C0 call getinfo seg000:65C3 ld (unk_993C), hl seg000:65C6 call sub_65EB seg000:65C9 ld (curVATptr), a seg000:65CC call getnextgoodprog seg000:65CF ret nz seg000:65D0 call getinfo seg000:65D3 call sub_65EB seg000:65D6 ld b, a seg000:65D7 ld a, (curVATptr) seg000:65DA cp b seg000:65DB jr c, loc_65E2 seg000:65DD ld hl, (unk_993C) seg000:65E0 jr loc_65BC seg000:65E2 ; --------------------------------------------------------------------------- seg000:65E2 seg000:65E2 loc_65E2: ; CODE XREF: sub_65B9+22j seg000:65E2 ld de, (unk_993C) seg000:65E6 call vatswap seg000:65E9 jr sub_65B9 seg000:65E9 ; End of function sub_65B9 seg000:65E9 seg000:65EB seg000:65EB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:65EB seg000:65EB seg000:65EB sub_65EB: ; CODE XREF: sub_65B9+Dp seg000:65EB ; sub_65B9+1Ap seg000:65EB push hl seg000:65EC ld a, b seg000:65ED and 0E3h ; 'p' seg000:65EF ld hl, 5396h seg000:65F2 push bc seg000:65F3 cpir seg000:65F5 pop hl seg000:65F6 or a seg000:65F7 sbc hl, bc seg000:65F9 ld a, l seg000:65FA inc a seg000:65FB pop hl seg000:65FC ret seg000:65FC ; End of function sub_65EB seg000:65FC seg000:65FD seg000:65FD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:65FD seg000:65FD seg000:65FD sub_65FD: ; CODE XREF: dofoldsort+Ep seg000:65FD ld hl, OP2 seg000:6600 ld (curVATptr), hl seg000:6603 jr loc_660B seg000:6603 ; End of function sub_65FD seg000:6603 seg000:6605 seg000:6605 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6605 seg000:6605 seg000:6605 sub_6605: ; CODE XREF: dofoldsort+14p seg000:6605 ld hl, ramdesc seg000:6608 ld (curVATptr), hl seg000:660B seg000:660B loc_660B: ; CODE XREF: sub_65FD+6j seg000:660B ; sub_6605+3Fj seg000:660B ld hl, 0 seg000:660E seg000:660E loc_660E: ; CODE XREF: sub_6605+36j seg000:660E call getnextgoodprog seg000:6611 ret nz seg000:6612 call getinfo seg000:6615 push hl seg000:6616 ld hl, (curVATptr) seg000:6619 ld de, OP3 seg000:661C rst 28h seg000:661C ; --------------------------------------------------------------------------- seg000:661D dw 44E3h ; _strcopy seg000:661F ; --------------------------------------------------------------------------- seg000:661F pop hl seg000:6620 ld (unk_993C), hl seg000:6623 call getnextgoodprog seg000:6626 ret nz seg000:6627 call getinfo seg000:662A push hl seg000:662B ld hl, OP3 seg000:662E ld de, (curVATptr) seg000:6632 call compstrs seg000:6635 pop hl seg000:6636 jr c, loc_663D seg000:6638 ld hl, (unk_993C) seg000:663B jr loc_660E seg000:663D ; --------------------------------------------------------------------------- seg000:663D seg000:663D loc_663D: ; CODE XREF: sub_6605+31j seg000:663D ld de, (unk_993C) seg000:6641 call vatswap seg000:6644 jr loc_660B seg000:6644 ; End of function sub_6605 seg000:6644 seg000:6646 seg000:6646 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6646 seg000:6646 seg000:6646 sub_6646: ; CODE XREF: dofoldsort+1Ap seg000:6646 ; sub_6646+36j seg000:6646 ld hl, 0 seg000:6649 seg000:6649 loc_6649: ; CODE XREF: sub_6646+2Dj seg000:6649 call getnextgoodprog seg000:664C ret nz seg000:664D call getinfo seg000:6650 ld (unk_993C), hl seg000:6653 ld de, (ramsize) seg000:6657 ld (curVATptr), de seg000:665B call getnextgoodprog seg000:665E ret nz seg000:665F call getinfo seg000:6662 push hl seg000:6663 ld hl, (curVATptr) seg000:6666 ld de, (ramsize) seg000:666A call cphlde seg000:666D pop hl seg000:666E jr c, loc_6675 seg000:6670 ld hl, (unk_993C) seg000:6673 jr loc_6649 seg000:6675 ; --------------------------------------------------------------------------- seg000:6675 seg000:6675 loc_6675: ; CODE XREF: sub_6646+28j seg000:6675 ld de, (unk_993C) seg000:6679 call vatswap seg000:667C jr sub_6646 seg000:667C ; End of function sub_6646 seg000:667C seg000:667E seg000:667E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:667E seg000:667E seg000:667E vatswap: ; CODE XREF: seg000:4185j seg000:667E ; sub_65B9+2Dp ... seg000:667E call cphlde seg000:6681 jr nc, loc_6684 seg000:6683 ex de, hl seg000:6684 seg000:6684 loc_6684: ; CODE XREF: vatswap+3j seg000:6684 push de seg000:6685 ld (unk_98DC), hl seg000:6688 push hl seg000:6689 ld de, 0FFFAh seg000:668C add hl, de seg000:668D ld a, (hl) seg000:668E neg seg000:6690 ld e, a seg000:6691 add hl, de seg000:6692 ld (unk_98DE), hl seg000:6695 ex de, hl seg000:6696 pop hl seg000:6697 sbc hl, de seg000:6699 ld a, l seg000:669A inc a seg000:669B inc a seg000:669C ld (unk_98DA), a seg000:669F ld hl, (unk_98DC) seg000:66A2 ld de, 98C8h seg000:66A5 ld b, 0 seg000:66A7 ld c, a seg000:66A8 lddr seg000:66AA pop hl seg000:66AB ld (unk_98E0), hl seg000:66AE push hl seg000:66AF ld de, 0FFFAh seg000:66B2 add hl, de seg000:66B3 ld a, (hl) seg000:66B4 neg seg000:66B6 ld e, a seg000:66B7 add hl, de seg000:66B8 pop de seg000:66B9 ex de, hl seg000:66BA sbc hl, de seg000:66BC ld a, l seg000:66BD inc a seg000:66BE inc a seg000:66BF ld (unk_98DB), a seg000:66C2 ld hl, (unk_98E0) seg000:66C5 ld de, 98D9h seg000:66C8 ld b, 0 seg000:66CA ld c, a seg000:66CB lddr seg000:66CD ld a, (unk_98DB) seg000:66D0 ld b, a seg000:66D1 ld a, (unk_98DA) seg000:66D4 cp b seg000:66D5 jr z, loc_6722 seg000:66D7 jr nc, loc_6741 seg000:66D9 sub b seg000:66DA neg seg000:66DC push af seg000:66DD ld hl, (unk_98E0) seg000:66E0 inc hl seg000:66E1 push hl seg000:66E2 ld d, 0FFh seg000:66E4 neg seg000:66E6 ld e, a seg000:66E7 add hl, de seg000:66E8 pop de seg000:66E9 push de seg000:66EA push hl seg000:66EB ld hl, (unk_98DE) seg000:66EE or a seg000:66EF sbc hl, de seg000:66F1 ld b, h seg000:66F2 ld c, l seg000:66F3 pop de seg000:66F4 pop hl seg000:66F5 ld a, b seg000:66F6 or c seg000:66F7 jr z, loc_66FC seg000:66F9 inc bc seg000:66FA ldir seg000:66FC seg000:66FC loc_66FC: ; CODE XREF: vatswap+79j seg000:66FC ld hl, (unk_98DC) seg000:66FF ex de, hl seg000:6700 ld hl, 98D9h seg000:6703 ld a, (unk_98DB) seg000:6706 ld b, 0 seg000:6708 ld c, a seg000:6709 lddr seg000:670B ld hl, (unk_98E0) seg000:670E pop af seg000:670F neg seg000:6711 ld b, 0FFh seg000:6713 ld c, a seg000:6714 add hl, bc seg000:6715 ld de, 98C8h seg000:6718 ex de, hl seg000:6719 ld a, (unk_98DA) seg000:671C ld b, 0 seg000:671E ld c, a seg000:671F lddr seg000:6721 ret seg000:6722 ; --------------------------------------------------------------------------- seg000:6722 seg000:6722 loc_6722: ; CODE XREF: vatswap+57j seg000:6722 ld hl, (unk_98DC) seg000:6725 ex de, hl seg000:6726 ld hl, 98D9h seg000:6729 ld a, (unk_98DA) seg000:672C ld b, 0 seg000:672E ld c, a seg000:672F lddr seg000:6731 ld hl, (unk_98E0) seg000:6734 ex de, hl seg000:6735 ld hl, 98C8h seg000:6738 ld a, (unk_98DA) seg000:673B ld b, 0 seg000:673D ld c, a seg000:673E lddr seg000:6740 ret seg000:6741 ; --------------------------------------------------------------------------- seg000:6741 seg000:6741 loc_6741: ; CODE XREF: vatswap+59j seg000:6741 sub b seg000:6742 push af seg000:6743 ld hl, (unk_98DE) seg000:6746 dec hl seg000:6747 push hl seg000:6748 ld d, 0 seg000:674A ld e, a seg000:674B add hl, de seg000:674C pop de seg000:674D push de seg000:674E push hl seg000:674F ld hl, (unk_98E0) seg000:6752 or a seg000:6753 ex de, hl seg000:6754 sbc hl, de seg000:6756 ld b, h seg000:6757 ld c, l seg000:6758 pop de seg000:6759 pop hl seg000:675A ld a, b seg000:675B or c seg000:675C jr z, loc_6761 seg000:675E inc bc seg000:675F lddr seg000:6761 seg000:6761 loc_6761: ; CODE XREF: vatswap+DEj seg000:6761 ld hl, (unk_98DC) seg000:6764 ex de, hl seg000:6765 ld hl, 98D9h seg000:6768 ld a, (unk_98DB) seg000:676B ld b, 0 seg000:676D ld c, a seg000:676E lddr seg000:6770 ld hl, (unk_98E0) seg000:6773 pop af seg000:6774 ld b, 0 seg000:6776 ld c, a seg000:6777 add hl, bc seg000:6778 ex de, hl seg000:6779 ld hl, 98C8h seg000:677C ld a, (unk_98DA) seg000:677F ld c, a seg000:6780 lddr seg000:6782 ret seg000:6782 ; End of function vatswap seg000:6782 seg000:6783 ; --------------------------------------------------------------------------- seg000:6783 seg000:6783 AppStart: ; CODE XREF: seg000:4080j seg000:6783 xor a seg000:6784 ld (iy+asm_Flag1), a seg000:6787 set 5, (iy+asm_Flag1) seg000:678B ld de, textShadow seg000:678E ld hl, cmdShadow seg000:6791 ld bc, 128 seg000:6794 ldir seg000:6796 in a, (6) seg000:6798 ld (savePage), a seg000:679B ; START OF FUNCTION CHUNK FOR options_screen seg000:679B seg000:679B startloop: ; CODE XREF: options_screen-39Cj seg000:679B ; options_screen-C2j seg000:679B ld (saveSP), sp seg000:679F xor a seg000:67A0 ld (curfold), a seg000:67A3 ld (topfoldnum), a seg000:67A6 rst 28h seg000:67A6 ; --------------------------------------------------------------------------- seg000:67A7 dw 4BD0h ; _GrBufClr seg000:67A9 ; --------------------------------------------------------------------------- seg000:67A9 rst 28h seg000:67A9 ; --------------------------------------------------------------------------- seg000:67AA dw 4540h ; _ClrLCDFull seg000:67AC ; --------------------------------------------------------------------------- seg000:67AC ld a, 3 seg000:67AE out (10h), a ; enable the screen seg000:67B0 rst 28h seg000:67B0 ; --------------------------------------------------------------------------- seg000:67B1 dw 4C84h ; _DisableApd seg000:67B3 ; --------------------------------------------------------------------------- seg000:67B3 set textEraseBelow, (iy+textFlags) seg000:67B7 set textWrite, (iy+sGrFlags) seg000:67BB ei seg000:67BC call getMirageAppVar seg000:67BF jp c, appvarnotfound seg000:67C2 ld a, b seg000:67C3 or a seg000:67C4 jr nz, appvararchived seg000:67C6 rst 28h seg000:67C6 ; --------------------------------------------------------------------------- seg000:67C7 dw 4FD8h ; _Arc_Unarc seg000:67C9 ; --------------------------------------------------------------------------- seg000:67C9 seg000:67C9 appvararchived: ; CODE XREF: options_screen-3F1j seg000:67C9 call loadAVSettings seg000:67CC call clearOutProgsT2 seg000:67CF call tryGetCSCHook seg000:67D2 call setupint_4 seg000:67D5 ld hl, avdata seg000:67D8 bit 6, (hl) seg000:67DA jr z, nosorting seg000:67DC call sortallfolds seg000:67DF seg000:67DF nosorting: ; CODE XREF: options_screen-3DBj seg000:67DF ld a, (uitype) seg000:67E2 and 7 seg000:67E4 or a seg000:67E5 jr nz, custominterface seg000:67E7 seg000:67E7 startshell: ; CODE XREF: options_screen-3A5j seg000:67E7 call defaultAppStart seg000:67EA jr start_quittoOS seg000:67EC ; --------------------------------------------------------------------------- seg000:67EC seg000:67EC custominterface: ; CODE XREF: options_screen-3D0j seg000:67EC call myGetInterface seg000:67EF jp z, forgetcustominterface seg000:67F2 call myInsertMem seg000:67F5 ld hl, userMem+7 seg000:67F8 xor a seg000:67F9 cpir seg000:67FB ld (OP6+1), hl seg000:67FE ld a, 0C3h ; '+' ; jp instruction seg000:6800 ld (OP6), a seg000:6803 call OP6 ; call custom interface seg000:6806 seg000:6806 start_quittoOS: ; CODE XREF: options_screen-3CBj seg000:6806 jp quittoTIOS seg000:6809 ; --------------------------------------------------------------------------- seg000:6809 seg000:6809 forgetcustominterface: ; CODE XREF: options_screen-3C6j seg000:6809 ; seg000:689Bj seg000:6809 xor a seg000:680A ld (uitype), a seg000:680D call loadAVData seg000:6810 jr startshell seg000:6812 ; --------------------------------------------------------------------------- seg000:6812 seg000:6812 loc_6812: ; CODE XREF: options_screen+9Dj seg000:6812 call myDelMem seg000:6815 ld sp, (saveSP) seg000:6819 jp startloop seg000:6819 ; END OF FUNCTION CHUNK FOR options_screen seg000:681C seg000:681C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:681C seg000:681C seg000:681C getinterface: ; CODE XREF: getinterface+19j seg000:681C ; myGetInterface+5p ... seg000:681C call getnext seg000:681F ret z seg000:6820 push hl seg000:6821 call dataPtrToDE seg000:6824 call copy100ToMem seg000:6827 ld hl, 98BAh seg000:682A ld de, interface_header seg000:682D ld b, 4 seg000:682F call compstrsn seg000:6832 pop hl seg000:6833 jr z, loc_6837 seg000:6835 jr getinterface seg000:6837 ; --------------------------------------------------------------------------- seg000:6837 seg000:6837 loc_6837: ; CODE XREF: getinterface+17j seg000:6837 ; sub_683F+17j seg000:6837 ld a, (unk_98BE) seg000:683A or a seg000:683B ld de, 98BFh seg000:683E ret seg000:683E ; End of function getinterface seg000:683E seg000:683F seg000:683F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:683F seg000:683F seg000:683F sub_683F: ; CODE XREF: sub_683F+19j seg000:683F ; seg000:6F54p seg000:683F call getprev seg000:6842 ret z seg000:6843 push hl seg000:6844 call dataPtrToDE seg000:6847 call copy100ToMem seg000:684A ld hl, 98BAh seg000:684D ld de, interface_header seg000:6850 ld b, 4 seg000:6852 call compstrsn seg000:6855 pop hl seg000:6856 jr z, loc_6837 seg000:6858 jr sub_683F seg000:6858 ; End of function sub_683F seg000:6858 seg000:6858 ; --------------------------------------------------------------------------- seg000:685A interface_header:db 0BBh ; + ; DATA XREF: getinterface+Eo seg000:685A ; sub_683F+Eo seg000:685B db 6Dh ; m seg000:685C db 0C9h ; + seg000:685D db 2 seg000:685E seg000:685E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:685E seg000:685E seg000:685E myGetInterface: ; CODE XREF: options_screen:custominterfacep seg000:685E ; myDelMem+6p ... seg000:685E ld b, a seg000:685F ld hl, 0 seg000:6862 seg000:6862 getinterface_loop: ; CODE XREF: myGetInterface+Bj seg000:6862 push bc seg000:6863 call getinterface seg000:6866 pop bc seg000:6867 ret z seg000:6868 cp b seg000:6869 jr nz, getinterface_loop seg000:686B or a seg000:686C ld de, 98BFh seg000:686F ret seg000:686F ; End of function myGetInterface seg000:686F seg000:6870 seg000:6870 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6870 seg000:6870 seg000:6870 myDelMem: ; CODE XREF: options_screen:loc_6812p seg000:6870 ; options_screenp ... seg000:6870 ld a, (uitype) seg000:6873 or a seg000:6874 ret z seg000:6875 push hl seg000:6876 call myGetInterface seg000:6879 pop hl seg000:687A ret z seg000:687B ld de, (copyBuffer) seg000:687F dec de seg000:6880 dec de seg000:6881 push hl seg000:6882 ld hl, userMem seg000:6885 rst 28h seg000:6885 ; --------------------------------------------------------------------------- seg000:6886 dw 4357h ; _DelMem seg000:6888 ; --------------------------------------------------------------------------- seg000:6888 pop hl seg000:6889 ret seg000:6889 ; End of function myDelMem seg000:6889 seg000:688A ; --------------------------------------------------------------------------- seg000:688A seg000:688A myInsertMem: ; CODE XREF: options_screen-3C3p seg000:688A ; options_screen:options_retp ... seg000:688A ld a, (uitype) seg000:688D or a seg000:688E ret z seg000:688F call myGetInterface seg000:6892 ret z seg000:6893 push hl seg000:6894 ld hl, (copyBuffer) seg000:6897 rst 28h seg000:6897 ; --------------------------------------------------------------------------- seg000:6898 dw 42FDh ; _EnoughMem seg000:689A ; --------------------------------------------------------------------------- seg000:689A pop hl seg000:689B jp c, forgetcustominterface seg000:689E push hl seg000:689F ld hl, (copyBuffer) seg000:68A2 dec hl seg000:68A3 dec hl seg000:68A4 ld de, userMem seg000:68A7 rst 28h seg000:68A7 ; --------------------------------------------------------------------------- seg000:68A8 dw 42F7h ; _InsertMem seg000:68AA ; --------------------------------------------------------------------------- seg000:68AA pop hl seg000:68AB call dataPtrToDE seg000:68AE inc de seg000:68AF inc de seg000:68B0 inc de seg000:68B1 inc de seg000:68B2 call getVarPage seg000:68B5 ld bc, (copyBuffer) seg000:68B9 dec bc seg000:68BA dec bc seg000:68BB ld hl, userMem seg000:68BE ex de, hl seg000:68BF rst 28h seg000:68BF ; --------------------------------------------------------------------------- seg000:68C0 dw 5017h ; _FlashToRam seg000:68C2 ; --------------------------------------------------------------------------- seg000:68C2 ret seg000:68C3 seg000:68C3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:68C3 seg000:68C3 seg000:68C3 nextfolder: ; CODE XREF: seg000:4140j seg000:68C3 ; defaultAppStart+156p ... seg000:68C3 push hl seg000:68C4 ld hl, numfolds seg000:68C7 cp (hl) seg000:68C8 pop hl seg000:68C9 ret z seg000:68CA inc a seg000:68CB call curfoldnamea seg000:68CE xor a seg000:68CF inc a seg000:68D0 ld a, b seg000:68D1 ret seg000:68D1 ; End of function nextfolder seg000:68D1 seg000:68D2 seg000:68D2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:68D2 seg000:68D2 seg000:68D2 sub_68D2: ; CODE XREF: mainUpPressed+25p seg000:68D2 ; sub_5E61+31p seg000:68D2 or a seg000:68D3 ret z seg000:68D4 dec a seg000:68D5 call curfoldnamea seg000:68D8 or a seg000:68D9 ld a, b seg000:68DA ret seg000:68DA ; End of function sub_68D2 seg000:68DA seg000:68DB seg000:68DB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:68DB seg000:68DB seg000:68DB SaveTheWhales: ; CODE XREF: curfoldname+2p seg000:68DB ; existfold+6p seg000:68DB call getMirageAppVar seg000:68DE ld a, b seg000:68DF ex de, hl seg000:68E0 ld de, copyBuffer seg000:68E3 ld bc, 150 seg000:68E6 rst 28h seg000:68E6 ; --------------------------------------------------------------------------- seg000:68E7 dw 5017h ; _FlashToRam seg000:68E9 ; --------------------------------------------------------------------------- seg000:68E9 ld hl, copyBuffer seg000:68EC ld de, 9 seg000:68EF add hl, de seg000:68F0 ld e, (hl) seg000:68F1 add hl, de seg000:68F2 ld de, 17h seg000:68F5 add hl, de seg000:68F6 push hl seg000:68F7 push hl seg000:68F8 ld bc, 20 seg000:68FB call getchecksum seg000:68FE ld de, 4F9h seg000:6901 call cphlde seg000:6904 pop hl seg000:6905 jr nz, loc_691E seg000:6907 ld c, 5 seg000:6909 add hl, bc seg000:690A ld a, (hl) seg000:690B cp 53h ; 'S' seg000:690D jr nz, loc_691E seg000:690F add hl, bc seg000:6910 ld a, (hl) seg000:6911 cp 54h ; 'T' seg000:6913 jr nz, loc_691E seg000:6915 add hl, bc seg000:6916 ld a, (hl) seg000:6917 cp 48h ; 'H' seg000:6919 jr nz, loc_691E seg000:691B call enableTokenHook seg000:691E seg000:691E loc_691E: ; CODE XREF: SaveTheWhales+2Aj seg000:691E ; SaveTheWhales+32j ... seg000:691E pop hl seg000:691F ret seg000:691F ; End of function SaveTheWhales seg000:691F seg000:6920 seg000:6920 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6920 seg000:6920 seg000:6920 curfoldnamea: ; CODE XREF: seg000:414Cj seg000:6920 ; seg000:48F8p ... seg000:6920 ld b, a seg000:6921 ld a, (curfold) seg000:6924 push af seg000:6925 ld a, b seg000:6926 ld (curfold), a seg000:6929 call curfoldname seg000:692C pop af seg000:692D ld (curfold), a seg000:6930 ret seg000:6930 ; End of function curfoldnamea seg000:6930 seg000:6931 seg000:6931 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6931 seg000:6931 seg000:6931 curfoldname: ; CODE XREF: seg000:4149j seg000:6931 ; defaultAppStart+12Dp ... seg000:6931 push bc seg000:6932 push hl seg000:6933 call SaveTheWhales seg000:6936 ld a, (curfold) seg000:6939 or a seg000:693A jr z, loc_6945 seg000:693C ld d, a seg000:693D xor a seg000:693E seg000:693E loc_693E: ; CODE XREF: curfoldname+12j seg000:693E ld b, 1 seg000:6940 cpir seg000:6942 dec d seg000:6943 jr nz, loc_693E seg000:6945 seg000:6945 loc_6945: ; CODE XREF: curfoldname+9j seg000:6945 ld de, OP1 seg000:6948 rst 28h seg000:6948 ; --------------------------------------------------------------------------- seg000:6949 dw 44E3h ; _strcopy seg000:694B ; --------------------------------------------------------------------------- seg000:694B pop hl seg000:694C pop bc seg000:694D ret seg000:694D ; End of function curfoldname seg000:694D seg000:694E seg000:694E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:694E seg000:694E seg000:694E existfold: ; CODE XREF: seg000:4137j seg000:694E ; seg000:697Fp ... seg000:694E rst 28h seg000:694E ; --------------------------------------------------------------------------- seg000:694F dw 43BAh ; _PushRealO1 seg000:6951 ; --------------------------------------------------------------------------- seg000:6951 rst 28h seg000:6951 ; --------------------------------------------------------------------------- seg000:6952 dw 43BAh ; _PushRealO1 seg000:6954 ; --------------------------------------------------------------------------- seg000:6954 call SaveTheWhales seg000:6957 push hl seg000:6958 rst 28h seg000:6958 ; --------------------------------------------------------------------------- seg000:6959 dw 4390h ; _PopRealO1 seg000:695B ; --------------------------------------------------------------------------- seg000:695B pop hl seg000:695C ld a, (numfolds) seg000:695F inc a seg000:6960 ld b, a seg000:6961 ld de, 8478h seg000:6964 seg000:6964 loc_6964: ; CODE XREF: existfold+1Dj seg000:6964 push de seg000:6965 call compstrs seg000:6968 pop de seg000:6969 jr z, loc_6972 seg000:696B djnz loc_6964 seg000:696D inc b seg000:696E rst 28h seg000:696E ; --------------------------------------------------------------------------- seg000:696F dw 4390h ; _PopRealO1 seg000:6971 ; --------------------------------------------------------------------------- seg000:6971 ret seg000:6972 ; --------------------------------------------------------------------------- seg000:6972 seg000:6972 loc_6972: ; CODE XREF: existfold+1Bj seg000:6972 ld a, (numfolds) seg000:6975 sub b seg000:6976 inc a seg000:6977 rst 28h seg000:6977 ; --------------------------------------------------------------------------- seg000:6978 dw 4390h ; _PopRealO1 seg000:697A ; --------------------------------------------------------------------------- seg000:697A seg000:697A loc_697A: ; CODE XREF: seg000:69F3j seg000:697A cp a seg000:697B ret seg000:697B ; End of function existfold seg000:697B seg000:697C ; --------------------------------------------------------------------------- seg000:697C seg000:697C renamefolder: ; CODE XREF: seg000:418Bj seg000:697C ; seg000:6375p seg000:697C or a seg000:697D ret z seg000:697E push af seg000:697F call existfold seg000:6982 pop bc seg000:6983 ret z seg000:6984 ld a, b seg000:6985 push af seg000:6986 rst 28h seg000:6986 ; --------------------------------------------------------------------------- seg000:6987 dw 43BAh ; _PushRealO1 seg000:6989 ; --------------------------------------------------------------------------- seg000:6989 call getMirageAppVar seg000:698C rst 28h seg000:698C ; --------------------------------------------------------------------------- seg000:698D dw 4FD8h ; _Arc_Unarc seg000:698F ; --------------------------------------------------------------------------- seg000:698F call getMirageAppVar seg000:6992 ld (curVATptr), de seg000:6996 ld hl, 16h seg000:6999 add hl, de seg000:699A push hl seg000:699B rst 28h seg000:699B ; --------------------------------------------------------------------------- seg000:699C dw 4390h ; _PopRealO1 seg000:699E ; --------------------------------------------------------------------------- seg000:699E pop hl seg000:699F pop bc seg000:69A0 xor a seg000:69A1 seg000:69A1 loc_69A1: ; CODE XREF: seg000:69A6j seg000:69A1 push bc seg000:69A2 ld b, h seg000:69A3 cpir seg000:69A5 pop bc seg000:69A6 djnz loc_69A1 seg000:69A8 rst 28h seg000:69A8 ; --------------------------------------------------------------------------- seg000:69A9 dw 4C3Fh ; _StrLength seg000:69AB ; --------------------------------------------------------------------------- seg000:69AB ld d, b seg000:69AC ld e, c seg000:69AD push hl seg000:69AE push de seg000:69AF rst 28h seg000:69AF ; --------------------------------------------------------------------------- seg000:69B0 dw 4357h ; _DelMem seg000:69B2 ; --------------------------------------------------------------------------- seg000:69B2 pop de seg000:69B3 ld hl, (curVATptr) seg000:69B6 push hl seg000:69B7 rst 28h seg000:69B7 ; --------------------------------------------------------------------------- seg000:69B8 dw 4009h ; _ldHLInd seg000:69BA ; --------------------------------------------------------------------------- seg000:69BA or a seg000:69BB sbc hl, de seg000:69BD ex de, hl seg000:69BE pop hl seg000:69BF ld (hl), e seg000:69C0 inc hl seg000:69C1 ld (hl), d seg000:69C2 ld hl, OP1 seg000:69C5 rst 28h seg000:69C5 ; --------------------------------------------------------------------------- seg000:69C6 dw 4C3Fh ; _StrLength seg000:69C8 ; --------------------------------------------------------------------------- seg000:69C8 ld h, b seg000:69C9 ld l, c seg000:69CA pop de seg000:69CB push hl seg000:69CC push de seg000:69CD rst 28h seg000:69CD ; --------------------------------------------------------------------------- seg000:69CE dw 42F7h ; _InsertMem seg000:69D0 ; --------------------------------------------------------------------------- seg000:69D0 pop de seg000:69D1 ld hl, OP1 seg000:69D4 rst 28h seg000:69D4 ; --------------------------------------------------------------------------- seg000:69D5 dw 44E3h ; _strcopy seg000:69D7 ; --------------------------------------------------------------------------- seg000:69D7 ld hl, (curVATptr) seg000:69DA pop de seg000:69DB push hl seg000:69DC rst 28h seg000:69DC ; --------------------------------------------------------------------------- seg000:69DD dw 4009h ; _ldHLInd seg000:69DF ; --------------------------------------------------------------------------- seg000:69DF add hl, de seg000:69E0 ex de, hl seg000:69E1 pop hl seg000:69E2 ld (hl), e seg000:69E3 inc hl seg000:69E4 ld (hl), d seg000:69E5 call getMirageAppVar seg000:69E8 rst 28h seg000:69E8 ; --------------------------------------------------------------------------- seg000:69E9 dw 4FD8h ; _Arc_Unarc seg000:69EB ; --------------------------------------------------------------------------- seg000:69EB ret seg000:69EC ; --------------------------------------------------------------------------- seg000:69EC seg000:69EC delfolder: ; CODE XREF: seg000:4143j seg000:69EC ; seg000:63EAp seg000:69EC or a seg000:69ED ret z seg000:69EE ld b, a seg000:69EF ld a, (numfolds) seg000:69F2 cp b seg000:69F3 jr c, loc_697A seg000:69F5 ld hl, MiscOpts seg000:69F8 bit 4, (hl) seg000:69FA jr z, loc_6A03 seg000:69FC push bc seg000:69FD ld c, 0 seg000:69FF call moveall seg000:6A02 pop bc seg000:6A03 seg000:6A03 loc_6A03: ; CODE XREF: seg000:69FAj seg000:6A03 ld hl, numfolds seg000:6A06 dec (hl) seg000:6A07 ld hl, curfold seg000:6A0A ld a, (hl) seg000:6A0B cp b seg000:6A0C jr nz, loc_6A10 seg000:6A0E ld (hl), 0 seg000:6A10 seg000:6A10 loc_6A10: ; CODE XREF: seg000:6A0Cj seg000:6A10 ld a, b seg000:6A11 push af seg000:6A12 push af seg000:6A13 call getMirageAppVar seg000:6A16 rst 28h seg000:6A16 ; --------------------------------------------------------------------------- seg000:6A17 dw 4FD8h ; _Arc_Unarc seg000:6A19 ; --------------------------------------------------------------------------- seg000:6A19 call getMirageAppVar seg000:6A1C pop bc seg000:6A1D push de seg000:6A1E ld hl, 15h seg000:6A21 add hl, de seg000:6A22 dec (hl) seg000:6A23 inc hl seg000:6A24 xor a seg000:6A25 seg000:6A25 loc_6A25: ; CODE XREF: seg000:6A2Aj seg000:6A25 push bc seg000:6A26 ld b, h seg000:6A27 cpir seg000:6A29 pop bc seg000:6A2A djnz loc_6A25 seg000:6A2C rst 28h seg000:6A2C ; --------------------------------------------------------------------------- seg000:6A2D dw 4C3Fh ; _StrLength seg000:6A2F ; --------------------------------------------------------------------------- seg000:6A2F inc c seg000:6A30 ld e, c seg000:6A31 ld d, b seg000:6A32 push de seg000:6A33 rst 28h seg000:6A33 ; --------------------------------------------------------------------------- seg000:6A34 dw 4357h ; _DelMem seg000:6A36 ; --------------------------------------------------------------------------- seg000:6A36 pop de seg000:6A37 pop hl seg000:6A38 push hl seg000:6A39 rst 28h seg000:6A39 ; --------------------------------------------------------------------------- seg000:6A3A dw 4009h ; _ldHLInd seg000:6A3C ; --------------------------------------------------------------------------- seg000:6A3C or a seg000:6A3D sbc hl, de seg000:6A3F ex de, hl seg000:6A40 pop hl seg000:6A41 ld (hl), e seg000:6A42 inc hl seg000:6A43 ld (hl), d seg000:6A44 rst 28h seg000:6A44 ; --------------------------------------------------------------------------- seg000:6A45 dw 4FD8h ; _Arc_Unarc seg000:6A47 ; --------------------------------------------------------------------------- seg000:6A47 pop af seg000:6A48 ld hl, 0 seg000:6A4B seg000:6A4B loc_6A4B: ; CODE XREF: seg000:6A56j seg000:6A4B ; seg000:6A5Bj seg000:6A4B call getnext seg000:6A4E jp z, recvLinkHandler seg000:6A51 dec hl seg000:6A52 cp (hl) seg000:6A53 inc hl seg000:6A54 jr z, delprogSaveAFHL seg000:6A56 jr nc, loc_6A4B seg000:6A58 dec hl seg000:6A59 dec (hl) seg000:6A5A inc hl seg000:6A5B jr loc_6A4B seg000:6A5D ; --------------------------------------------------------------------------- seg000:6A5D seg000:6A5D delprogSaveAFHL: ; CODE XREF: seg000:6A54j seg000:6A5D push af seg000:6A5E push hl seg000:6A5F call delprog seg000:6A62 pop hl seg000:6A63 pop af seg000:6A64 ret seg000:6A65 seg000:6A65 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6A65 seg000:6A65 seg000:6A65 moveall: ; CODE XREF: seg000:4146j seg000:6A65 ; seg000:649Fp ... seg000:6A65 ld a, (curfold) seg000:6A68 push af seg000:6A69 ld a, b seg000:6A6A ld (curfold), a seg000:6A6D ld hl, 0 seg000:6A70 seg000:6A70 loc_6A70: ; CODE XREF: moveall+1Ej seg000:6A70 push bc seg000:6A71 call getnextgoodprog seg000:6A74 pop bc seg000:6A75 jr z, loc_6A7C seg000:6A77 pop af seg000:6A78 ld (curfold), a seg000:6A7B ret seg000:6A7C ; --------------------------------------------------------------------------- seg000:6A7C seg000:6A7C loc_6A7C: ; CODE XREF: moveall+10j seg000:6A7C dec hl seg000:6A7D ld a, (hl) seg000:6A7E and 80h ; 'Ç' seg000:6A80 or c seg000:6A81 ld (hl), a seg000:6A82 inc hl seg000:6A83 jr loc_6A70 seg000:6A83 ; End of function moveall seg000:6A83 seg000:6A85 ; --------------------------------------------------------------------------- seg000:6A85 ; START OF FUNCTION CHUNK FOR sub_64DF seg000:6A85 seg000:6A85 loc_6A85: ; CODE XREF: sub_64DF+Bj seg000:6A85 dec hl seg000:6A86 rla seg000:6A87 rl (hl) seg000:6A89 rra seg000:6A8A ld (hl), a seg000:6A8B inc hl seg000:6A8C ret seg000:6A8C ; END OF FUNCTION CHUNK FOR sub_64DF seg000:6A8D ; --------------------------------------------------------------------------- seg000:6A8D seg000:6A8D createfolder: ; CODE XREF: seg000:414Fj seg000:6A8D ; seg000:63A4p seg000:6A8D ld a, (numfolds) seg000:6A90 cp 9 seg000:6A92 ret z seg000:6A93 call existfold seg000:6A96 ret z seg000:6A97 rst 28h seg000:6A97 ; --------------------------------------------------------------------------- seg000:6A98 dw 43BAh ; _PushRealO1 seg000:6A9A ; --------------------------------------------------------------------------- seg000:6A9A ld hl, aMirageos ; "\x15MirageOS" seg000:6A9D rst 20h seg000:6A9E rst 28h seg000:6A9E ; --------------------------------------------------------------------------- seg000:6A9F dw 4FD8h ; _Arc_Unarc seg000:6AA1 ; --------------------------------------------------------------------------- seg000:6AA1 call getMirageAppVar seg000:6AA4 push de seg000:6AA5 rst 28h seg000:6AA5 ; --------------------------------------------------------------------------- seg000:6AA6 dw 4390h ; _PopRealO1 seg000:6AA8 ; --------------------------------------------------------------------------- seg000:6AA8 pop de seg000:6AA9 ld hl, 21 seg000:6AAC add hl, de seg000:6AAD inc (hl) seg000:6AAE ld a, (hl) seg000:6AAF inc hl seg000:6AB0 ld (numfolds), a seg000:6AB3 ld b, a seg000:6AB4 seg000:6AB4 loc_6AB4: ; CODE XREF: seg000:6ABBj seg000:6AB4 push bc seg000:6AB5 xor a seg000:6AB6 ld b, 1 seg000:6AB8 cpir seg000:6ABA pop bc seg000:6ABB djnz loc_6AB4 seg000:6ABD push hl seg000:6ABE ld hl, OP1 seg000:6AC1 rst 28h seg000:6AC1 ; --------------------------------------------------------------------------- seg000:6AC2 dw 4C3Fh ; _StrLength seg000:6AC4 ; --------------------------------------------------------------------------- seg000:6AC4 pop hl seg000:6AC5 inc c seg000:6AC6 ld e, c seg000:6AC7 ld d, b seg000:6AC8 ex de, hl seg000:6AC9 push hl seg000:6ACA push de seg000:6ACB rst 28h seg000:6ACB ; --------------------------------------------------------------------------- seg000:6ACC dw 42F7h ; _InsertMem seg000:6ACE ; --------------------------------------------------------------------------- seg000:6ACE pop de seg000:6ACF ld hl, OP1 seg000:6AD2 rst 28h seg000:6AD2 ; --------------------------------------------------------------------------- seg000:6AD3 dw 44E3h ; _strcopy seg000:6AD5 ; --------------------------------------------------------------------------- seg000:6AD5 call getMirageAppVar seg000:6AD8 pop hl seg000:6AD9 ex de, hl seg000:6ADA push hl seg000:6ADB rst 28h seg000:6ADB ; --------------------------------------------------------------------------- seg000:6ADC dw 4009h ; _ldHLInd seg000:6ADE ; --------------------------------------------------------------------------- seg000:6ADE add hl, de seg000:6ADF ex de, hl seg000:6AE0 pop hl seg000:6AE1 ld (hl), e seg000:6AE2 inc hl seg000:6AE3 ld (hl), d seg000:6AE4 rst 28h seg000:6AE4 ; --------------------------------------------------------------------------- seg000:6AE5 dw 4FD8h ; _Arc_Unarc seg000:6AE7 ; --------------------------------------------------------------------------- seg000:6AE7 xor a seg000:6AE8 inc a seg000:6AE9 ret seg000:6AEA ; --------------------------------------------------------------------------- seg000:6AEA ; START OF FUNCTION CHUNK FOR options_screen seg000:6AEA seg000:6AEA appvarnotfound: ; CODE XREF: options_screen-3F6j seg000:6AEA call DispSingleAboutScreen seg000:6AED call createAppVar seg000:6AF0 call GetCSCWait seg000:6AF3 jp startloop seg000:6AF3 ; END OF FUNCTION CHUNK FOR options_screen seg000:6AF6 seg000:6AF6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6AF6 seg000:6AF6 seg000:6AF6 createAppVar: ; CODE XREF: options_screen-C8p seg000:6AF6 ; seg000:6EA5p seg000:6AF6 ld hl, aMirageos ; "\x15MirageOS" seg000:6AF9 rst 20h seg000:6AFA ld hl, 25 seg000:6AFD rst 28h seg000:6AFD ; --------------------------------------------------------------------------- seg000:6AFE dw 4E6Ah ; _CreateAppVar seg000:6B00 ; --------------------------------------------------------------------------- seg000:6B00 inc de seg000:6B01 inc de seg000:6B02 push de seg000:6B03 ld hl, 6B9Ch seg000:6B06 ld bc, 25 seg000:6B09 ldir seg000:6B0B pop hl seg000:6B0C ld de, 4 seg000:6B0F add hl, de seg000:6B10 ld a, 38h ; '8' seg000:6B12 bit lwrCaseActive, (iy+appLwrCaseFlag) seg000:6B16 jr z, createAV_noLowercase seg000:6B18 set 6, a seg000:6B1A seg000:6B1A createAV_noLowercase: ; CODE XREF: createAppVar+20j seg000:6B1A ld (hl), a seg000:6B1B call getMirageAppVar seg000:6B1E rst 28h seg000:6B1E ; --------------------------------------------------------------------------- seg000:6B1F dw 4FD8h ; _Arc_Unarc seg000:6B21 ; --------------------------------------------------------------------------- seg000:6B21 call loadAVSettings seg000:6B24 xor a seg000:6B25 ld (uitype), a seg000:6B25 ; End of function createAppVar seg000:6B25 seg000:6B28 seg000:6B28 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6B28 seg000:6B28 seg000:6B28 loadAVData: ; CODE XREF: backupAVData:loadAppVarDataj seg000:6B28 ; options_screen-3A8p seg000:6B28 call getMirageAppVar seg000:6B2B ld a, b seg000:6B2C or a seg000:6B2D push af seg000:6B2E jr z, loadAVData_InRAM seg000:6B30 rst 28h seg000:6B30 ; --------------------------------------------------------------------------- seg000:6B31 dw 4FD8h ; _Arc_Unarc seg000:6B33 ; --------------------------------------------------------------------------- seg000:6B33 call getMirageAppVar seg000:6B36 seg000:6B36 loadAVData_InRAM: ; CODE XREF: loadAVData+6j seg000:6B36 inc de seg000:6B37 inc de seg000:6B38 ld hl, avdata seg000:6B3B ld bc, 20 seg000:6B3E ldir seg000:6B40 pop af seg000:6B41 ret z seg000:6B42 rst 28h seg000:6B42 ; --------------------------------------------------------------------------- seg000:6B43 dw 4FD8h ; _Arc_Unarc seg000:6B45 ; --------------------------------------------------------------------------- seg000:6B45 ret seg000:6B45 ; End of function loadAVData seg000:6B45 seg000:6B46 seg000:6B46 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6B46 seg000:6B46 seg000:6B46 getMirageAppVar: ; CODE XREF: options_screen-3F9p seg000:6B46 ; SaveTheWhalesp ... seg000:6B46 ld hl, aMirageos ; "\x15MirageOS" seg000:6B49 rst 20h seg000:6B4A rst 28h seg000:6B4A ; --------------------------------------------------------------------------- seg000:6B4B dw 42F1h ; _ChkFindSym seg000:6B4D ; --------------------------------------------------------------------------- seg000:6B4D ret seg000:6B4D ; End of function getMirageAppVar seg000:6B4D seg000:6B4E seg000:6B4E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6B4E seg000:6B4E seg000:6B4E loadAVSettings: ; CODE XREF: options_screen:appvararchivedp seg000:6B4E ; createAppVar+2Bp seg000:6B4E call getMirageAppVar seg000:6B51 call copy100ToMem seg000:6B54 ld hl, 98B8h seg000:6B57 ld de, 9 seg000:6B5A add hl, de seg000:6B5B ld e, (hl) seg000:6B5C add hl, de seg000:6B5D inc hl seg000:6B5E inc hl seg000:6B5F inc hl seg000:6B60 ld de, avdata seg000:6B63 ld bc, 20 seg000:6B66 ldir seg000:6B68 res lwrCaseActive, (iy+appLwrCaseFlag) seg000:6B6C ld hl, MiscOpts seg000:6B6F bit 6, (hl) seg000:6B71 jr z, getAV_NoLowercase seg000:6B73 set lwrCaseActive, (iy+appLwrCaseFlag) seg000:6B77 seg000:6B77 getAV_NoLowercase: ; CODE XREF: loadAVSettings+23j seg000:6B77 ret seg000:6B77 ; End of function loadAVSettings seg000:6B77 seg000:6B78 seg000:6B78 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6B78 seg000:6B78 seg000:6B78 clearOutProgsT2: ; CODE XREF: options_screen-3E9p seg000:6B78 ld hl, 0 seg000:6B7B ld a, (numfolds) seg000:6B7E ld b, a seg000:6B7F inc b seg000:6B80 seg000:6B80 clearoutProgsT2_loop: ; CODE XREF: clearOutProgsT2+18j seg000:6B80 call getnext seg000:6B83 ret z seg000:6B84 dec hl seg000:6B85 ld a, (hl) seg000:6B86 and 7Fh ; '' seg000:6B88 cp b seg000:6B89 jr c, notSpecial seg000:6B8B ld a, (hl) seg000:6B8C and 80h ; 'Ç' seg000:6B8E ld (hl), a seg000:6B8F seg000:6B8F notSpecial: ; CODE XREF: clearOutProgsT2+11j seg000:6B8F inc hl seg000:6B90 jr clearoutProgsT2_loop seg000:6B90 ; End of function clearOutProgsT2 seg000:6B90 seg000:6B90 ; --------------------------------------------------------------------------- seg000:6B92 aMirageos: .ascii '\x15MirageOS',0 ; DATA XREF: seg000:6A9Ao seg000:6B92 ; createAppVaro ... seg000:6B9C defaultAVData: db 50h ; P seg000:6B9D db 40h ; @ seg000:6B9E db 0 seg000:6B9F db 50h ; P seg000:6BA0 db 0 seg000:6BA1 db 0 seg000:6BA2 db 0 seg000:6BA3 db 0 seg000:6BA4 db 90h ; É seg000:6BA5 db 0 seg000:6BA6 db 0 seg000:6BA7 db 0 seg000:6BA8 db 0 seg000:6BA9 db 0 seg000:6BAA db 0 seg000:6BAB db 0 seg000:6BAC db 0 seg000:6BAD db 0 seg000:6BAE db 0 seg000:6BAF db 0 seg000:6BB0 db 4Dh ; M seg000:6BB1 db 41h ; A seg000:6BB2 db 49h ; I seg000:6BB3 db 4Eh ; N seg000:6BB4 db 0 seg000:6BB5 seg000:6BB5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6BB5 seg000:6BB5 seg000:6BB5 options_screen: ; CODE XREF: seg000:4158j seg000:6BB5 ; defaultAppStart+38Cp seg000:6BB5 seg000:6BB5 ; FUNCTION CHUNK AT seg000:679B SIZE 00000081 BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:6AEA SIZE 0000000C BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:6C7B SIZE 00000032 BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:6D1E SIZE 000000B8 BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:6DDE SIZE 0000001B BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:6E33 SIZE 00000002 BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:6E39 SIZE 00000014 BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:7557 SIZE 0000002D BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:7589 SIZE 0000002B BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:75C4 SIZE 00000077 BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:77E5 SIZE 0000001F BYTES seg000:6BB5 ; FUNCTION CHUNK AT seg000:7912 SIZE 00000096 BYTES seg000:6BB5 seg000:6BB5 call myDelMem seg000:6BB8 ld hl, asm_Flag2 seg000:6BBB res 4, (hl) seg000:6BBD res 5, (hl) seg000:6BBF ld hl, avdata seg000:6BC2 ld de, 995Eh seg000:6BC5 ld bc, 20 seg000:6BC8 ldir seg000:6BCA ld a, 1 seg000:6BCC ld (byte_9942), a seg000:6BCF seg000:6BCF optmisc_clear: ; CODE XREF: seg000:6E10j seg000:6BCF ld a, (byte_9942) seg000:6BD2 dec a seg000:6BD3 ld d, 0 seg000:6BD5 ld e, a seg000:6BD6 ld hl, YetAnotherTable seg000:6BD9 add hl, de seg000:6BDA ld a, (hl) seg000:6BDB ld e, a seg000:6BDC ld d, 11h seg000:6BDE ld (word_9948), de seg000:6BE2 call sub_6CF3 seg000:6BE5 ld hl, 0D0Bh seg000:6BE8 ld de, 5C0Bh seg000:6BEB call fastlined seg000:6BEE ld hl, 4EDFh seg000:6BF1 ld de, 40Eh seg000:6BF4 call VPutSDE seg000:6BF7 ld d, 10h seg000:6BF9 call VPutSDE_Eequals12h seg000:6BFC ld d, 19h seg000:6BFE call VPutSDE_Eequals12h seg000:6C01 ld d, 22h ; '"' seg000:6C03 call VPutSDE_Eequals12h seg000:6C06 ld d, 2Bh ; '+' seg000:6C08 call VPutSDE_Eequals12h seg000:6C0B ld d, 34h ; '4' seg000:6C0D call VPutSDE_Eequals12h seg000:6C10 seg000:6C10 loc_6C10: ; CODE XREF: options_screen+DEj seg000:6C10 bit 4, (iy+asm_Flag2) seg000:6C14 jr nz, loc_6C1E seg000:6C16 ld a, (ProtOpts) seg000:6C19 bit 5, a seg000:6C1B call nz, sub_7147 seg000:6C1E seg000:6C1E loc_6C1E: ; CODE XREF: options_screen+5Fj seg000:6C1E call sub_6526 seg000:6C21 call ifastcopy seg000:6C24 seg000:6C24 options_keyloop: ; CODE XREF: options_screen+91j seg000:6C24 ; options_screen+CBj ... seg000:6C24 rst 28h seg000:6C24 ; --------------------------------------------------------------------------- seg000:6C25 dw 4018h ; _GetCSC seg000:6C27 ; --------------------------------------------------------------------------- seg000:6C27 cp 1 ; skDown seg000:6C29 jr z, options_down seg000:6C2B cp 4 ; skUp seg000:6C2D jr z, options_up seg000:6C2F cp 30h ; '0' ; skAlpha seg000:6C31 jr z, options_ret seg000:6C33 cp 0Fh ; skClear seg000:6C35 jr z, options_ret seg000:6C37 cp 36h ; '6' ; sk2nd seg000:6C39 jr z, options_2nd seg000:6C3B cp 9 ; skEnter seg000:6C3D jr z, options_2nd seg000:6C3F cp 37h ; '7' ; skMode seg000:6C41 jr z, options_mode seg000:6C43 call general_key_routine seg000:6C46 jr options_keyloop seg000:6C48 ; --------------------------------------------------------------------------- seg000:6C48 seg000:6C48 options_ret: ; CODE XREF: options_screen+7Cj seg000:6C48 ; options_screen+80j ... seg000:6C48 call myInsertMem seg000:6C4B call backupAVData seg000:6C4E bit 5, (iy+asm_Flag2) seg000:6C52 jp nz, loc_6812 seg000:6C55 ret seg000:6C56 ; --------------------------------------------------------------------------- seg000:6C56 seg000:6C56 options_mode: ; CODE XREF: options_screen+8Cj seg000:6C56 ; seg000:6E15j seg000:6C56 call myInsertMem seg000:6C59 call backupAVData seg000:6C5C jp quittoTIOS seg000:6C5F ; --------------------------------------------------------------------------- seg000:6C5F seg000:6C5F options_2nd: ; CODE XREF: options_screen+84j seg000:6C5F ; options_screen+88j ... seg000:6C5F ld a, 1 seg000:6C61 ld (byte_9943), a seg000:6C64 ld a, (byte_9942) seg000:6C67 dec a seg000:6C68 jp z, loc_6D1E seg000:6C6B dec a seg000:6C6C jp z, loc_6D29 seg000:6C6F dec a seg000:6C70 jp z, loc_6D81 seg000:6C73 dec a seg000:6C74 jp z, loc_6D8C seg000:6C77 dec a seg000:6C78 jp MiscOptions_Menu seg000:6C78 ; End of function options_screen seg000:6C78 seg000:6C7B ; --------------------------------------------------------------------------- seg000:6C7B ; START OF FUNCTION CHUNK FOR options_screen seg000:6C7B seg000:6C7B options_down: ; CODE XREF: options_screen+74j seg000:6C7B ld a, (byte_9942) seg000:6C7E cp 5 seg000:6C80 jr z, options_keyloop seg000:6C82 inc a seg000:6C83 ld (byte_9942), a seg000:6C86 call sub_6526 seg000:6C89 ld de, (word_9948) seg000:6C8D ld a, 9 seg000:6C8F add a, e seg000:6C90 seg000:6C90 loc_6C90: ; CODE XREF: options_screen+F6j seg000:6C90 ld (word_9948), a seg000:6C93 jp loc_6C10 seg000:6C96 ; --------------------------------------------------------------------------- seg000:6C96 seg000:6C96 options_up: ; CODE XREF: options_screen+78j seg000:6C96 ld a, (byte_9942) seg000:6C99 cp 1 seg000:6C9B jr z, options_keyloop seg000:6C9D dec a seg000:6C9E ld (byte_9942), a seg000:6CA1 call sub_6526 seg000:6CA4 ld de, (word_9948) seg000:6CA8 ld a, e seg000:6CA9 sub 9 seg000:6CAB jr loc_6C90 seg000:6CAB ; END OF FUNCTION CHUNK FOR options_screen seg000:6CAB ; --------------------------------------------------------------------------- seg000:6CAD YetAnotherTable:db 10h ; DATA XREF: options_screen+21o seg000:6CAE db 19h seg000:6CAF db 22h ; " seg000:6CB0 db 2Bh ; + seg000:6CB1 db 34h ; 4 seg000:6CB2 seg000:6CB2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6CB2 seg000:6CB2 seg000:6CB2 VPutSDE_Eequals12h: ; CODE XREF: options_screen+44p seg000:6CB2 ; options_screen+49p ... seg000:6CB2 ld e, 12h seg000:6CB4 jp VPutSDE seg000:6CB4 ; End of function VPutSDE_Eequals12h seg000:6CB4 seg000:6CB7 seg000:6CB7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6CB7 seg000:6CB7 seg000:6CB7 dispString: ; CODE XREF: options_screen+16Cp seg000:6CB7 ; options_screen+17Bp ... seg000:6CB7 push hl seg000:6CB8 call sub_6CF3 seg000:6CBB pop hl seg000:6CBC seg000:6CBC loc_6CBC: ; CODE XREF: dispString+39j seg000:6CBC ld a, (hl) seg000:6CBD bit 7, a seg000:6CBF jr nz, loc_6CDB seg000:6CC1 bit 6, a seg000:6CC3 jr z, loc_6CCA seg000:6CC5 ld a, (hl) seg000:6CC6 res 6, a seg000:6CC8 add a, 3 seg000:6CCA seg000:6CCA loc_6CCA: ; CODE XREF: dispString+Cj seg000:6CCA push hl seg000:6CCB ld l, a seg000:6CCC ld a, 55h ; 'U' seg000:6CCE ld ix, 51FAh seg000:6CD2 ld b, 7 seg000:6CD4 call isprite seg000:6CD7 pop hl seg000:6CD8 ld a, (hl) seg000:6CD9 jr loc_6CE3 seg000:6CDB ; --------------------------------------------------------------------------- seg000:6CDB seg000:6CDB loc_6CDB: ; CODE XREF: dispString+8j seg000:6CDB bit 6, a seg000:6CDD jr z, loc_6CE3 seg000:6CDF ld e, 0Eh seg000:6CE1 jr loc_6CE5 seg000:6CE3 ; --------------------------------------------------------------------------- seg000:6CE3 seg000:6CE3 loc_6CE3: ; CODE XREF: dispString+22j seg000:6CE3 ; dispString+26j seg000:6CE3 ld e, 14h seg000:6CE5 seg000:6CE5 loc_6CE5: ; CODE XREF: dispString+2Aj seg000:6CE5 res 7, a seg000:6CE7 res 6, a seg000:6CE9 ld d, a seg000:6CEA inc hl seg000:6CEB call VPutSDE seg000:6CEE ld a, (hl) seg000:6CEF or a seg000:6CF0 jr nz, loc_6CBC seg000:6CF2 ret seg000:6CF2 ; End of function dispString seg000:6CF2 seg000:6CF3 seg000:6CF3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6CF3 seg000:6CF3 seg000:6CF3 sub_6CF3: ; CODE XREF: options_screen+2Dp seg000:6CF3 ; dispString+1p ... seg000:6CF3 rst 28h seg000:6CF3 ; --------------------------------------------------------------------------- seg000:6CF4 dw 4BD0h ; _GrBufClr seg000:6CF6 ; --------------------------------------------------------------------------- seg000:6CF6 ld ix, 521Dh seg000:6CFA ld hl, 9340h seg000:6CFD ld de, 0Ch seg000:6D00 ld b, 40h ; '@' seg000:6D02 seg000:6D02 loc_6D02: ; CODE XREF: sub_6CF3+16j seg000:6D02 ld a, (ix+0) seg000:6D05 ld (hl), a seg000:6D06 add hl, de seg000:6D07 inc ix seg000:6D09 djnz loc_6D02 seg000:6D0B ld hl, 800h seg000:6D0E ld e, 3Fh ; '?' seg000:6D10 call sub_450E seg000:6D13 ld hl, 0A00h seg000:6D16 ld de, 5F3Fh seg000:6D19 ld a, 1 seg000:6D1B jp fastrectangle seg000:6D1B ; End of function sub_6CF3 seg000:6D1B seg000:6D1E ; --------------------------------------------------------------------------- seg000:6D1E ; START OF FUNCTION CHUNK FOR options_screen seg000:6D1E seg000:6D1E loc_6D1E: ; CODE XREF: options_screen+B3j seg000:6D1E ; seg000:6EAFj seg000:6D1E ld hl, 4F2Ch seg000:6D21 call dispString seg000:6D24 ld hl, 50D3h seg000:6D27 jr loc_6DA0 seg000:6D29 ; --------------------------------------------------------------------------- seg000:6D29 seg000:6D29 loc_6D29: ; CODE XREF: options_screen+B7j seg000:6D29 res 6, (iy+22h) seg000:6D2D ld hl, 4F75h seg000:6D30 call dispString seg000:6D33 ld hl, 112Bh seg000:6D36 ld de, 5833h seg000:6D39 ld a, 1 seg000:6D3B call fastrectangle seg000:6D3E ld de, 3415h seg000:6D41 ld hl, 5128h seg000:6D44 call VPutSDE seg000:6D47 ld hl, 0 seg000:6D4A call getinterface seg000:6D4D jr z, loc_6D61 seg000:6D4F ld a, (uitype) seg000:6D52 or a seg000:6D53 jr z, loc_6D6A seg000:6D55 call myGetInterface seg000:6D58 seg000:6D58 loc_6D58: ; CODE XREF: options_screen+1BBj seg000:6D58 ld (word_9944), hl seg000:6D5B ld (word_9946), de seg000:6D5F jr loc_6D79 seg000:6D61 ; --------------------------------------------------------------------------- seg000:6D61 seg000:6D61 loc_6D61: ; CODE XREF: options_screen+198j seg000:6D61 set 6, (iy+22h) seg000:6D65 call sub_6FCC seg000:6D68 jr loc_6D79 seg000:6D6A ; --------------------------------------------------------------------------- seg000:6D6A seg000:6D6A loc_6D6A: ; CODE XREF: options_screen+19Ej seg000:6D6A ld a, (saveuitype) seg000:6D6D call myGetInterface seg000:6D70 jr nz, loc_6D58 seg000:6D72 xor a seg000:6D73 ld (saveuitype), a seg000:6D76 call sub_6FD4 seg000:6D79 seg000:6D79 loc_6D79: ; CODE XREF: options_screen+1AAj seg000:6D79 ; options_screen+1B3j seg000:6D79 call sub_6FBE seg000:6D7C ld hl, 50E5h seg000:6D7F jr loc_6DA0 seg000:6D81 ; --------------------------------------------------------------------------- seg000:6D81 seg000:6D81 loc_6D81: ; CODE XREF: options_screen+BBj seg000:6D81 ld hl, 4FB0h seg000:6D84 call dispString seg000:6D87 ld hl, 50F1h seg000:6D8A jr loc_6DA0 seg000:6D8C ; --------------------------------------------------------------------------- seg000:6D8C seg000:6D8C loc_6D8C: ; CODE XREF: options_screen+BFj seg000:6D8C ld hl, 4FFCh seg000:6D8F call dispString seg000:6D92 ld hl, 5103h seg000:6D95 jr loc_6DA0 seg000:6D97 ; --------------------------------------------------------------------------- seg000:6D97 seg000:6D97 MiscOptions_Menu: ; CODE XREF: options_screen+C3j seg000:6D97 ld hl, 5069h ; "Miscellaneous Settings" text seg000:6D9A call dispString seg000:6D9D ld hl, 5112h seg000:6DA0 seg000:6DA0 loc_6DA0: ; CODE XREF: options_screen+172j seg000:6DA0 ; options_screen+1CAj ... seg000:6DA0 push hl seg000:6DA1 pop ix seg000:6DA3 inc hl seg000:6DA4 inc hl seg000:6DA5 ld c, 1 seg000:6DA7 seg000:6DA7 loc_6DA7: ; CODE XREF: options_screen+20Fj seg000:6DA7 ld b, c seg000:6DA8 ld a, (hl) seg000:6DA9 bit 7, a seg000:6DAB jr nz, loc_6DBE seg000:6DAD push hl seg000:6DAE ld l, (ix+0) seg000:6DB1 ld h, (ix+1) seg000:6DB4 ld a, (hl) seg000:6DB5 seg000:6DB5 loc_6DB5: ; CODE XREF: options_screen+202j seg000:6DB5 sla a seg000:6DB7 djnz loc_6DB5 seg000:6DB9 pop hl seg000:6DBA bit 7, a seg000:6DBC jr nz, loc_6DC8 seg000:6DBE seg000:6DBE loc_6DBE: ; CODE XREF: options_screen+1F6j seg000:6DBE ; options_screen+21Fj seg000:6DBE inc c seg000:6DBF inc hl seg000:6DC0 inc hl seg000:6DC1 inc hl seg000:6DC2 ld a, (hl) seg000:6DC3 or a seg000:6DC4 jr nz, loc_6DA7 seg000:6DC6 jr loc_6DDE seg000:6DC8 ; --------------------------------------------------------------------------- seg000:6DC8 seg000:6DC8 loc_6DC8: ; CODE XREF: options_screen+207j seg000:6DC8 push bc seg000:6DC9 push hl seg000:6DCA push ix seg000:6DCC ld a, (hl) seg000:6DCD call dispCross seg000:6DD0 pop ix seg000:6DD2 pop hl seg000:6DD3 pop bc seg000:6DD4 jr loc_6DBE seg000:6DD4 ; END OF FUNCTION CHUNK FOR options_screen seg000:6DD6 seg000:6DD6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6DD6 seg000:6DD6 seg000:6DD6 loadMainOptsDataTable: ; CODE XREF: options_screen+233p seg000:6DD6 ld hl, mainOptsDataTable seg000:6DD9 res 0, (iy+asm_Flag2) seg000:6DDD ret seg000:6DDD ; End of function loadMainOptsDataTable seg000:6DDD seg000:6DDE ; --------------------------------------------------------------------------- seg000:6DDE ; START OF FUNCTION CHUNK FOR options_screen seg000:6DDE seg000:6DDE loc_6DDE: ; CODE XREF: options_screen+211j seg000:6DDE push ix seg000:6DE0 pop hl seg000:6DE1 ld (word_994C), hl seg000:6DE4 bit 0, (iy+22h) seg000:6DE8 call nz, loadMainOptsDataTable seg000:6DEB inc hl seg000:6DEC inc hl seg000:6DED ld (word_994A), hl seg000:6DF0 seg000:6DF0 loc_6DF0: ; CODE XREF: options_screen:loc_6E33j seg000:6DF0 ; sub_707C+51j seg000:6DF0 call dispArrow seg000:6DF3 seg000:6DF3 loc_6DF3: ; CODE XREF: seg000:loc_6EF9j seg000:6DF3 ; seg000:loc_6FB5j seg000:6DF3 call ifastcopy seg000:6DF6 seg000:6DF6 optmisc_keyloop: ; CODE XREF: seg000:6E1Bj seg000:6DF6 ; seg000:6E25j ... seg000:6DF6 rst 28h seg000:6DF6 ; --------------------------------------------------------------------------- seg000:6DF7 dw 4018h ; _GetCSC seg000:6DF7 ; END OF FUNCTION CHUNK FOR options_screen seg000:6DF9 ; --------------------------------------------------------------------------- seg000:6DF9 cp 4 seg000:6DFB jr z, optmisc_up seg000:6DFD cp 1 seg000:6DFF jr z, optmisc_down seg000:6E01 cp 30h ; '0' seg000:6E03 jp z, options_ret seg000:6E06 cp 36h ; '6' seg000:6E08 jr z, optmisc_2nd seg000:6E0A cp 9 seg000:6E0C jr z, optmisc_2nd seg000:6E0E cp 0Fh seg000:6E10 jp z, optmisc_clear seg000:6E13 cp 37h ; '7' seg000:6E15 jp z, options_mode seg000:6E18 call general_key_routine seg000:6E1B jr optmisc_keyloop seg000:6E1D ; --------------------------------------------------------------------------- seg000:6E1D seg000:6E1D optmisc_up: ; CODE XREF: seg000:6DFBj seg000:6E1D ld hl, (word_994A) seg000:6E20 dec hl seg000:6E21 dec hl seg000:6E22 dec hl seg000:6E23 ld a, (hl) seg000:6E24 or a seg000:6E25 jr z, optmisc_keyloop seg000:6E27 push hl seg000:6E28 call dispArrow seg000:6E2B pop hl seg000:6E2C ld (word_994A), hl seg000:6E2F ld hl, 9943h seg000:6E32 dec (hl) seg000:6E33 ; START OF FUNCTION CHUNK FOR options_screen seg000:6E33 seg000:6E33 loc_6E33: ; CODE XREF: options_screen+296j seg000:6E33 jr loc_6DF0 seg000:6E33 ; END OF FUNCTION CHUNK FOR options_screen seg000:6E35 ; --------------------------------------------------------------------------- seg000:6E35 seg000:6E35 optmisc_down: ; CODE XREF: seg000:6DFFj seg000:6E35 ld hl, (word_994A) seg000:6E38 inc hl seg000:6E39 ; START OF FUNCTION CHUNK FOR options_screen seg000:6E39 inc hl seg000:6E3A inc hl seg000:6E3B ld a, (hl) seg000:6E3C or a seg000:6E3D jr z, optmisc_keyloop seg000:6E3F push hl seg000:6E40 call dispArrow seg000:6E43 pop hl seg000:6E44 ld (word_994A), hl seg000:6E47 ld hl, 9943h seg000:6E4A inc (hl) seg000:6E4B jr loc_6E33 seg000:6E4B ; END OF FUNCTION CHUNK FOR options_screen seg000:6E4D ; --------------------------------------------------------------------------- seg000:6E4D seg000:6E4D optmisc_2nd: ; CODE XREF: seg000:6E08j seg000:6E4D ; seg000:6E0Cj seg000:6E4D ld hl, (word_994A) seg000:6E50 ld a, (hl) seg000:6E51 bit 7, a seg000:6E53 jr nz, loc_6E72 seg000:6E55 call dispCross seg000:6E58 ld c, 80h ; 'Ç' seg000:6E5A ld a, (byte_9943) seg000:6E5D ld b, a seg000:6E5E seg000:6E5E loc_6E5E: ; CODE XREF: seg000:6E60j seg000:6E5E srl c seg000:6E60 djnz loc_6E5E seg000:6E62 ld ix, (word_994C) seg000:6E66 ld l, (ix+0) seg000:6E69 ld h, (ix+1) seg000:6E6C ld a, (hl) seg000:6E6D xor c seg000:6E6E ld (hl), a seg000:6E6F ld hl, (word_994A) seg000:6E72 seg000:6E72 loc_6E72: ; CODE XREF: seg000:6E53j seg000:6E72 push hl seg000:6E73 pop ix seg000:6E75 ld l, (ix+1) seg000:6E78 ld h, (ix+2) seg000:6E7B jp (hl) seg000:6E7C seg000:6E7C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6E7C seg000:6E7C seg000:6E7C dispArrow: ; CODE XREF: options_screen:loc_6DF0p seg000:6E7C ; seg000:6E28p ... seg000:6E7C ld hl, (word_994A) seg000:6E7F ld l, (hl) seg000:6E80 res 7, l seg000:6E82 ld a, 0Eh seg000:6E84 ld b, 5 seg000:6E86 ld ix, 5201h ; pointer (Lconvert) sprite seg000:6E8A jr isprite_sub seg000:6E8A ; End of function dispArrow seg000:6E8A seg000:6E8C seg000:6E8C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6E8C seg000:6E8C seg000:6E8C dispCross: ; CODE XREF: options_screen+218p seg000:6E8C ; seg000:6E55p seg000:6E8C ld l, a seg000:6E8D inc l seg000:6E8E ld a, 57h ; 'W' seg000:6E90 ld b, 3 seg000:6E92 ld ix, Xsprite ; "á@áeät¦" seg000:6E96 seg000:6E96 isprite_sub: ; CODE XREF: dispArrow+Ej seg000:6E96 jp isprite seg000:6E96 ; End of function dispCross seg000:6E96 seg000:6E99 ; --------------------------------------------------------------------------- seg000:6E99 seg000:6E99 miscopts_label1: seg000:6E99 call dispArrow seg000:6E9C call ifastcopy seg000:6E9F call getMirageAppVar seg000:6EA2 rst 28h seg000:6EA2 ; --------------------------------------------------------------------------- seg000:6EA3 dw 4FC6h ; _DelVarArc seg000:6EA5 ; --------------------------------------------------------------------------- seg000:6EA5 call createAppVar seg000:6EA8 ld hl, asm_Flag2 seg000:6EAB set 5, (hl) seg000:6EAD set 0, (hl) seg000:6EAF jp loc_6D1E seg000:6EB2 ; --------------------------------------------------------------------------- seg000:6EB2 set 5, (iy+asm_Flag2) seg000:6EB6 jr loc_6EF9 seg000:6EB8 seg000:6EB8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6EB8 seg000:6EB8 seg000:6EB8 sub_6EB8: ; CODE XREF: seg000:6ED7p seg000:6EB8 ; seg000:6EE1p ... seg000:6EB8 ld de, 0Ch seg000:6EBB ld b, 3 seg000:6EBD seg000:6EBD loc_6EBD: ; CODE XREF: sub_6EB8+11j seg000:6EBD ld a, (hl) seg000:6EBE ld (ix+0), a seg000:6EC1 inc hl seg000:6EC2 ld a, (hl) seg000:6EC3 ld (ix+1), a seg000:6EC6 inc hl seg000:6EC7 add ix, de seg000:6EC9 djnz loc_6EBD seg000:6ECB ret seg000:6ECB ; End of function sub_6EB8 seg000:6ECB seg000:6ECC ; --------------------------------------------------------------------------- seg000:6ECC seg000:6ECC miscopts_label3: seg000:6ECC set 5, (iy+asm_Flag2) seg000:6ED0 ld hl, 525Dh seg000:6ED3 ld ix, 940Ah seg000:6ED7 call sub_6EB8 seg000:6EDA ld hl, 5263h seg000:6EDD ld ix, 9476h seg000:6EE1 call sub_6EB8 seg000:6EE4 ld hl, 9687h seg000:6EE7 set 6, (hl) seg000:6EE9 res 5, (hl) seg000:6EEB xor a seg000:6EEC ld (uitype), a seg000:6EEF jr loc_6EF9 seg000:6EF1 ; --------------------------------------------------------------------------- seg000:6EF1 ld a, (iy+appLwrCaseFlag) seg000:6EF4 xor 8 seg000:6EF6 ld (iy+appLwrCaseFlag), a seg000:6EF9 seg000:6EF9 loc_6EF9: ; CODE XREF: seg000:6EB6j seg000:6EF9 ; seg000:6EEFj ... seg000:6EF9 jp loc_6DF3 seg000:6EFC ; --------------------------------------------------------------------------- seg000:6EFC set 5, (iy+asm_Flag2) seg000:6F00 ld hl, 5263h seg000:6F03 ld ix, 940Ah seg000:6F07 call sub_6EB8 seg000:6F0A ld hl, 525Dh seg000:6F0D ld ix, 9476h seg000:6F11 call sub_6EB8 seg000:6F14 ld hl, GUIsOpts seg000:6F17 res 6, (hl) seg000:6F19 set 5, (hl) seg000:6F1B ld a, (saveuitype) seg000:6F1E ld (uitype), a seg000:6F21 jr loc_6EF9 seg000:6F23 ; --------------------------------------------------------------------------- seg000:6F23 call dispArrow seg000:6F26 seg000:6F26 loc_6F26: ; CODE XREF: seg000:6F67j seg000:6F26 call sub_6FBE seg000:6F29 call specialfilledrectangle seg000:6F2C call ifastcopy seg000:6F2F call specialfilledrectangle seg000:6F32 im 1 seg000:6F34 seg000:6F34 loc_6F34: ; CODE XREF: seg000:6F44j seg000:6F34 ; seg000:6F4Fj ... seg000:6F34 rst 28h seg000:6F34 ; --------------------------------------------------------------------------- seg000:6F35 dw 4018h ; _GetCSC seg000:6F37 ; --------------------------------------------------------------------------- seg000:6F37 cp 36h ; '6' seg000:6F39 jr z, loc_6F73 seg000:6F3B cp 9 seg000:6F3D jr z, loc_6F73 seg000:6F3F ld b, a seg000:6F40 bit 6, (iy+asm_Flag2) seg000:6F44 jr nz, loc_6F34 seg000:6F46 ld a, b seg000:6F47 cp 2 seg000:6F49 jr z, loc_6F51 seg000:6F4B cp 3 seg000:6F4D jr z, loc_6F69 seg000:6F4F jr loc_6F34 seg000:6F51 ; --------------------------------------------------------------------------- seg000:6F51 seg000:6F51 loc_6F51: ; CODE XREF: seg000:6F49j seg000:6F51 ld hl, (word_9944) seg000:6F54 call sub_683F seg000:6F57 jr z, loc_6F34 seg000:6F59 seg000:6F59 loc_6F59: ; CODE XREF: seg000:6F71j seg000:6F59 ld (saveuitype), a seg000:6F5C ld (word_9944), hl seg000:6F5F ld (word_9946), de seg000:6F63 xor a seg000:6F64 call loc_6535 seg000:6F67 jr loc_6F26 seg000:6F69 ; --------------------------------------------------------------------------- seg000:6F69 seg000:6F69 loc_6F69: ; CODE XREF: seg000:6F4Dj seg000:6F69 ld hl, (word_9944) seg000:6F6C call getinterface seg000:6F6F jr z, loc_6F34 seg000:6F71 jr loc_6F59 seg000:6F73 ; --------------------------------------------------------------------------- seg000:6F73 seg000:6F73 loc_6F73: ; CODE XREF: seg000:6F39j seg000:6F73 ; seg000:6F3Dj seg000:6F73 im 2 seg000:6F75 call dispArrow seg000:6F78 ld a, (GUIsOpts) seg000:6F7B ld b, a seg000:6F7C ld a, (byte_995F) seg000:6F7F cp b seg000:6F80 jr z, loc_6F99 seg000:6F82 set 5, (iy+asm_Flag2) seg000:6F86 xor a seg000:6F87 ld (uitype), a seg000:6F8A ld hl, GUIsOpts seg000:6F8D bit 6, (hl) seg000:6F8F jr nz, loc_6FB5 seg000:6F91 ld a, (saveuitype) seg000:6F94 ld (uitype), a seg000:6F97 jr loc_6FB5 seg000:6F99 ; --------------------------------------------------------------------------- seg000:6F99 seg000:6F99 loc_6F99: ; CODE XREF: seg000:6F80j seg000:6F99 ld hl, GUIsOpts seg000:6F9C bit 6, (hl) seg000:6F9E jr nz, loc_6FB5 seg000:6FA0 ld a, (byte_9963) seg000:6FA3 ld b, a seg000:6FA4 ld a, (saveuitype) seg000:6FA7 cp b seg000:6FA8 jr z, loc_6FB5 seg000:6FAA ld a, (saveuitype) seg000:6FAD ld (uitype), a seg000:6FB0 ld hl, asm_Flag2 seg000:6FB3 set 5, (hl) seg000:6FB5 seg000:6FB5 loc_6FB5: ; CODE XREF: seg000:6F8Fj seg000:6FB5 ; seg000:6F97j ... seg000:6FB5 jp loc_6DF3 seg000:6FB8 ; --------------------------------------------------------------------------- seg000:6FB8 set 4, (iy+asm_Flag2) seg000:6FBC jr loc_6FB5 seg000:6FBE seg000:6FBE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6FBE seg000:6FBE seg000:6FBE sub_6FBE: ; CODE XREF: options_screen:loc_6D79p seg000:6FBE ; seg000:loc_6F26p seg000:6FBE ld de, (word_9946) seg000:6FC2 ld a, (de) seg000:6FC3 inc de seg000:6FC4 push de seg000:6FC5 pop hl seg000:6FC6 ld e, a seg000:6FC7 ld d, 2Ch ; ',' seg000:6FC9 jp VPutSDE seg000:6FC9 ; End of function sub_6FBE seg000:6FC9 seg000:6FCC seg000:6FCC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6FCC seg000:6FCC seg000:6FCC sub_6FCC: ; CODE XREF: options_screen+1B0p seg000:6FCC ld de, 4F0Bh seg000:6FCF seg000:6FCF storeTo9946: ; CODE XREF: sub_6FD4+9j seg000:6FCF ld (word_9946), de seg000:6FD3 ret seg000:6FD3 ; End of function sub_6FCC seg000:6FD3 seg000:6FD4 seg000:6FD4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6FD4 seg000:6FD4 seg000:6FD4 sub_6FD4: ; CODE XREF: options_screen+1C1p seg000:6FD4 ld hl, 0 seg000:6FD7 ld (word_9944), hl seg000:6FDA ld de, 4F1Bh seg000:6FDD jr storeTo9946 seg000:6FDD ; End of function sub_6FD4 seg000:6FDD seg000:6FDF seg000:6FDF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:6FDF seg000:6FDF seg000:6FDF sub_6FDF: ; CODE XREF: seg000:7005p seg000:6FDF ; seg000:702Cp seg000:6FDF ld de, 40Eh seg000:6FE2 ld hl, 4DDFh seg000:6FE5 jp VPutSDE seg000:6FE5 ; End of function sub_6FDF seg000:6FE5 seg000:6FE8 ; --------------------------------------------------------------------------- seg000:6FE8 seg000:6FE8 loc_6FE8: ; CODE XREF: seg000:7054j seg000:6FE8 set 4, (iy+asm_Flag2) seg000:6FEC call sub_6CF3 seg000:6FEF ld hl, 170Eh seg000:6FF2 ld de, 5117h seg000:6FF5 ld a, 1 seg000:6FF7 call FastRectangle_Save seg000:6FFA ld l, 26h ; '&' seg000:6FFC ld e, 2Fh ; '/' seg000:6FFE call fastrectangle seg000:7001 set 3, (iy+5) seg000:7005 call sub_6FDF seg000:7008 res 3, (iy+5) seg000:700C ld de, 1C0Eh seg000:700F call VPutSDE seg000:7012 ld de, 340Fh seg000:7015 call VPutSDE seg000:7018 ld de, 1910h seg000:701B ld (word_997F), de seg000:701F ld hl, 968Fh seg000:7022 ld (word_9940), hl seg000:7025 inc hl seg000:7026 ld (word_997D), hl seg000:7029 call sub_7059 seg000:702C call sub_6FDF seg000:702F set 3, (iy+5) seg000:7033 ld de, 1C0Eh seg000:7036 call VPutSDE seg000:7039 res 3, (iy+5) seg000:703D ld de, 1928h seg000:7040 ld (word_997F), de seg000:7044 ld hl, 9981h seg000:7047 ld (word_9940), hl seg000:704A inc hl seg000:704B ld (word_997D), hl seg000:704E call sub_7059 seg000:7051 call copyPassword1 seg000:7054 jr nz, loc_6FE8 seg000:7056 jp options_2nd seg000:7059 seg000:7059 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7059 seg000:7059 seg000:7059 sub_7059: ; CODE XREF: seg000:7029p seg000:7059 ; seg000:704Ep ... seg000:7059 xor a seg000:705A ld (byte_997C), a seg000:705D ld hl, (word_9940) seg000:7060 ld (hl), a seg000:7061 ld de, (word_997D) seg000:7065 ld bc, 8 seg000:7068 ldir seg000:706A call ifastcopy seg000:706D im 1 seg000:706F call sub_707C seg000:7072 im 2 seg000:7074 ld a, (byte_997C) seg000:7077 ld hl, (word_9940) seg000:707A ld (hl), a seg000:707B ret seg000:707B ; End of function sub_7059 seg000:707B seg000:707C seg000:707C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:707C seg000:707C seg000:707C sub_707C: ; CODE XREF: sub_7059+16p seg000:707C ; sub_707C+4j ... seg000:707C rst 28h seg000:707C ; --------------------------------------------------------------------------- seg000:707D dw 4018h ; _GetCSC seg000:707F ; --------------------------------------------------------------------------- seg000:707F or a seg000:7080 jr z, sub_707C seg000:7082 cp 9 seg000:7084 ret z seg000:7085 ld hl, (word_997D) seg000:7088 ld (hl), a seg000:7089 inc hl seg000:708A ld (word_997D), hl seg000:708D ld de, (word_997F) seg000:7091 push de seg000:7092 ld a, d seg000:7093 ld l, e seg000:7094 ld ix, 527Fh seg000:7098 ld b, 6 seg000:709A call isprite seg000:709D call ifastcopy seg000:70A0 pop de seg000:70A1 ld a, d seg000:70A2 add a, 7 seg000:70A4 ld d, a seg000:70A5 ld (word_997F), de seg000:70A9 ld a, (byte_997C) seg000:70AC inc a seg000:70AD cp 8 seg000:70AF ret z seg000:70B0 ld (byte_997C), a seg000:70B3 jr sub_707C seg000:70B5 ; --------------------------------------------------------------------------- seg000:70B5 call dispArrow seg000:70B8 call ifastcopy seg000:70BB ld b, 0Ah seg000:70BD call delayb seg000:70C0 ld hl, 968Fh seg000:70C3 ld bc, 9 seg000:70C6 rst 28h seg000:70C6 ; --------------------------------------------------------------------------- seg000:70C7 dw 4C30h ; _MemClear seg000:70C9 ; --------------------------------------------------------------------------- seg000:70C9 set 4, (iy+asm_Flag2) seg000:70CD jp loc_6DF0 seg000:70CD ; End of function sub_707C seg000:70CD seg000:70D0 seg000:70D0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:70D0 seg000:70D0 seg000:70D0 copyPassword1: ; CODE XREF: seg000:7051p seg000:70D0 ; sub_70E1+52p seg000:70D0 ld hl, Password1 seg000:70D3 ld de, 9981h seg000:70D6 ld b, 9 seg000:70D8 seg000:70D8 copyPassword1_loop: ; CODE XREF: copyPassword1+Dj seg000:70D8 ld a, (de) seg000:70D9 cp (hl) seg000:70DA ret nz seg000:70DB inc hl seg000:70DC inc de seg000:70DD djnz copyPassword1_loop seg000:70DF xor a seg000:70E0 ret seg000:70E0 ; End of function copyPassword1 seg000:70E0 seg000:70E1 seg000:70E1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:70E1 seg000:70E1 seg000:70E1 sub_70E1: ; CODE XREF: sub_7147p seg000:70E1 ; sysmain_sub+19p ... seg000:70E1 ld a, (Password1) seg000:70E4 or a seg000:70E5 ret z seg000:70E6 ld hl, plotSScreen+264 seg000:70E9 ld de, tempSwapArea seg000:70EC ld bc, 240 seg000:70EF ldir seg000:70F1 ld hl, 1016h seg000:70F4 ld de, 4E29h seg000:70F7 xor a seg000:70F8 call filledrectangle_save seg000:70FB ld a, 1 seg000:70FD call fastrectangle seg000:7100 ld hl, 5121h seg000:7103 ld de, 1812h seg000:7106 set textInverse, (iy+textFlags) seg000:710A call VPutSDE seg000:710D res textInverse, (iy+textFlags) seg000:7111 ld hl, 121Eh seg000:7114 seg000:7114 loc_7114: seg000:7114 ld de, 4C27h seg000:7117 ld a, 1 seg000:7119 call fastrectangle seg000:711C call ifastcopy seg000:711F ld de, 1420h seg000:7122 ld (word_997F), de seg000:7126 ld hl, 9981h seg000:7129 ld (word_9940), hl seg000:712C inc hl seg000:712D ld (word_997D), hl seg000:7130 call sub_7059 seg000:7133 call copyPassword1 seg000:7136 push af seg000:7137 ld hl, tempSwapArea seg000:713A ld de, plotSScreen+264 seg000:713D ld bc, 240 seg000:7140 ldir seg000:7142 call ifastcopy seg000:7145 pop af seg000:7146 ret seg000:7146 ; End of function sub_70E1 seg000:7146 seg000:7147 seg000:7147 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7147 seg000:7147 seg000:7147 sub_7147: ; CODE XREF: options_screen+66p seg000:7147 call sub_70E1 seg000:714A pop ix seg000:714C jp nz, options_ret seg000:714F push ix seg000:7151 set 4, (iy+asm_Flag2) seg000:7155 ret seg000:7155 ; End of function sub_7147 seg000:7155 seg000:7156 seg000:7156 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7156 seg000:7156 seg000:7156 sub_7156: ; CODE XREF: seg000:4C10p seg000:7156 ld hl, (OP1) seg000:7159 push hl seg000:715A ld hl, (unk_847A) seg000:715D push hl seg000:715E ld hl, OP1 seg000:7161 ld (hl), 7 seg000:7163 inc hl seg000:7164 ld (hl), 60h ; '`' seg000:7166 inc hl seg000:7167 ld (hl), a seg000:7168 inc hl seg000:7169 ld (hl), 0 seg000:716B rst 10h seg000:716C ld a, b seg000:716D pop bc seg000:716E ld (unk_847A), bc seg000:7172 pop bc seg000:7173 ld (OP1), bc seg000:7177 ret c seg000:7178 or a seg000:7179 jr nz, loc_7182 seg000:717B inc de seg000:717C inc de seg000:717D call screentopic seg000:7180 or a seg000:7181 ret seg000:7182 ; --------------------------------------------------------------------------- seg000:7182 seg000:7182 loc_7182: ; CODE XREF: sub_7156+23j seg000:7182 scf seg000:7183 ret seg000:7183 ; End of function sub_7156 seg000:7183 seg000:7184 seg000:7184 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7184 seg000:7184 seg000:7184 screentopic: ; CODE XREF: seg000:4104j seg000:7184 ; sub_7156+27p seg000:7184 ld b, 3Fh ; '?' seg000:7186 ld a, 7 seg000:7188 out (10h), a seg000:718A ld a, 7Fh ; '' seg000:718C seg000:718C loc_718C: ; CODE XREF: screentopic+33j seg000:718C push bc seg000:718D inc a seg000:718E ld (word_FE70+1), a seg000:7191 push af seg000:7192 ld a, 7 seg000:7194 out (10h), a seg000:7196 pop af seg000:7197 rst 28h seg000:7197 ; --------------------------------------------------------------------------- seg000:7198 dw 4051h ; _lcd_busy seg000:719A ; --------------------------------------------------------------------------- seg000:719A out (10h), a seg000:719C ld a, 20h ; ' ' seg000:719E rst 28h seg000:719E ; --------------------------------------------------------------------------- seg000:719F dw 4051h ; _lcd_busy seg000:71A1 ; --------------------------------------------------------------------------- seg000:71A1 out (10h), a seg000:71A3 ld b, 0Ch seg000:71A5 rst 28h seg000:71A5 ; --------------------------------------------------------------------------- seg000:71A6 dw 4051h ; _lcd_busy seg000:71A8 ; --------------------------------------------------------------------------- seg000:71A8 in a, (11h) seg000:71AA seg000:71AA loc_71AA: ; CODE XREF: screentopic+2Dj seg000:71AA rst 28h seg000:71AA ; --------------------------------------------------------------------------- seg000:71AB dw 4051h ; _lcd_busy seg000:71AD ; --------------------------------------------------------------------------- seg000:71AD in a, (11h) seg000:71AF ld (de), a seg000:71B0 inc de seg000:71B1 djnz loc_71AA seg000:71B3 pop bc seg000:71B4 ld a, (word_FE70+1) seg000:71B7 djnz loc_718C seg000:71B9 ld a, 5 seg000:71BB out (10h), a seg000:71BD ret seg000:71BD ; End of function screentopic seg000:71BD seg000:71BE ; --------------------------------------------------------------------------- seg000:71BE seg000:71BE freearc: ; CODE XREF: seg000:41CDj seg000:71BE ; seg000:62F8p seg000:71BE rst 28h seg000:71BE ; --------------------------------------------------------------------------- seg000:71BF dw 5014h ; _ArcChk seg000:71C1 ; --------------------------------------------------------------------------- seg000:71C1 ld bc, (unk_839F) seg000:71C5 ld (OP1), bc seg000:71C9 ld bc, (unk_83A1) seg000:71CD ld (unk_847A), bc seg000:71D1 ld hl, 8493h seg000:71D4 ld b, 6 seg000:71D6 seg000:71D6 loc_71D6: ; CODE XREF: seg000:71E7j seg000:71D6 ld de, 0Ah seg000:71D9 push hl seg000:71DA push bc seg000:71DB rst 28h seg000:71DB ; --------------------------------------------------------------------------- seg000:71DC dw 80B1h ; _Div32By16 seg000:71DE ; --------------------------------------------------------------------------- seg000:71DE pop bc seg000:71DF pop hl seg000:71E0 ld a, (unk_8486) seg000:71E3 add a, 30h ; '0' seg000:71E5 ld (hl), a seg000:71E6 dec hl seg000:71E7 djnz loc_71D6 seg000:71E9 ret seg000:71EA seg000:71EA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:71EA seg000:71EA seg000:71EA sysmain: ; CODE XREF: seg000:418Ej seg000:71EA ; gettext+11p ... seg000:71EA im 2 seg000:71EC push af seg000:71ED call sysmain_sub seg000:71F0 pop af seg000:71F1 ret seg000:71F1 ; End of function sysmain seg000:71F1 seg000:71F2 seg000:71F2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:71F2 seg000:71F2 seg000:71F2 sysmain_sub: ; CODE XREF: sysmain+3p seg000:71F2 ; sysmain_sub+41j seg000:71F2 bit 1, (iy+asm_Flag1) seg000:71F6 jr z, loc_7211 seg000:71F8 res 1, (iy+asm_Flag1) seg000:71FC res 4, (iy+onFlags) seg000:7200 halt seg000:7201 res 4, (iy+onFlags) seg000:7205 ld a, (ProtOpts) seg000:7208 and 50h ; 'P' seg000:720A ret z seg000:720B call sub_70E1 seg000:720E ret z seg000:720F jr loc_723A seg000:7211 ; --------------------------------------------------------------------------- seg000:7211 seg000:7211 loc_7211: ; CODE XREF: sysmain_sub+4j seg000:7211 bit 5, (iy+asm_Flag1) seg000:7215 res 5, (iy+asm_Flag1) seg000:7219 jr z, loc_7228 seg000:721B ld a, (ProtOpts) seg000:721E bit 6, a seg000:7220 jr z, loc_7228 seg000:7222 call sub_70E1 seg000:7225 jp nz, quittoTIOS seg000:7228 seg000:7228 loc_7228: ; CODE XREF: sysmain_sub+27j seg000:7228 ; sysmain_sub+2Ej seg000:7228 res 4, (iy+9) seg000:722C ei seg000:722D halt seg000:722E halt seg000:722F bit 1, (iy+asm_Flag1) seg000:7233 jr nz, sysmain_sub seg000:7235 bit 4, (iy+9) seg000:7239 ret z seg000:723A seg000:723A loc_723A: ; CODE XREF: sysmain_sub+1Dj seg000:723A ; sysmain_sub+58j seg000:723A ld a, 1 seg000:723C out (3), a seg000:723E ei seg000:723F halt seg000:7240 ld a, (ProtOpts) seg000:7243 bit 6, a seg000:7245 ret z seg000:7246 call sub_70E1 seg000:7249 ret z seg000:724A jr loc_723A seg000:724A ; End of function sysmain_sub seg000:724A seg000:724C ; --------------------------------------------------------------------------- seg000:724C di seg000:724D ex af, af' seg000:724E exx seg000:724F ld hl, asm_Flag1 seg000:7252 bit 2, (hl) seg000:7254 res 2, (hl) seg000:7256 jr nz, jpTo003Ah seg000:7258 ld b, 1 seg000:725A seg000:725A loc_725A: ; CODE XREF: seg000:725Dj seg000:725A rst 28h seg000:725A ; --------------------------------------------------------------------------- seg000:725B dw 400Ch ; _cpHLDE seg000:725D ; --------------------------------------------------------------------------- seg000:725D djnz loc_725A seg000:725F nop seg000:7260 nop seg000:7261 nop seg000:7262 nop seg000:7263 nop seg000:7264 nop seg000:7265 nop seg000:7266 nop seg000:7267 nop seg000:7268 nop seg000:7269 nop seg000:726A nop seg000:726B nop seg000:726C nop seg000:726D nop seg000:726E nop seg000:726F nop seg000:7270 nop seg000:7271 seg000:7271 jpTo003Ah: ; CODE XREF: seg000:7256j seg000:7271 jp 3Ah seg000:7274 ; --------------------------------------------------------------------------- seg000:7274 in a, (4) seg000:7276 and 8 seg000:7278 ret nz seg000:7279 res shift2nd, (iy+shiftFlags) seg000:727D ret seg000:727E ; --------------------------------------------------------------------------- seg000:727E in a, (4) seg000:7280 and 8 seg000:7282 ret nz seg000:7283 in a, (6) seg000:7285 push af seg000:7286 ld a, (savePage) seg000:7289 out (6), a seg000:728B call loc_4B6F seg000:728E dec a seg000:728F jr z, loc_72A8 seg000:7291 dec a seg000:7292 jr z, loc_729F seg000:7294 dec a seg000:7295 jr z, loc_729B seg000:7297 pop af seg000:7298 out (6), a seg000:729A ret seg000:729B ; --------------------------------------------------------------------------- seg000:729B seg000:729B loc_729B: ; CODE XREF: seg000:7295j seg000:729B inc a seg000:729C ld (byte_8A4A), a seg000:729F seg000:729F loc_729F: ; CODE XREF: seg000:7292j seg000:729F ld hl, (word_9684) seg000:72A2 dec hl seg000:72A3 dec hl seg000:72A4 ld sp, hl seg000:72A5 jp quittoshell seg000:72A8 ; --------------------------------------------------------------------------- seg000:72A8 seg000:72A8 loc_72A8: ; CODE XREF: seg000:728Fj seg000:72A8 pop af seg000:72A9 out (6), a seg000:72AB pop af seg000:72AC call 3Ah seg000:72AF ld a, 1 seg000:72B1 out (3), a seg000:72B3 halt seg000:72B4 ret seg000:72B5 seg000:72B5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:72B5 seg000:72B5 ; _kdbScanCode+3 seg000:72B5 seg000:72B5 sub_72B5: ; CODE XREF: seg000:744Ap seg000:72B5 ld hl, 8442h seg000:72B8 ld a, 0Ah seg000:72BA cp (hl) seg000:72BB ret nc seg000:72BC ld (hl), a seg000:72BD ret seg000:72BD ; End of function sub_72B5 seg000:72BD seg000:72BE ; --------------------------------------------------------------------------- seg000:72BE ld hl, timer1 seg000:72C1 ld a, (hl) seg000:72C2 inc a seg000:72C3 ld (hl), a seg000:72C4 inc hl seg000:72C5 cp (hl) seg000:72C6 ret nz seg000:72C7 dec hl seg000:72C8 ld (hl), 0 seg000:72CA inc hl seg000:72CB inc hl seg000:72CC ld a, (hl) seg000:72CD inc a seg000:72CE ld (hl), a seg000:72CF inc hl seg000:72D0 cp (hl) seg000:72D1 ret nz seg000:72D2 dec hl seg000:72D3 ld (hl), 0 seg000:72D5 inc hl seg000:72D6 inc hl seg000:72D7 inc (hl) seg000:72D8 ret seg000:72D9 ; --------------------------------------------------------------------------- seg000:72D9 call unk_8C01 seg000:72DC call unk_8AB2 seg000:72DF call unk_8A4F seg000:72E2 call unk_8ABC seg000:72E5 call unk_8AF3 seg000:72E8 seg000:72E8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:72E8 seg000:72E8 seg000:72E8 maybesetupint: ; CODE XREF: options_screen+A4Ep seg000:72E8 ; options_screen+C41p seg000:72E8 ld a, (HKeyOpts) seg000:72EB bit 6, a seg000:72ED ret z seg000:72EE ld a, 8 seg000:72F0 jr setupint seg000:72F0 ; End of function maybesetupint seg000:72F0 seg000:72F2 seg000:72F2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:72F2 seg000:72F2 seg000:72F2 setupint_4: ; CODE XREF: options_screen-3E3p seg000:72F2 ; options_screen+9EAp seg000:72F2 ld a, 4 seg000:72F4 seg000:72F4 setupint: ; CODE XREF: seg000:4191j seg000:72F4 ; maybesetupint+8j seg000:72F4 di seg000:72F5 ld hl, 7363h seg000:72F8 ld de, 8A4Fh seg000:72FB ld bc, 37h ; '7' seg000:72FE ldir seg000:7300 ld hl, 724Ch seg000:7303 ld de, 8A8Ah seg000:7306 ld bc, 72h ; 'r' seg000:7309 ldir seg000:730B ld hl, 72BEh seg000:730E ld de, 8C01h seg000:7311 ld bc, 1Bh seg000:7314 ldir seg000:7316 ld bc, 5FFh seg000:7319 ld de, 8A9Dh seg000:731C ld hl, 72D9h seg000:731F seg000:731F loc_731F: ; CODE XREF: setupint_4+40j seg000:731F rra seg000:7320 jr nc, loc_732C seg000:7322 push hl seg000:7323 push de seg000:7324 ldi seg000:7326 ldi seg000:7328 ldi seg000:732A pop de seg000:732B pop hl seg000:732C seg000:732C loc_732C: ; CODE XREF: setupint_4+2Ej seg000:732C inc hl seg000:732D inc hl seg000:732E inc hl seg000:732F inc de seg000:7330 inc de seg000:7331 inc de seg000:7332 djnz loc_731F seg000:7334 ex de, hl seg000:7335 rra seg000:7336 jr nc, loc_7342 seg000:7338 ld (hl), 0CDh ; '-' seg000:733A inc hl seg000:733B ld de, (custintaddr) seg000:733F ld (hl), e seg000:7340 inc hl seg000:7341 ld (hl), d seg000:7342 seg000:7342 loc_7342: ; CODE XREF: setupint_4+44j seg000:7342 ld a, 48h ; 'H' seg000:7344 ld (byte_8449), a seg000:7347 ld hl, 8B00h seg000:734A ld a, h seg000:734B ld i, a seg000:734D dec a seg000:734E ld bc, 257 seg000:7351 rst 28h seg000:7351 ; --------------------------------------------------------------------------- seg000:7352 dw 4C33h ; _MemSet seg000:7354 ; --------------------------------------------------------------------------- seg000:7354 ld hl, 8A3Ah seg000:7357 xor a seg000:7358 ld (hl), a seg000:7359 inc hl seg000:735A inc hl seg000:735B ld (hl), a seg000:735C inc hl seg000:735D inc hl seg000:735E ld (hl), a seg000:735F im 2 seg000:7361 ei seg000:7362 ret seg000:7362 ; End of function setupint_4 seg000:7362 seg000:7363 ; --------------------------------------------------------------------------- seg000:7363 xor a seg000:7364 out (1), a seg000:7366 in a, (1) seg000:7368 inc a seg000:7369 jr z, loc_7370 seg000:736B ld a, 48h ; 'H' seg000:736D ld (byte_8449), a seg000:7370 seg000:7370 loc_7370: ; CODE XREF: seg000:7369j seg000:7370 ld a, (byte_8448) seg000:7373 dec a seg000:7374 ld (byte_8448), a seg000:7377 ret nz seg000:7378 dec a seg000:7379 ld (byte_8448), a seg000:737C ld a, (byte_8449) seg000:737F dec a seg000:7380 ld (byte_8449), a seg000:7383 ret nz seg000:7384 ld a, 48h ; 'H' seg000:7386 ld (byte_8449), a seg000:7389 set 1, (iy+21h) seg000:738D set 2, (iy+21h) seg000:7391 ld a, 1 seg000:7393 out (3), a seg000:7395 ex af, af' seg000:7396 exx seg000:7397 ei seg000:7398 halt seg000:7399 ret seg000:739A ; --------------------------------------------------------------------------- seg000:739A seg000:739A renameprog: ; CODE XREF: seg000:4188j seg000:739A ; seg000:6385p seg000:739A ld (curVATptr), hl seg000:739D ld hl, OP1 seg000:73A0 ld (hl), 5 seg000:73A2 rst 28h seg000:73A2 ; --------------------------------------------------------------------------- seg000:73A3 dw 42F1h ; _ChkFindSym seg000:73A5 ; --------------------------------------------------------------------------- seg000:73A5 ret nc seg000:73A6 ld hl, 17 seg000:73A9 rst 28h seg000:73A9 ; --------------------------------------------------------------------------- seg000:73AA dw 42FDh ; _EnoughMem seg000:73AC ; --------------------------------------------------------------------------- seg000:73AC ccf seg000:73AD ret nc seg000:73AE ld hl, 0 seg000:73B1 rst 28h seg000:73B1 ; --------------------------------------------------------------------------- seg000:73B2 dw 4339h ; _CreateProg seg000:73B4 ; --------------------------------------------------------------------------- seg000:73B4 push de seg000:73B5 push hl seg000:73B6 push hl seg000:73B7 ld de, OP3 seg000:73BA ld bc, 6 seg000:73BD lddr seg000:73BF pop de seg000:73C0 ld hl, (curVATptr) seg000:73C3 ld c, 6 seg000:73C5 lddr seg000:73C7 ld de, (curVATptr) seg000:73CB ld hl, OP3 seg000:73CE ld c, 6 seg000:73D0 lddr seg000:73D2 pop hl seg000:73D3 dec hl seg000:73D4 bit 7, (hl) seg000:73D6 inc hl seg000:73D7 jr z, loc_73E0 seg000:73D9 dec hl seg000:73DA res 7, (hl) seg000:73DC inc hl seg000:73DD call hideprog seg000:73E0 seg000:73E0 loc_73E0: ; CODE XREF: seg000:73D7j seg000:73E0 pop de seg000:73E1 ld hl, (curVATptr) seg000:73E4 rst 28h seg000:73E4 ; --------------------------------------------------------------------------- seg000:73E5 dw 4351h ; _DelVar seg000:73E7 ; --------------------------------------------------------------------------- seg000:73E7 scf seg000:73E8 ret seg000:73E9 seg000:73E9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:73E9 seg000:73E9 seg000:73E9 tryGetCSCHook: ; CODE XREF: options_screen-3E6p seg000:73E9 ld a, (HKeyOpts) seg000:73EC and 38h ; '8' seg000:73EE ret z seg000:73EF in a, (6) seg000:73F1 ld hl, getCSCHook seg000:73F4 rst 28h seg000:73F4 ; --------------------------------------------------------------------------- seg000:73F5 dw 4F7Bh ; _SetGetCSCHook seg000:73F7 ; --------------------------------------------------------------------------- seg000:73F7 ret seg000:73F7 ; End of function tryGetCSCHook seg000:73F7 seg000:73F8 ; --------------------------------------------------------------------------- seg000:73F8 seg000:73F8 loc_73F8: ; CODE XREF: seg000:7441p seg000:73F8 push af seg000:73F9 push bc seg000:73FA call getMirageAppVar seg000:73FD ld c, 0 seg000:73FF jr c, loc_741E seg000:7401 inc b seg000:7402 dec b seg000:7403 jr nz, loc_740C seg000:7405 ld hl, 5 seg000:7408 add hl, de seg000:7409 ld c, (hl) seg000:740A jr loc_741E seg000:740C ; --------------------------------------------------------------------------- seg000:740C seg000:740C loc_740C: ; CODE XREF: seg000:7403j seg000:740C ld hl, 9 seg000:740F add hl, de seg000:7410 rst 28h seg000:7410 ; --------------------------------------------------------------------------- seg000:7411 dw 501Dh ; _LoadCIndPaged seg000:7413 ; --------------------------------------------------------------------------- seg000:7413 ld e, c seg000:7414 ld d, 0 seg000:7416 add hl, de seg000:7417 ld de, 6 seg000:741A add hl, de seg000:741B rst 28h seg000:741B ; --------------------------------------------------------------------------- seg000:741C dw 501Dh ; _LoadCIndPaged seg000:741E ; --------------------------------------------------------------------------- seg000:741E seg000:741E loc_741E: ; CODE XREF: seg000:73FFj seg000:741E ; seg000:740Aj seg000:741E ld d, c seg000:741F inc d seg000:7420 pop bc seg000:7421 pop af seg000:7422 ret seg000:7423 ; --------------------------------------------------------------------------- seg000:7423 seg000:7423 loc_7423: ; CODE XREF: seg000:749Aj seg000:7423 ; seg000:74B3j seg000:7423 res 5, (iy+30h) seg000:7427 ld a, (byte_85DE) seg000:742A cp 2 seg000:742C ld a, b seg000:742D ret nz seg000:742E ld hl, 6B92h seg000:7431 ld de, 85E7h seg000:7434 rst 28h seg000:7434 ; --------------------------------------------------------------------------- seg000:7435 dw 415Fh ; _Mov9B seg000:7437 ; --------------------------------------------------------------------------- seg000:7437 ld a, 2 seg000:7439 ld (byte_85E0), a seg000:743C ld a, 9 seg000:743E or a seg000:743F ret seg000:7440 ; --------------------------------------------------------------------------- seg000:7440 seg000:7440 getCSCHook: ; DATA XREF: tryGetCSCHook+8o seg000:7440 add a, e seg000:7441 call loc_73F8 seg000:7444 cp 1Bh seg000:7446 jr z, loc_7481 seg000:7448 bit 5, d seg000:744A call nz, sub_72B5 ; _kdbScanCode+3 seg000:744D bit 4, d seg000:744F jr z, loc_747F seg000:7451 bit 4, (iy+12h) seg000:7455 jr z, loc_747F seg000:7457 bit 2, (iy+8) seg000:745B jr z, loc_747F seg000:745D bit 3, (iy+8) seg000:7461 jr z, loc_747F seg000:7463 in a, (4) seg000:7465 bit 3, a seg000:7467 ret nz seg000:7468 res 4, (iy+12h) seg000:746C ld a, 1 seg000:746E ld (byte_8449), a seg000:7471 ld (byte_8448), a seg000:7474 ei seg000:7475 seg000:7475 loc_7475: ; CODE XREF: seg000:747Bj seg000:7475 halt seg000:7476 ld a, (byte_8449) seg000:7479 cp 2 seg000:747B jr c, loc_7475 seg000:747D xor a seg000:747E ret seg000:747F ; --------------------------------------------------------------------------- seg000:747F seg000:747F loc_747F: ; CODE XREF: seg000:744Fj seg000:747F ; seg000:7455j ... seg000:747F or a seg000:7480 ret seg000:7481 ; --------------------------------------------------------------------------- seg000:7481 seg000:7481 loc_7481: ; CODE XREF: seg000:7446j seg000:7481 bit 3, d seg000:7483 jr z, loc_7492 seg000:7485 ld a, b seg000:7486 cp 0Ah seg000:7488 jr nz, loc_7492 seg000:748A bit 3, (iy+12h) seg000:748E jr z, loc_7492 seg000:7490 xor a seg000:7491 ret seg000:7492 ; --------------------------------------------------------------------------- seg000:7492 seg000:7492 loc_7492: ; CODE XREF: seg000:7483j seg000:7492 ; seg000:7488j ... seg000:7492 bit 4, d seg000:7494 jr z, loc_74A3 seg000:7496 bit 5, (iy+30h) seg000:749A jr nz, loc_7423 seg000:749C ld a, (byte_859A) seg000:749F cp 41h ; 'A' seg000:74A1 jr nz, loc_74A7 seg000:74A3 seg000:74A3 loc_74A3: ; CODE XREF: seg000:7494j seg000:74A3 ld a, b seg000:74A4 cp 0FDh ; '²' seg000:74A6 ret seg000:74A7 ; --------------------------------------------------------------------------- seg000:74A7 seg000:74A7 loc_74A7: ; CODE XREF: seg000:74A1j seg000:74A7 ld a, (byte_85DE) seg000:74AA cp 2 seg000:74AC jr nz, loc_74B6 seg000:74AE in a, (4) seg000:74B0 bit 3, a seg000:74B2 ld a, b seg000:74B3 jp z, loc_7423 seg000:74B6 seg000:74B6 loc_74B6: ; CODE XREF: seg000:74ACj seg000:74B6 ld a, b seg000:74B7 cp 27h ; ''' seg000:74B9 ret nz seg000:74BA in a, (4) seg000:74BC bit 3, a seg000:74BE ld a, b seg000:74BF ret nz seg000:74C0 ld a, 2 seg000:74C2 out (10h), a seg000:74C4 set 5, (iy+30h) seg000:74C8 ld a, b seg000:74C9 or a seg000:74CA ret seg000:74CB ; --------------------------------------------------------------------------- seg000:74CB seg000:74CB arcprog: ; CODE XREF: seg000:417Cj seg000:74CB ; seg000:647Ep seg000:74CB call getinfo seg000:74CE rst 28h seg000:74CE ; --------------------------------------------------------------------------- seg000:74CF dw 4FD8h ; _Arc_Unarc seg000:74D1 ; --------------------------------------------------------------------------- seg000:74D1 ret seg000:74D2 ; --------------------------------------------------------------------------- seg000:74D2 seg000:74D2 hideprog: ; CODE XREF: seg000:4179j seg000:74D2 ; seg000:6427p ... seg000:74D2 call getinfo seg000:74D5 dec hl seg000:74D6 ld a, (hl) seg000:74D7 and 80h ; 'Ç' seg000:74D9 jr z, loc_7500 seg000:74DB ld a, (OP1_plus_1) seg000:74DE cp 1Ch seg000:74E0 jr nz, loc_74E4 seg000:74E2 ld a, 9Ch ; '£' seg000:74E4 seg000:74E4 loc_74E4: ; CODE XREF: seg000:74E0j seg000:74E4 add a, 40h ; '@' seg000:74E6 ld (OP1_plus_1), a seg000:74E9 push hl seg000:74EA rst 28h seg000:74EA ; --------------------------------------------------------------------------- seg000:74EB dw 42F1h ; _ChkFindSym seg000:74ED ; --------------------------------------------------------------------------- seg000:74ED pop hl seg000:74EE ret nc seg000:74EF ld a, (hl) seg000:74F0 xor 80h ; 'Ç' seg000:74F2 ld (hl), a seg000:74F3 ld de, 6 seg000:74F6 sbc hl, de seg000:74F8 ld a, (OP2) seg000:74FB ld (hl), a seg000:74FC add hl, de seg000:74FD inc hl seg000:74FE scf seg000:74FF ret seg000:7500 ; --------------------------------------------------------------------------- seg000:7500 seg000:7500 loc_7500: ; CODE XREF: seg000:74D9j seg000:7500 ld a, (OP1_plus_1) seg000:7503 cp 0DCh ; '_' seg000:7505 jr nz, loc_7509 seg000:7507 ld a, 5Ch ; '\' seg000:7509 seg000:7509 loc_7509: ; CODE XREF: seg000:7505j seg000:7509 sub 40h ; '@' seg000:750B ld (OP1_plus_1), a seg000:750E push hl seg000:750F rst 28h seg000:750F ; --------------------------------------------------------------------------- seg000:7510 dw 42F1h ; _ChkFindSym seg000:7512 ; --------------------------------------------------------------------------- seg000:7512 pop hl seg000:7513 ret nc seg000:7514 ld a, (hl) seg000:7515 xor 80h ; 'Ç' seg000:7517 ld (hl), a seg000:7518 ld de, 6 seg000:751B sbc hl, de seg000:751D ld a, (OP1_plus_1) seg000:7520 ld (hl), a seg000:7521 add hl, de seg000:7522 inc hl seg000:7523 scf seg000:7524 ret seg000:7525 seg000:7525 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7525 seg000:7525 seg000:7525 sub_7525: ; CODE XREF: options_screen:loc_77E5p seg000:7525 push hl seg000:7526 push de seg000:7527 push bc seg000:7528 ld hl, 96BEh seg000:752B ld de, MirageOSJumpTable seg000:752E ld b, 8 seg000:7530 seg000:7530 loc_7530: ; CODE XREF: sub_7525+15j seg000:7530 ld (hl), 0C3h ; '+' seg000:7532 inc hl seg000:7533 ld (hl), e seg000:7534 inc hl seg000:7535 ld (hl), d seg000:7536 inc hl seg000:7537 inc de seg000:7538 inc de seg000:7539 inc de seg000:753A djnz loc_7530 seg000:753C pop bc seg000:753D pop de seg000:753E pop hl seg000:753F ret seg000:753F ; End of function sub_7525 seg000:753F seg000:7540 seg000:7540 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7540 seg000:7540 seg000:7540 sub_7540: ; CODE XREF: seg000:6486p seg000:7540 ld a, (hl) seg000:7541 cp 5 seg000:7543 jr z, loc_7548 seg000:7545 cp 6 seg000:7547 ret nz seg000:7548 seg000:7548 loc_7548: ; CODE XREF: sub_7540+3j seg000:7548 xor 3 seg000:754A ld (hl), a seg000:754B xor a seg000:754C ret seg000:754C ; End of function sub_7540 seg000:754C seg000:754D seg000:754D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:754D seg000:754D seg000:754D delprog: ; CODE XREF: seg000:413Aj seg000:754D ; sub_640B+3p ... seg000:754D call VATnameToOP1 seg000:7550 rst 28h seg000:7550 ; --------------------------------------------------------------------------- seg000:7551 dw 42F1h ; _ChkFindSym seg000:7553 ; --------------------------------------------------------------------------- seg000:7553 rst 28h seg000:7553 ; --------------------------------------------------------------------------- seg000:7554 dw 4FC6h ; _DelVarArc seg000:7556 ; --------------------------------------------------------------------------- seg000:7556 ret seg000:7556 ; End of function delprog seg000:7556 seg000:7557 ; --------------------------------------------------------------------------- seg000:7557 ; START OF FUNCTION CHUNK FOR options_screen seg000:7557 seg000:7557 quittoTIOS: ; CODE XREF: gettext+29j seg000:7557 ; general_key_routine+9j ... seg000:7557 call myDelMem seg000:755A rst 28h seg000:755A ; --------------------------------------------------------------------------- seg000:755B dw 4BD0h ; _GrBufClr seg000:755D ; --------------------------------------------------------------------------- seg000:755D seg000:755D loc_755D: ; CODE XREF: options_screen+9FCj seg000:755D im 1 seg000:755F set 0, (iy+3) seg000:7563 res 1, (iy+2) seg000:7567 res 7, (iy+14h) seg000:756B xor a seg000:756C ld (iy+5), a seg000:756F ld hl, 8508h seg000:7572 ld de, cmdShadow seg000:7575 ld bc, 128 seg000:7578 ldir seg000:757A rst 28h seg000:757A ; --------------------------------------------------------------------------- seg000:757B dw 4C87h ; _EnableApd seg000:757D ; --------------------------------------------------------------------------- seg000:757D rst 28h seg000:757D ; --------------------------------------------------------------------------- seg000:757E dw 4A20h ; _DelRes seg000:7580 ; --------------------------------------------------------------------------- seg000:7580 rst 38h seg000:7581 rst 28h seg000:7581 ; --------------------------------------------------------------------------- seg000:7582 dw 4018h ; _GetCSC seg000:7582 ; END OF FUNCTION CHUNK FOR options_screen seg000:7584 ; --------------------------------------------------------------------------- seg000:7584 call 50h ; B_JUMP seg000:7584 ; --------------------------------------------------------------------------- seg000:7587 dw 4027h ; _JForceCmdNoChar seg000:7589 ; --------------------------------------------------------------------------- seg000:7589 ; START OF FUNCTION CHUNK FOR options_screen seg000:7589 seg000:7589 loc_7589: ; CODE XREF: options_screen+A7Aj seg000:7589 ; seg000:76CAj ... seg000:7589 ld a, (cmdShadow) seg000:758C or a seg000:758D call nz, sub_79C0 seg000:7590 seg000:7590 loc_7590: ; CODE XREF: options_screen+DF0j seg000:7590 ; seg000:7A50j seg000:7590 ld a, 6 seg000:7592 out (4), a seg000:7594 ld a, 1 seg000:7596 ld (unk_8A97), a seg000:7599 ld hl, (unk_96A7) seg000:759C ld (asm_Flag2), hl seg000:759F call setupint_4 seg000:75A2 rst 28h seg000:75A2 ; --------------------------------------------------------------------------- seg000:75A3 dw 4BD0h ; _GrBufClr seg000:75A5 ; --------------------------------------------------------------------------- seg000:75A5 set textEraseBelow, (iy+textFlags) seg000:75A9 set textWrite, (iy+sGrFlags) seg000:75AD ld a, (byte_8A4A) seg000:75B0 or a seg000:75B1 jr nz, loc_755D seg000:75B3 ret seg000:75B3 ; END OF FUNCTION CHUNK FOR options_screen seg000:75B4 seg000:75B4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:75B4 seg000:75B4 seg000:75B4 runprog: ; CODE XREF: seg000:4131j seg000:75B4 ; seg000:5D66p seg000:75B4 call myDelMem seg000:75B7 call runmirageprog seg000:75BA push af seg000:75BB call myInsertMem seg000:75BE pop af seg000:75BF ret seg000:75BF ; End of function runprog seg000:75BF seg000:75C0 seg000:75C0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:75C0 seg000:75C0 seg000:75C0 runmirageprog: ; CODE XREF: runprog+3p seg000:75C0 push hl seg000:75C1 rst 28h seg000:75C1 ; --------------------------------------------------------------------------- seg000:75C2 dw 4540h ; _ClrLCDFull seg000:75C2 ; End of function runmirageprog seg000:75C2 seg000:75C4 ; --------------------------------------------------------------------------- seg000:75C4 ; START OF FUNCTION CHUNK FOR options_screen seg000:75C4 rst 28h seg000:75C4 ; --------------------------------------------------------------------------- seg000:75C5 dw 4BD0h ; _GrBufClr seg000:75C7 ; --------------------------------------------------------------------------- seg000:75C7 ld hl, 0 seg000:75CA ld (word_96A3), hl seg000:75CD ld hl, (asm_Flag2) seg000:75D0 ld (unk_96A7), hl seg000:75D3 xor a seg000:75D4 ld (byte_8A4A), a seg000:75D7 pop hl seg000:75D8 res textEraseBelow, (iy+textFlags) seg000:75DC res textWrite, (iy+sGrFlags0 seg000:75E0 res appTextSave, (iy+appFlags) seg000:75E4 call getinfo seg000:75E7 bit 0, b seg000:75E9 jp nz, loc_7912 seg000:75EC bit 1, b seg000:75EE jp nz, loc_77E5 seg000:75F1 bit 5, b seg000:75F3 jp nz, loc_7632 seg000:75F6 call sub_79EB seg000:75F9 call sub_7804 seg000:75FC call sub_7899 seg000:75FF ld (word_9684), sp seg000:7603 call maybesetupint seg000:7606 ld hl, 9DB5h seg000:7609 ld a, (unk_9D96) seg000:760C cp 3 seg000:760E jr nz, loc_761A seg000:7610 push hl seg000:7611 rst 28h seg000:7611 ; --------------------------------------------------------------------------- seg000:7612 dw 4009h ; _ldhlind seg000:7614 ; --------------------------------------------------------------------------- seg000:7614 ld (unk_8AE4), hl seg000:7617 pop hl seg000:7618 inc hl seg000:7619 inc hl seg000:761A seg000:761A loc_761A: ; CODE XREF: options_screen+A59j seg000:761A xor a seg000:761B cpir seg000:761D ex de, hl seg000:761E ld hl, 9680h seg000:7621 ld (hl), 0C3h ; '+' seg000:7623 inc hl seg000:7624 ld (hl), e seg000:7625 inc hl seg000:7626 ld (hl), d seg000:7627 call unk_9680 seg000:762A im 1 seg000:762C call sub_7828 seg000:762F jp loc_7589 seg000:7632 ; --------------------------------------------------------------------------- seg000:7632 seg000:7632 loc_7632: ; CODE XREF: options_screen+A3Ej seg000:7632 push hl seg000:7633 ld hl, 1100h seg000:7636 ld (word_96A3), hl seg000:7639 inc hl seg000:763A rst 28h seg000:763A ; END OF FUNCTION CHUNK FOR options_screen seg000:763A ; --------------------------------------------------------------------------- seg000:763B dw 42FDh ; _EnoughMem seg000:763D ; --------------------------------------------------------------------------- seg000:763D pop hl seg000:763E jp c, errHandler seg000:7641 push hl seg000:7642 ld hl, textShadow seg000:7645 ld de, linkBuffer seg000:7648 ld bc, 128 seg000:764B ldir seg000:764D pop hl seg000:764E call sub_79EB seg000:7651 call sub_7804 seg000:7654 push hl seg000:7655 call sub_772C seg000:7658 pop hl seg000:7659 call getSizeOfVATvar seg000:765C ld (word_9974), de seg000:7660 ex de, hl seg000:7661 ld (word_96A5), hl seg000:7664 ld bc, 0C91h seg000:7667 or a seg000:7668 sbc hl, bc seg000:766A call nc, sub_76CD seg000:766D ex de, hl seg000:766E ld (word_9684), sp seg000:7672 call sub_77B9 seg000:7675 ld hl, 808Fh seg000:7678 ld bc, 80h ; 'Ç' seg000:767B rst 28h seg000:767B ; --------------------------------------------------------------------------- seg000:767C dw 4C30h ; _MemClear seg000:767E ; --------------------------------------------------------------------------- seg000:767E ld hl, OP6 seg000:7681 ld (hl), 0C3h ; '+' seg000:7683 inc hl seg000:7684 ex de, hl seg000:7685 ld hl, 9104h seg000:7688 xor a seg000:7689 cpir seg000:768B ex de, hl seg000:768C ld (hl), e seg000:768D inc hl seg000:768E ld (hl), d seg000:768F call OP6 seg000:7692 di seg000:7693 call sub_55FD seg000:7696 call sub_7817 seg000:7699 ld hl, (word_9671) seg000:769C call dataPtrToDE seg000:769F inc de seg000:76A0 inc de seg000:76A1 ex de, hl seg000:76A2 ld de, 1101h seg000:76A5 rst 28h seg000:76A5 ; --------------------------------------------------------------------------- seg000:76A6 dw 4357h ; _DelMem seg000:76A8 ; --------------------------------------------------------------------------- seg000:76A8 ld hl, (word_9974) seg000:76AB ld bc, 0C91h seg000:76AE or a seg000:76AF sbc hl, bc seg000:76B1 call nc, sub_76E1 seg000:76B4 call sub_7817 seg000:76B7 ld hl, (word_9671) seg000:76BA call sub_771C seg000:76BD push hl seg000:76BE ld hl, linkBuffer seg000:76C1 ld de, textShadow seg000:76C4 ld bc, 128 seg000:76C7 ldir seg000:76C9 pop hl seg000:76CA jp loc_7589 seg000:76CD seg000:76CD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:76CD seg000:76CD seg000:76CD sub_76CD: ; CODE XREF: seg000:766Ap seg000:76CD push de seg000:76CE push hl seg000:76CF ld (word_96A5), bc seg000:76D3 ex de, hl seg000:76D4 dec de seg000:76D5 ld hl, 0C92h seg000:76D8 ld (word_96A3), hl seg000:76DB call sub_7899 seg000:76DE pop hl seg000:76DF pop de seg000:76E0 ret seg000:76E0 ; End of function sub_76CD seg000:76E0 seg000:76E1 seg000:76E1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:76E1 seg000:76E1 seg000:76E1 sub_76E1: ; CODE XREF: seg000:76B1p seg000:76E1 push de seg000:76E2 push hl seg000:76E3 dec hl seg000:76E4 dec hl seg000:76E5 ld (word_9673), hl seg000:76E8 ld hl, 0C92h seg000:76EB ld (word_96A3), hl seg000:76EE call sub_7828 seg000:76F1 pop hl seg000:76F2 pop de seg000:76F3 ret seg000:76F3 ; End of function sub_76E1 seg000:76F3 seg000:76F3 ; --------------------------------------------------------------------------- seg000:76F4 unknownTable2: dw 41D3h ; DATA XREF: sub_771C+7o seg000:76F4 ; sub_772Co seg000:76F6 dw 41D6h seg000:76F8 dw 409Bh seg000:76FA dw 4101h seg000:76FC dw 41D9h seg000:76FE dw 41DCh seg000:7700 dw 41DFh seg000:7702 dw 41E2h seg000:7704 dw 41E5h seg000:7706 dw 41E8h seg000:7708 unknownTable1: dw 1D4h ; DATA XREF: sub_771Co seg000:7708 ; sub_772C+7o seg000:770A dw 0A1h seg000:770C dw 1B8h seg000:770E dw 95h seg000:7710 dw 33h seg000:7712 dw 0A3h seg000:7714 dw 7F3h seg000:7716 dw 4166h seg000:7718 dw 1C7h seg000:771A dw 38ACh seg000:771C seg000:771C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:771C seg000:771C seg000:771C sub_771C: ; CODE XREF: seg000:76BAp seg000:771C ld de, unknownTable1 seg000:771F ld (appData+5), de seg000:7723 ld de, unknownTable2 seg000:7726 ld (appData+7), de seg000:772A jr loc_773A seg000:772A ; End of function sub_771C seg000:772A seg000:772C seg000:772C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:772C seg000:772C seg000:772C sub_772C: ; CODE XREF: seg000:7655p seg000:772C seg000:772C ; FUNCTION CHUNK AT seg000:77B5 SIZE 00000004 BYTES seg000:772C seg000:772C ld de, unknownTable2 seg000:772F ld (word_8005), de seg000:7733 ld de, unknownTable1 seg000:7736 ld (word_8007), de seg000:773A seg000:773A loc_773A: ; CODE XREF: sub_771C+Ej seg000:773A push hl seg000:773B call getSizeOfVATvar seg000:773E dec de seg000:773F dec de seg000:7740 dec de seg000:7741 push de seg000:7742 pop bc seg000:7743 call dataPtrToDE seg000:7746 inc de seg000:7747 inc de seg000:7748 ex de, hl seg000:7749 ld a, 0Bh seg000:774B ld (appData), a seg000:774E seg000:774E loc_774E: ; CODE XREF: sub_772C+58j seg000:774E push hl seg000:774F push bc seg000:7750 ld hl, 8000h seg000:7753 dec (hl) seg000:7754 jp z, loc_77B5 seg000:7757 ld a, (hl) seg000:7758 dec a seg000:7759 add a, a seg000:775A ld e, a seg000:775B ld d, 0 seg000:775D ld hl, (word_8005) seg000:7760 add hl, de seg000:7761 rst 28h seg000:7761 ; --------------------------------------------------------------------------- seg000:7762 dw 4009h ; _ldhlind seg000:7764 ; --------------------------------------------------------------------------- seg000:7764 ld (word_8001), hl seg000:7767 ld hl, (word_8007) seg000:776A add hl, de seg000:776B ld a, (hl) seg000:776C ld (byte_8004), a seg000:776F inc hl seg000:7770 ld a, (hl) seg000:7771 ld (byte_8003), a seg000:7774 pop bc seg000:7775 pop hl seg000:7776 push bc seg000:7777 push hl seg000:7778 call sub_7786 seg000:777B pop hl seg000:777C pop bc seg000:777D push bc seg000:777E push hl seg000:777F call sub_778D seg000:7782 pop hl seg000:7783 pop bc seg000:7784 jr loc_774E seg000:7784 ; End of function sub_772C seg000:7784 seg000:7786 seg000:7786 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7786 seg000:7786 seg000:7786 sub_7786: ; CODE XREF: sub_772C+4Cp seg000:7786 ld a, 0CDh ; '-' seg000:7788 ld (word_FE70), a seg000:778B jr loc_7792 seg000:778B ; End of function sub_7786 seg000:778B seg000:778D seg000:778D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:778D seg000:778D seg000:778D sub_778D: ; CODE XREF: sub_772C+53p seg000:778D ld a, 0C3h ; '+' seg000:778F ld (word_FE70), a seg000:7792 seg000:7792 loc_7792: ; CODE XREF: sub_7786+5j seg000:7792 ; sub_778D+12j ... seg000:7792 ld a, (word_FE70) seg000:7795 cpir seg000:7797 ld a, b seg000:7798 or c seg000:7799 ret z seg000:779A ld d, (hl) seg000:779B ld a, (byte_8004) seg000:779E cp d seg000:779F jr nz, loc_7792 seg000:77A1 inc hl seg000:77A2 ld d, (hl) seg000:77A3 ld a, (byte_8003) seg000:77A6 cp d seg000:77A7 jr z, loc_77AC seg000:77A9 dec hl seg000:77AA jr loc_7792 seg000:77AC ; --------------------------------------------------------------------------- seg000:77AC seg000:77AC loc_77AC: ; CODE XREF: sub_778D+1Aj seg000:77AC ld de, (word_8001) seg000:77B0 ld (hl), d seg000:77B1 dec hl seg000:77B2 ld (hl), e seg000:77B3 jr loc_7792 seg000:77B3 ; End of function sub_778D seg000:77B3 seg000:77B5 ; --------------------------------------------------------------------------- seg000:77B5 ; START OF FUNCTION CHUNK FOR sub_772C seg000:77B5 seg000:77B5 loc_77B5: ; CODE XREF: sub_772C+28j seg000:77B5 pop bc seg000:77B6 pop hl seg000:77B7 pop hl seg000:77B8 ret seg000:77B8 ; END OF FUNCTION CHUNK FOR sub_772C seg000:77B9 seg000:77B9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:77B9 seg000:77B9 seg000:77B9 sub_77B9: ; CODE XREF: seg000:7672p seg000:77B9 call dataPtrToDE seg000:77BC inc de seg000:77BD inc de seg000:77BE ld hl, 1101h seg000:77C1 rst 28h seg000:77C1 ; --------------------------------------------------------------------------- seg000:77C2 dw 42F7h ; _InsertMem seg000:77C4 ; --------------------------------------------------------------------------- seg000:77C4 push de seg000:77C5 ld h, d seg000:77C6 ld l, e seg000:77C7 inc de seg000:77C8 ld bc, 1100h seg000:77CB ld (hl), 0 seg000:77CD ldir seg000:77CF pop de seg000:77D0 ld hl, 0D77h seg000:77D3 add hl, de seg000:77D4 ld (hl), e seg000:77D5 inc hl seg000:77D6 ld (hl), d seg000:77D7 ld (word_8007+1), de seg000:77DB call installInterrupt seg000:77DE call prepareInterruptJump seg000:77E1 call sub_564E seg000:77E4 ret seg000:77E4 ; End of function sub_77B9 seg000:77E4 seg000:77E5 ; --------------------------------------------------------------------------- seg000:77E5 ; START OF FUNCTION CHUNK FOR options_screen seg000:77E5 seg000:77E5 loc_77E5: ; CODE XREF: options_screen+A39j seg000:77E5 call sub_7525 seg000:77E8 call sub_79EB seg000:77EB call sub_7804 seg000:77EE call sub_7899 seg000:77F1 xor a seg000:77F2 ld (word_9684), sp seg000:77F6 call maybesetupint seg000:77F9 call unk_9D96 seg000:77FC im 1 seg000:77FE call sub_7828 seg000:7801 jp loc_7589 seg000:7801 ; END OF FUNCTION CHUNK FOR options_screen seg000:7804 seg000:7804 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7804 seg000:7804 seg000:7804 sub_7804: ; CODE XREF: options_screen+A44p seg000:7804 ; seg000:7651p ... seg000:7804 call getinfo seg000:7807 push de seg000:7808 push hl seg000:7809 push bc seg000:780A ld de, 9677h seg000:780D ld hl, 8478h seg000:7810 rst 28h seg000:7810 ; --------------------------------------------------------------------------- seg000:7811 dw 415Fh ; _Mov9B seg000:7813 ; --------------------------------------------------------------------------- seg000:7813 pop bc seg000:7814 pop hl seg000:7815 pop de seg000:7816 ret seg000:7816 ; End of function sub_7804 seg000:7816 seg000:7817 seg000:7817 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7817 seg000:7817 seg000:7817 sub_7817: ; CODE XREF: seg000:7696p seg000:7817 ; seg000:76B4p ... seg000:7817 push de seg000:7818 push hl seg000:7819 push bc seg000:781A ld hl, 9677h seg000:781D rst 20h seg000:781E rst 28h seg000:781E ; --------------------------------------------------------------------------- seg000:781F dw 42F1h ; _ChkFindSym seg000:7821 ; --------------------------------------------------------------------------- seg000:7821 ld (word_9671), hl seg000:7824 pop bc seg000:7825 pop hl seg000:7826 pop de seg000:7827 ret seg000:7827 ; End of function sub_7817 seg000:7827 seg000:7828 seg000:7828 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7828 seg000:7828 seg000:7828 sub_7828: ; CODE XREF: options_screen+A77p seg000:7828 ; sub_76E1+Dp ... seg000:7828 ld de, 4 seg000:782B ld (unk_993E), de seg000:782F ld hl, (word_9673) seg000:7832 xor a seg000:7833 ld (unk_993C), a seg000:7836 seg000:7836 loc_7836: ; CODE XREF: sub_7828+2Aj seg000:7836 ld bc, 768 seg000:7839 ld (curVATptr), hl seg000:783C or a seg000:783D sbc hl, bc seg000:783F jr nc, loc_784A seg000:7841 ld bc, (curVATptr) seg000:7845 ld a, 1 seg000:7847 ld (unk_993C), a seg000:784A seg000:784A loc_784A: ; CODE XREF: sub_7828+17j seg000:784A call loc_785A seg000:784D ld a, (unk_993C) seg000:7850 or a seg000:7851 ret nz seg000:7852 jr loc_7836 seg000:7852 ; End of function sub_7828 seg000:7852 seg000:7852 ; --------------------------------------------------------------------------- seg000:7854 aYay: .ascii 'Yay =)' seg000:785A ; --------------------------------------------------------------------------- seg000:785A seg000:785A loc_785A: ; CODE XREF: sub_7828:loc_784Ap seg000:785A push hl seg000:785B push bc seg000:785C ld de, savesScreen seg000:785F ld hl, userMem seg000:7862 ldir seg000:7864 pop bc seg000:7865 push bc seg000:7866 push bc seg000:7867 pop de seg000:7868 ld hl, userMem seg000:786B push de seg000:786C rst 28h seg000:786C ; --------------------------------------------------------------------------- seg000:786D dw 4357h ; _DelMem seg000:786F ; --------------------------------------------------------------------------- seg000:786F call sub_7817 seg000:7872 ld hl, (word_9671) seg000:7875 call dataPtrToDE seg000:7878 ld hl, (word_96A3) seg000:787B add hl, de seg000:787C ld de, (unk_993E) seg000:7880 add hl, de seg000:7881 pop de seg000:7882 ex de, hl seg000:7883 push de seg000:7884 rst 28h seg000:7884 ; --------------------------------------------------------------------------- seg000:7885 dw 42F7h ; _InsertMem seg000:7887 ; --------------------------------------------------------------------------- seg000:7887 pop de seg000:7888 ld hl, savesScreen seg000:788B pop bc seg000:788C push bc seg000:788D ldir seg000:788F pop bc seg000:7890 ld hl, (unk_993E) seg000:7893 add hl, bc seg000:7894 ld (unk_993E), hl seg000:7897 pop hl seg000:7898 ret seg000:7899 seg000:7899 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7899 seg000:7899 seg000:7899 sub_7899: ; CODE XREF: options_screen+A47p seg000:7899 ; sub_76CD+Ep ... seg000:7899 push de seg000:789A pop bc seg000:789B push bc seg000:789C pop hl seg000:789D dec hl seg000:789E dec hl seg000:789F dec hl seg000:78A0 dec hl seg000:78A1 ld (word_9673), hl seg000:78A4 xor a seg000:78A5 ld (unk_993C), a seg000:78A8 ld bc, userMem seg000:78AB ld (unk_993E), bc seg000:78AF seg000:78AF loc_78AF: ; CODE XREF: sub_7899+46j seg000:78AF push hl seg000:78B0 call sub_7817 seg000:78B3 ld hl, (word_9671) seg000:78B6 call dataPtrToDE seg000:78B9 ld hl, (word_96A3) seg000:78BC add hl, de seg000:78BD ex de, hl seg000:78BE pop hl seg000:78BF inc de seg000:78C0 inc de seg000:78C1 inc de seg000:78C2 inc de seg000:78C3 ld bc, 768 seg000:78C6 ld (curVATptr), hl seg000:78C9 or a seg000:78CA sbc hl, bc seg000:78CC jr nc, loc_78D7 seg000:78CE ld bc, (curVATptr) seg000:78D2 ld a, 1 seg000:78D4 ld (unk_993C), a seg000:78D7 seg000:78D7 loc_78D7: ; CODE XREF: sub_7899+33j seg000:78D7 call sub_78E1 seg000:78DA ld a, (unk_993C) seg000:78DD or a seg000:78DE ret nz seg000:78DF jr loc_78AF seg000:78DF ; End of function sub_7899 seg000:78DF seg000:78E1 seg000:78E1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:78E1 seg000:78E1 seg000:78E1 sub_78E1: ; CODE XREF: sub_7899:loc_78D7p seg000:78E1 push hl seg000:78E2 push de seg000:78E3 push de seg000:78E4 ld hl, savesScreen seg000:78E7 ex de, hl seg000:78E8 push bc seg000:78E9 ldir seg000:78EB pop bc seg000:78EC pop de seg000:78ED ex de, hl seg000:78EE push bc seg000:78EF push bc seg000:78F0 pop de seg000:78F1 rst 28h seg000:78F1 ; --------------------------------------------------------------------------- seg000:78F2 dw 4357h ; _DelMem seg000:78F4 ; --------------------------------------------------------------------------- seg000:78F4 pop bc seg000:78F5 ld de, (unk_993E) seg000:78F9 push bc seg000:78FA push bc seg000:78FB pop hl seg000:78FC rst 28h seg000:78FC ; --------------------------------------------------------------------------- seg000:78FD dw 42F7h ; _InsertMem seg000:78FF ; --------------------------------------------------------------------------- seg000:78FF pop bc seg000:7900 ld de, (unk_993E) seg000:7904 ld hl, savesScreen seg000:7907 push bc seg000:7908 ldir seg000:790A ld (unk_993E), de seg000:790E pop bc seg000:790F pop de seg000:7910 pop hl seg000:7911 ret seg000:7911 ; End of function sub_78E1 seg000:7911 seg000:7912 ; --------------------------------------------------------------------------- seg000:7912 ; START OF FUNCTION CHUNK FOR options_screen seg000:7912 seg000:7912 loc_7912: ; CODE XREF: options_screen+A34j seg000:7912 push hl seg000:7913 ld hl, MiscOpts seg000:7916 ld a, (hl) seg000:7917 ld (unk_9675), a seg000:791A res 3, (hl) seg000:791C pop hl seg000:791D call sub_7804 seg000:7920 call sub_79EB seg000:7923 call getinfo seg000:7926 set 1, (iy+apdFlags) seg000:792A ld hl, (unk_89EC) seg000:792D ld (word_9974), hl seg000:7930 ld hl, cmdShadow seg000:7933 ld de, linkBuffer seg000:7936 ld bc, 128 seg000:7939 ldir seg000:793B set 6, (iy+0Ch) seg000:793F set indicRun, (iy+indicFlags) seg000:7943 ld hl, (word_844B) seg000:7946 push hl seg000:7947 ld hl, 0 seg000:794A ld (word_844B), hl seg000:794D ld hl, textShadow seg000:7950 ld b, 128 seg000:7952 res indicOnly, (iy+indicFlags) seg000:7956 seg000:7956 loc_7956: ; CODE XREF: options_screen+DA6j seg000:7956 ld a, (hl) seg000:7957 rst 28h seg000:7957 ; --------------------------------------------------------------------------- seg000:7958 dw 4504h ; _PutC seg000:795A ; --------------------------------------------------------------------------- seg000:795A inc hl seg000:795B djnz loc_7956 seg000:795D set indicOnly, (iy+indicFlags) seg000:7961 pop hl seg000:7962 ld (word_844B), hl seg000:7965 im 1 seg000:7967 rst 28h seg000:7967 ; --------------------------------------------------------------------------- seg000:7968 dw 4C87h ; _EnableApd seg000:796A ; --------------------------------------------------------------------------- seg000:796A ld hl, parseHandler seg000:796D call 59h seg000:7970 rst 28h seg000:7970 ; --------------------------------------------------------------------------- seg000:7971 dw 4A9Bh ; _ParseInp seg000:7973 ; --------------------------------------------------------------------------- seg000:7973 call 5Ch seg000:7976 seg000:7976 parseHandler: ; DATA XREF: options_screen+DB5o seg000:7976 rst 28h seg000:7976 ; --------------------------------------------------------------------------- seg000:7977 dw 4C84h ; _DisableApd seg000:7979 ; --------------------------------------------------------------------------- seg000:7979 ld hl, linkBuffer seg000:797C ld de, cmdShadow seg000:797F ld bc, 128 seg000:7982 ldir seg000:7984 res 0, (iy+12h) seg000:7988 call sub_7817 seg000:798B res onInterrupt, (iy+onFlags) seg000:798F ld hl, (word_9974) seg000:7992 ld (unk_89EC), hl seg000:7995 ld hl, (word_9671) seg000:7998 ld a, (cmdShadow) seg000:799B or a seg000:799C call nz, sub_79C0 seg000:799F ld a, (unk_9675) seg000:79A2 ld (MiscOpts), a seg000:79A5 jp loc_7590 seg000:79A5 ; END OF FUNCTION CHUNK FOR options_screen seg000:79A5 ; --------------------------------------------------------------------------- seg000:79A8 aReArchivingProgram___:.ascii 'Re-Archiving Program...',0 seg000:79A8 ; DATA XREF: sub_79C0+10o seg000:79C0 seg000:79C0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:79C0 seg000:79C0 seg000:79C0 sub_79C0: ; CODE XREF: options_screen+9D8p seg000:79C0 ; options_screen+DE7p seg000:79C0 ld hl, MiscOpts seg000:79C3 bit 3, (hl) seg000:79C5 jr z, loc_79DE seg000:79C7 ld hl, 0 seg000:79CA ld (penCol), hl seg000:79CD rst 28h seg000:79CD ; --------------------------------------------------------------------------- seg000:79CE dw 4BD0h ; _GrBufClr seg000:79D0 ; --------------------------------------------------------------------------- seg000:79D0 ld hl, aReArchivingProgram___ ; "Re-Archiving Program..." seg000:79D3 call vputsc seg000:79D6 call ifastcopy seg000:79D9 ld hl, (word_9671) seg000:79DC jr loc_79F3 seg000:79DE ; --------------------------------------------------------------------------- seg000:79DE seg000:79DE loc_79DE: ; CODE XREF: sub_79C0+5j seg000:79DE ld hl, aZ1_ ; "\x05Z,1." seg000:79E1 rst 20h seg000:79E2 rst 28h seg000:79E2 ; --------------------------------------------------------------------------- seg000:79E3 dw 42F1h ; _ChkFindSym seg000:79E5 ; --------------------------------------------------------------------------- seg000:79E5 ret c seg000:79E6 rst 28h seg000:79E6 ; --------------------------------------------------------------------------- seg000:79E7 dw 4351h ; _DelVar seg000:79E9 ; --------------------------------------------------------------------------- seg000:79E9 xor a seg000:79EA ret seg000:79EA ; End of function sub_79C0 seg000:79EA seg000:79EB seg000:79EB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:79EB seg000:79EB seg000:79EB sub_79EB: ; CODE XREF: options_screen+A41p seg000:79EB ; seg000:764Ep ... seg000:79EB call getVarPage seg000:79EE ld (cmdShadow), a seg000:79F1 or a seg000:79F2 ret z seg000:79F3 seg000:79F3 loc_79F3: ; CODE XREF: sub_79C0+1Cj seg000:79F3 call getinfo seg000:79F6 ld (curVATptr), hl seg000:79F9 push hl seg000:79FA ld hl, MiscOpts seg000:79FD bit 3, (hl) seg000:79FF pop hl seg000:7A00 jr z, loc_7A13 seg000:7A02 ld hl, errHandler seg000:7A05 call 59h seg000:7A08 rst 28h seg000:7A08 ; --------------------------------------------------------------------------- seg000:7A09 dw 4FD8h ; _Arc_Unarc seg000:7A0B ; --------------------------------------------------------------------------- seg000:7A0B call 5Ch seg000:7A0E ld hl, (curVATptr) seg000:7A11 xor a seg000:7A12 ret seg000:7A13 ; --------------------------------------------------------------------------- seg000:7A13 seg000:7A13 loc_7A13: ; CODE XREF: sub_79EB+15j seg000:7A13 dec de seg000:7A14 dec de seg000:7A15 ld (unk_993C), de seg000:7A19 ld hl, aZ1_ ; "\x05Z,1." seg000:7A1C rst 20h seg000:7A1D ld hl, errHandler seg000:7A20 call 59h seg000:7A23 ld hl, (unk_993C) seg000:7A26 rst 28h seg000:7A26 ; --------------------------------------------------------------------------- seg000:7A27 dw 4339h ; _CreateProg seg000:7A29 ; --------------------------------------------------------------------------- seg000:7A29 ld (unk_993C), hl seg000:7A2C call 5Ch seg000:7A2F call dataPtrToDE seg000:7A32 push de seg000:7A33 ld hl, (curVATptr) seg000:7A36 call dataPtrToDE seg000:7A39 inc de seg000:7A3A inc de seg000:7A3B pop hl seg000:7A3C ld c, (hl) seg000:7A3D inc hl seg000:7A3E ld b, (hl) seg000:7A3F inc hl seg000:7A40 ex de, hl seg000:7A41 rst 28h seg000:7A41 ; --------------------------------------------------------------------------- seg000:7A42 dw 5017h ; _FlashToRam seg000:7A44 ; --------------------------------------------------------------------------- seg000:7A44 ld hl, (unk_993C) seg000:7A47 xor a seg000:7A48 ret seg000:7A48 ; End of function sub_79EB seg000:7A48 seg000:7A49 ; --------------------------------------------------------------------------- seg000:7A49 seg000:7A49 errHandler: ; CODE XREF: seg000:763Ej seg000:7A49 ; DATA XREF: sub_79EB+17o ... seg000:7A49 pop hl seg000:7A4A ld a, 1 seg000:7A4C or a seg000:7A4D ld hl, (curVATptr) seg000:7A50 jp loc_7590 seg000:7A53 ; --------------------------------------------------------------------------- seg000:7A53 ret seg000:7A54 seg000:7A54 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7A54 seg000:7A54 seg000:7A54 enableTokenHook: ; CODE XREF: SaveTheWhales+40p seg000:7A54 ld hl, myTokenHook seg000:7A57 in a, (6) seg000:7A59 rst 28h seg000:7A59 ; --------------------------------------------------------------------------- seg000:7A5A dw 4F99h ; _SetTokenHook seg000:7A5C ; --------------------------------------------------------------------------- seg000:7A5C ret seg000:7A5C ; End of function enableTokenHook seg000:7A5C seg000:7A5D ; --------------------------------------------------------------------------- seg000:7A5D seg000:7A5D myTokenHook: ; DATA XREF: enableTokenHooko seg000:7A5D add a, e seg000:7A5E push hl seg000:7A5F ld hl, 2 seg000:7A62 rst 28h seg000:7A62 ; --------------------------------------------------------------------------- seg000:7A63 dw 400Ch ; _CpHLDE seg000:7A65 ; --------------------------------------------------------------------------- seg000:7A65 jr z, loc_7A90 seg000:7A67 ld hl, 546h seg000:7A6A rst 28h seg000:7A6A ; --------------------------------------------------------------------------- seg000:7A6B dw 400Ch ; _cphlde seg000:7A6D ; --------------------------------------------------------------------------- seg000:7A6D jr z, loc_7A8B seg000:7A6F ld hl, 48h ; 'H' seg000:7A72 rst 28h seg000:7A72 ; --------------------------------------------------------------------------- seg000:7A73 dw 400Ch ; _cphlde seg000:7A75 ; --------------------------------------------------------------------------- seg000:7A75 jr z, loc_7A86 seg000:7A77 ld hl, 14Ah seg000:7A7A rst 28h seg000:7A7A ; --------------------------------------------------------------------------- seg000:7A7B dw 400Ch ; _cphlde seg000:7A7D ; --------------------------------------------------------------------------- seg000:7A7D jr z, loc_7A81 seg000:7A7F pop hl seg000:7A80 ret nz seg000:7A81 seg000:7A81 loc_7A81: ; CODE XREF: seg000:7A7Dj seg000:7A81 ld hl, aSquare ; "\aSquare(" seg000:7A84 jr loc_7A93 seg000:7A86 ; --------------------------------------------------------------------------- seg000:7A86 seg000:7A86 loc_7A86: ; CODE XREF: seg000:7A75j seg000:7A86 ld hl, aJasonisr33t ; "\fJaSoNiSr33t(" seg000:7A89 jr loc_7A93 seg000:7A8B ; --------------------------------------------------------------------------- seg000:7A8B seg000:7A8B loc_7A8B: ; CODE XREF: seg000:7A6Dj seg000:7A8B ld hl, aAndrew ; "\x06Andrew" seg000:7A8E jr loc_7A93 seg000:7A90 ; --------------------------------------------------------------------------- seg000:7A90 seg000:7A90 loc_7A90: ; CODE XREF: seg000:7A65j seg000:7A90 ld hl, aJkde ; "\x05\x05JKDE" seg000:7A93 seg000:7A93 loc_7A93: ; CODE XREF: seg000:7A84j seg000:7A93 ; seg000:7A89j ... seg000:7A93 ld de, localTokStr+1 seg000:7A96 ld bc, 16 seg000:7A99 ldir seg000:7A9B ld hl, localTokStr seg000:7A9E pop bc seg000:7A9F ret seg000:7A9F ; --------------------------------------------------------------------------- seg000:7AA0 aJkde: .ascii '\x05\x05JKDE' ; DATA XREF: seg000:loc_7A90o seg000:7AA6 aAndrew: .ascii '\x06Andrew' ; DATA XREF: seg000:loc_7A8Bo seg000:7AAD aJasonisr33t: .ascii '\fJaSoNiSr33t(' ; DATA XREF: seg000:loc_7A86o seg000:7ABA aSquare: .ascii '\aSquare(' ; DATA XREF: seg000:loc_7A81o seg000:7AC2 seg000:7AC2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7AC2 seg000:7AC2 seg000:7AC2 dataPtrToDE: ; CODE XREF: sendprog_main+98p seg000:7AC2 ; sendprog_main+A9p ... seg000:7AC2 push hl seg000:7AC3 dec hl seg000:7AC4 dec hl seg000:7AC5 dec hl seg000:7AC6 ld e, (hl) seg000:7AC7 dec hl seg000:7AC8 ld d, (hl) seg000:7AC9 pop hl seg000:7ACA call getVarPage seg000:7ACD or a seg000:7ACE ret z seg000:7ACF push bc seg000:7AD0 push hl seg000:7AD1 ld hl, 9 seg000:7AD4 add hl, de seg000:7AD5 ld b, a seg000:7AD6 rst 28h seg000:7AD6 ; --------------------------------------------------------------------------- seg000:7AD7 dw 501Dh ; _LoadCIndPaged seg000:7AD9 ; --------------------------------------------------------------------------- seg000:7AD9 ld b, 0 seg000:7ADB inc c seg000:7ADC add hl, bc seg000:7ADD ex de, hl seg000:7ADE pop hl seg000:7ADF pop bc seg000:7AE0 ret seg000:7AE0 ; End of function dataPtrToDE seg000:7AE0 seg000:7AE1 seg000:7AE1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7AE1 seg000:7AE1 seg000:7AE1 getnext: ; CODE XREF: seg000:4113j seg000:7AE1 ; getinterfacep ... seg000:7AE1 push de seg000:7AE2 ld de, 0 seg000:7AE5 call cphlde seg000:7AE8 jr nz, getnext_middle seg000:7AEA ld hl, (progPtr) seg000:7AED jr getnext_1 seg000:7AEF ; --------------------------------------------------------------------------- seg000:7AEF seg000:7AEF getnext_middle: ; CODE XREF: getnext+7j seg000:7AEF ld de, 6 seg000:7AF2 sbc hl, de seg000:7AF4 ld e, (hl) seg000:7AF5 sbc hl, de seg000:7AF7 dec hl seg000:7AF8 ld de, (pTemp) seg000:7AFC seg000:7AFC getnext_1: ; CODE XREF: getnext+Cj seg000:7AFC rst 28h seg000:7AFC ; --------------------------------------------------------------------------- seg000:7AFD dw 400Ch ; _cphlde seg000:7AFF ; --------------------------------------------------------------------------- seg000:7AFF pop de seg000:7B00 ret seg000:7B00 ; End of function getnext seg000:7B00 seg000:7B01 seg000:7B01 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7B01 seg000:7B01 seg000:7B01 getprev: ; CODE XREF: seg000:4116j seg000:7B01 ; sub_683Fp ... seg000:7B01 ex de, hl seg000:7B02 ld hl, (progPtr) seg000:7B05 rst 28h seg000:7B05 ; --------------------------------------------------------------------------- seg000:7B06 dw 400Ch ; _cphlde seg000:7B08 ; --------------------------------------------------------------------------- seg000:7B08 ret z seg000:7B09 seg000:7B09 getprev_loop: ; CODE XREF: getprev+11j seg000:7B09 ld (curVATptr), hl seg000:7B0C call getnext seg000:7B0F call cphlde seg000:7B12 jr nz, getprev_loop seg000:7B14 ld hl, (curVATptr) seg000:7B17 inc d seg000:7B18 ret seg000:7B18 ; End of function getprev seg000:7B18 seg000:7B19 ; --------------------------------------------------------------------------- seg000:7B19 ld a, (hl) seg000:7B1A cp 6 seg000:7B1C jr z, isgoodprog_typeIsPrgm seg000:7B1E cp 5 seg000:7B20 jr z, isgoodprog_typeIsPrgm seg000:7B22 seg000:7B22 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7B22 seg000:7B22 seg000:7B22 isgoodprog: ; CODE XREF: seg000:4134j seg000:7B22 ; getnextgoodprog+8p ... seg000:7B22 ld a, (hl) seg000:7B23 cp 6 seg000:7B25 jr z, isgoodprog_typeIsPrgm2 seg000:7B27 cp 5 seg000:7B29 ret nz seg000:7B2A seg000:7B2A isgoodprog_typeIsPrgm2: ; CODE XREF: isgoodprog+3j seg000:7B2A dec hl seg000:7B2B ld ix, avdata seg000:7B2F ld a, (curfold) seg000:7B32 ld d, a seg000:7B33 ld a, (hl) seg000:7B34 bit 5, (ix+0) seg000:7B38 jr z, isgoodprog_1 seg000:7B3A and 7Fh ; '' seg000:7B3C seg000:7B3C isgoodprog_1: ; CODE XREF: isgoodprog+16j seg000:7B3C cp d seg000:7B3D inc hl seg000:7B3E ret nz seg000:7B3F seg000:7B3F isgoodprog_typeIsPrgm: ; CODE XREF: seg000:7B1Cj seg000:7B3F ; seg000:7B20j seg000:7B3F push bc seg000:7B40 call dataPtrToDE seg000:7B43 call copy100ToMem seg000:7B46 pop bc seg000:7B47 ld de, copyBuffer+2 seg000:7B4A ld a, (de) seg000:7B4B cp 0BBh ; '+' seg000:7B4D jr nz, isgoodprog_notAssembly seg000:7B4F inc de seg000:7B50 ld a, (de) seg000:7B51 cp 6Dh ; 'm' seg000:7B53 ret nz seg000:7B54 inc de seg000:7B55 ld a, (de) seg000:7B56 cp 0C9h ; '+' seg000:7B58 jr nz, isgoodprog_noRet seg000:7B5A inc de seg000:7B5B ld a, (de) seg000:7B5C cp 30h ; '0' seg000:7B5E ret z seg000:7B5F cp 3 seg000:7B61 jr nz, isgoodprog_2 seg000:7B63 ld a, 1 seg000:7B65 seg000:7B65 isgoodprog_2: ; CODE XREF: isgoodprog+3Fj seg000:7B65 or a seg000:7B66 ret z seg000:7B67 cp 1 seg000:7B69 ret seg000:7B6A ; --------------------------------------------------------------------------- seg000:7B6A seg000:7B6A isgoodprog_noRet: ; CODE XREF: isgoodprog+36j seg000:7B6A cp 0AFh ; '»' seg000:7B6C ret nz seg000:7B6D inc de seg000:7B6E ld a, (de) seg000:7B6F cp 30h ; '0' seg000:7B71 ret seg000:7B72 ; --------------------------------------------------------------------------- seg000:7B72 seg000:7B72 isgoodprog_notAssembly: ; CODE XREF: isgoodprog+2Bj seg000:7B72 cp 3Eh ; '>' seg000:7B74 ret z seg000:7B75 cp 0D9h ; '+' seg000:7B77 jr z, isgoodprog_4 seg000:7B79 cp 0D5h ; '+' seg000:7B7B ret nz seg000:7B7C seg000:7B7C isgoodprog_4: ; CODE XREF: isgoodprog+55j seg000:7B7C inc de seg000:7B7D ld a, (de) seg000:7B7E or a seg000:7B7F ret nz seg000:7B80 inc de seg000:7B81 ld a, (de) seg000:7B82 cp 30h ; '0' seg000:7B84 jr z, isgoodprog_3 seg000:7B86 seg000:7B86 isgoodprog_end: ; CODE XREF: isgoodprog+69j seg000:7B86 cp 11h seg000:7B88 ret seg000:7B89 ; --------------------------------------------------------------------------- seg000:7B89 seg000:7B89 isgoodprog_3: ; CODE XREF: isgoodprog+62j seg000:7B89 ld a, 11h seg000:7B8B jr isgoodprog_end seg000:7B8B ; End of function isgoodprog seg000:7B8B seg000:7B8D seg000:7B8D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7B8D seg000:7B8D seg000:7B8D getSizeOfVATvar: ; CODE XREF: sendprog_main+11p seg000:7B8D ; seg000:7659p ... seg000:7B8D push bc seg000:7B8E call dataPtrToDE seg000:7B91 call copy100ToMem seg000:7B94 ld a, (hl) seg000:7B95 push hl seg000:7B96 ld hl, copyBuffer seg000:7B99 rst 28h seg000:7B99 ; --------------------------------------------------------------------------- seg000:7B9A dw 436Ch ; _DataSize seg000:7B9C ; --------------------------------------------------------------------------- seg000:7B9C pop hl seg000:7B9D pop bc seg000:7B9E ret seg000:7B9E ; End of function getSizeOfVATvar seg000:7B9E seg000:7B9F seg000:7B9F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7B9F seg000:7B9F seg000:7B9F copy100ToMem: ; CODE XREF: getinterface+8p seg000:7B9F ; sub_683F+8p ... seg000:7B9F ld bc, 100 seg000:7BA2 call getVarPage seg000:7BA5 or a seg000:7BA6 jr z, copy100ToMem_inRAM seg000:7BA8 push hl seg000:7BA9 ex de, hl seg000:7BAA ld de, copyBuffer seg000:7BAD rst 28h seg000:7BAD ; --------------------------------------------------------------------------- seg000:7BAE dw 5017h ; _FlashToRam seg000:7BB0 ; --------------------------------------------------------------------------- seg000:7BB0 pop hl seg000:7BB1 ret seg000:7BB2 ; --------------------------------------------------------------------------- seg000:7BB2 seg000:7BB2 copy100ToMem_inRAM: ; CODE XREF: copy100ToMem+7j seg000:7BB2 push hl seg000:7BB3 ex de, hl seg000:7BB4 ld de, copyBuffer seg000:7BB7 ldir seg000:7BB9 pop hl seg000:7BBA ret seg000:7BBA ; End of function copy100ToMem seg000:7BBA seg000:7BBB seg000:7BBB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7BBB seg000:7BBB seg000:7BBB getVarPage: ; CODE XREF: seg000:68B2p seg000:7BBB ; sub_79EBp ... seg000:7BBB push hl seg000:7BBC dec hl seg000:7BBD dec hl seg000:7BBE dec hl seg000:7BBF dec hl seg000:7BC0 dec hl seg000:7BC1 ld a, (hl) seg000:7BC2 pop hl seg000:7BC3 ret seg000:7BC3 ; End of function getVarPage seg000:7BC3 seg000:7BC4 seg000:7BC4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7BC4 seg000:7BC4 seg000:7BC4 getnextgoodprog: ; CODE XREF: seg000:410Dj seg000:7BC4 ; find_num_good_progs+7p ... seg000:7BC4 ld (iMathPtr4), hl seg000:7BC7 seg000:7BC7 getnextgoodprog_loop: ; CODE XREF: getnextgoodprog+Cj seg000:7BC7 call getnext seg000:7BCA jr z, getnextgoodprog_atEnd seg000:7BCC call isgoodprog seg000:7BCF ret z seg000:7BD0 jr getnextgoodprog_loop seg000:7BD2 ; --------------------------------------------------------------------------- seg000:7BD2 seg000:7BD2 getnextgoodprog_atEnd: ; CODE XREF: getnextgoodprog+6j seg000:7BD2 ; getprevgoodprog+6j seg000:7BD2 ld hl, (iMathPtr4) seg000:7BD5 xor a seg000:7BD6 inc a seg000:7BD7 ret seg000:7BD7 ; End of function getnextgoodprog seg000:7BD7 seg000:7BD8 seg000:7BD8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7BD8 seg000:7BD8 seg000:7BD8 getprevgoodprog: ; CODE XREF: seg000:4110j seg000:7BD8 ; mainUpPressed+13p ... seg000:7BD8 ld (iMathPtr4), hl seg000:7BDB seg000:7BDB getprevgoodprog_loop: ; CODE XREF: getprevgoodprog+Cj seg000:7BDB call getprev seg000:7BDE jr z, getnextgoodprog_atEnd seg000:7BE0 call isgoodprog seg000:7BE3 ret z seg000:7BE4 jr getprevgoodprog_loop seg000:7BE4 ; End of function getprevgoodprog seg000:7BE4 seg000:7BE4 ; --------------------------------------------------------------------------- seg000:7BE6 aBasicProgram: .ascii 'Basic Program: ',0 ; DATA XREF: getinfo+ACo seg000:7BF6 seg000:7BF6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7BF6 seg000:7BF6 seg000:7BF6 getinfo: ; CODE XREF: seg000:411Fj seg000:7BF6 ; sendprog_main+21p ... seg000:7BF6 ld b, 0 seg000:7BF8 call isgoodprog seg000:7BFB cp 30h ; '0' seg000:7BFD jp z, getinfo_1 seg000:7C00 cp 11h seg000:7C02 jr z, getinfo_2 seg000:7C04 cp 3Eh ; '>' seg000:7C06 jr z, getinfo_3 seg000:7C08 push hl seg000:7C09 ld bc, 30 seg000:7C0C ld hl, copyBuffer+6 seg000:7C0F ld de, rambutton seg000:7C12 ldir seg000:7C14 ld a, (copyBuffer+5) seg000:7C17 cp 3 seg000:7C19 jr nz, getinfo_4 seg000:7C1B inc hl seg000:7C1C inc hl seg000:7C1D seg000:7C1D getinfo_4: ; CODE XREF: getinfo+23j seg000:7C1D ld de, ramdesc seg000:7C20 rst 28h seg000:7C20 ; --------------------------------------------------------------------------- seg000:7C21 dw 44E3h ; _strcopy seg000:7C23 ; --------------------------------------------------------------------------- seg000:7C23 pop hl seg000:7C24 ld b, 80h ; 'Ç' seg000:7C26 jp getinfo_5 seg000:7C29 ; --------------------------------------------------------------------------- seg000:7C29 seg000:7C29 getinfo_3: ; CODE XREF: getinfo+10j seg000:7C29 push hl seg000:7C2A pop hl seg000:7C2B call VATnameToOP1 seg000:7C2E push hl seg000:7C2F ld hl, button_1 seg000:7C32 ld b, 1 seg000:7C34 jr loc_7C56 seg000:7C36 ; --------------------------------------------------------------------------- seg000:7C36 seg000:7C36 getinfo_2: ; CODE XREF: getinfo+Cj seg000:7C36 push hl seg000:7C37 seg000:7C37 loc_7C37: seg000:7C37 ld hl, copyBuffer+5 seg000:7C3A ld de, ramdesc seg000:7C3D rst 28h seg000:7C3D ; --------------------------------------------------------------------------- seg000:7C3E dw 44E3h ; _strcopy seg000:7C40 ; --------------------------------------------------------------------------- seg000:7C40 ld b, 20h ; ' ' seg000:7C42 ld hl, button_2 seg000:7C45 jr loc_7C56 seg000:7C47 ; --------------------------------------------------------------------------- seg000:7C47 seg000:7C47 getinfo_1: ; CODE XREF: getinfo+7j seg000:7C47 push hl seg000:7C48 ld hl, copyBuffer+7 seg000:7C4B ld de, ramdesc seg000:7C4E rst 28h seg000:7C4E ; --------------------------------------------------------------------------- seg000:7C4F dw 44E3h ; _strcopy seg000:7C51 ; --------------------------------------------------------------------------- seg000:7C51 ld b, 2 seg000:7C53 ld hl, button_3 seg000:7C56 seg000:7C56 loc_7C56: ; CODE XREF: getinfo+3Ej seg000:7C56 ; getinfo+4Fj seg000:7C56 ld de, rambutton seg000:7C59 push bc seg000:7C5A ld bc, 16 seg000:7C5D ldir seg000:7C5F ld bc, 14 seg000:7C62 ld hl, button_end seg000:7C65 ldir seg000:7C67 pop bc seg000:7C68 pop hl seg000:7C69 seg000:7C69 getinfo_5: ; CODE XREF: getinfo+30j seg000:7C69 dec hl seg000:7C6A ld a, (hl) seg000:7C6B inc hl seg000:7C6C and 80h ; 'Ç' seg000:7C6E jr z, getinfo_T2_1 seg000:7C70 set 4, b seg000:7C72 seg000:7C72 getinfo_T2_1: ; CODE XREF: getinfo+78j seg000:7C72 call getSizeOfVATvar seg000:7C75 ld a, (hl) seg000:7C76 cp 6 seg000:7C78 jr nz, getinfo_notProtProg seg000:7C7A set 2, b seg000:7C7C seg000:7C7C getinfo_notProtProg: ; CODE XREF: getinfo+82j seg000:7C7C call VATnameToOP1 seg000:7C7F call getVarPage seg000:7C82 or a seg000:7C83 jr z, getinfo_inRAM seg000:7C85 set 3, b seg000:7C87 seg000:7C87 getinfo_inRAM: ; CODE XREF: getinfo+8Dj seg000:7C87 ld a, (hl) seg000:7C88 ld (OP1), a seg000:7C8B bit 0, (iy+asm_Flag1) seg000:7C8F ret nz seg000:7C90 call fillRamsize seg000:7C93 call parseOP2 seg000:7C96 call getRamdescPixelWidth seg000:7C99 bit 0, b seg000:7C9B ret z seg000:7C9C push hl seg000:7C9D push de seg000:7C9E push bc seg000:7C9F ld de, ramdesc seg000:7CA2 ld hl, aBasicProgram ; "Basic Program: " seg000:7CA5 rst 28h seg000:7CA5 ; --------------------------------------------------------------------------- seg000:7CA6 dw 44E3h ; _strcopy seg000:7CA8 ; --------------------------------------------------------------------------- seg000:7CA8 ld hl, OP2 seg000:7CAB rst 28h seg000:7CAB ; --------------------------------------------------------------------------- seg000:7CAC dw 44E3h ; _strcopy seg000:7CAE ; --------------------------------------------------------------------------- seg000:7CAE ld hl, copyBuffer+3 seg000:7CB1 ld a, (hl) seg000:7CB2 cp 2Ah ; '*' seg000:7CB4 jr nz, getinfo_endRamdescCopy seg000:7CB6 inc hl seg000:7CB7 xor a seg000:7CB8 ld de, ramdesc seg000:7CBB seg000:7CBB getinfo_basicParseLoop: ; CODE XREF: getinfo+F9j seg000:7CBB ; getinfo+FDj seg000:7CBB ld b, a seg000:7CBC ld a, (hl) seg000:7CBD cp 3Fh ; '?' seg000:7CBF jr z, getinfo_endRamdescCopy seg000:7CC1 ld a, b seg000:7CC2 push de seg000:7CC3 push hl seg000:7CC4 push af seg000:7CC5 rst 28h seg000:7CC5 ; --------------------------------------------------------------------------- seg000:7CC6 dw 4594h ; _GET_TOK_STRING seg000:7CC8 ; --------------------------------------------------------------------------- seg000:7CC8 pop af seg000:7CC9 add a, c seg000:7CCA pop hl seg000:7CCB pop de seg000:7CCC cp 28h ; '(' seg000:7CCE jr nc, getinfo_endRamdescCopy seg000:7CD0 push hl seg000:7CD1 ld hl, OP3 seg000:7CD4 ldir seg000:7CD6 pop hl seg000:7CD7 push af seg000:7CD8 ld a, (hl) seg000:7CD9 inc hl seg000:7CDA cp 0BBh ; '+' seg000:7CDC jr z, getinfo_good seg000:7CDE cp 0AAh ; '¬' seg000:7CE0 jr z, getinfo_good seg000:7CE2 cp 7Eh ; '~' seg000:7CE4 jr z, getinfo_good seg000:7CE6 sub 5Ch ; '\' seg000:7CE8 jr c, getinfo_bad seg000:7CEA cp 8 seg000:7CEC jr c, getinfo_good seg000:7CEE seg000:7CEE getinfo_bad: ; CODE XREF: getinfo+F2j seg000:7CEE pop af seg000:7CEF jr getinfo_basicParseLoop seg000:7CF1 ; --------------------------------------------------------------------------- seg000:7CF1 seg000:7CF1 getinfo_good: ; CODE XREF: getinfo+E6j seg000:7CF1 ; getinfo+EAj ... seg000:7CF1 pop af seg000:7CF2 inc hl seg000:7CF3 jr getinfo_basicParseLoop seg000:7CF5 ; --------------------------------------------------------------------------- seg000:7CF5 pop af seg000:7CF6 seg000:7CF6 getinfo_endRamdescCopy: ; CODE XREF: getinfo+BEj seg000:7CF6 ; getinfo+C9j ... seg000:7CF6 xor a seg000:7CF7 ld (de), a seg000:7CF8 pop bc seg000:7CF9 pop de seg000:7CFA pop hl seg000:7CFB ret seg000:7CFB ; End of function getinfo seg000:7CFB seg000:7CFC seg000:7CFC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7CFC seg000:7CFC seg000:7CFC parseOP2: ; CODE XREF: getinfo+9Dp seg000:7CFC push hl seg000:7CFD push af seg000:7CFE ld hl, OP2 seg000:7D01 seg000:7D01 parseOP2_loop: ; CODE XREF: parseOP2+Cj seg000:7D01 ; parseOP2+10j ... seg000:7D01 ld a, (hl) seg000:7D02 or a seg000:7D03 inc hl seg000:7D04 jr z, parseOP2_continue seg000:7D06 cp 7Bh ; '{' seg000:7D08 jr nc, parseOP2_loop seg000:7D0A cp 61h ; 'a' seg000:7D0C jr c, parseOP2_loop seg000:7D0E dec hl seg000:7D0F sub 20h ; ' ' seg000:7D11 ld (hl), a seg000:7D12 inc hl seg000:7D13 jr parseOP2_loop seg000:7D15 ; --------------------------------------------------------------------------- seg000:7D15 seg000:7D15 parseOP2_continue: ; CODE XREF: parseOP2+8j seg000:7D15 ld hl, OP2 seg000:7D18 ld a, (hl) seg000:7D19 bit 4, b seg000:7D1B jr z, parseOP2_end seg000:7D1D cp 1Ch seg000:7D1F jr nz, parseOP2_1 seg000:7D21 ld (hl), 0DCh ; '_' seg000:7D23 seg000:7D23 parseOP2_1: ; CODE XREF: parseOP2+23j seg000:7D23 cp 1Ch seg000:7D25 jr nc, parseOP2_end seg000:7D27 add a, 40h ; '@' seg000:7D29 ld (hl), a seg000:7D2A seg000:7D2A parseOP2_end: ; CODE XREF: parseOP2+1Fj seg000:7D2A ; parseOP2+29j seg000:7D2A pop af seg000:7D2B pop hl seg000:7D2C ret seg000:7D2C ; End of function parseOP2 seg000:7D2C seg000:7D2D seg000:7D2D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7D2D seg000:7D2D seg000:7D2D fillRamsize: ; CODE XREF: getinfo+9Ap seg000:7D2D push hl seg000:7D2E push af seg000:7D2F push bc seg000:7D30 push de seg000:7D31 xor a seg000:7D32 ld hl, OP2 seg000:7D35 ld b, 0FFh seg000:7D37 cpir seg000:7D39 ld de, OP1+5 seg000:7D3C or a seg000:7D3D sbc hl, de seg000:7D3F pop de seg000:7D40 add hl, de seg000:7D41 ld (ramsize), hl seg000:7D44 pop bc seg000:7D45 pop af seg000:7D46 pop hl seg000:7D47 ret seg000:7D47 ; End of function fillRamsize seg000:7D47 seg000:7D48 seg000:7D48 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7D48 seg000:7D48 seg000:7D48 getRamdescPixelWidth: ; CODE XREF: getinfo+A0p seg000:7D48 push hl seg000:7D49 push de seg000:7D4A push af seg000:7D4B push bc seg000:7D4C ld hl, ramdesc seg000:7D4F ld b, 0 seg000:7D51 seg000:7D51 getRamdescPixelWidth_loop: ; CODE XREF: getRamdescPixelWidth+1Fj seg000:7D51 ld a, (hl) seg000:7D52 or a seg000:7D53 jr z, getRamdescPixelWidth_end seg000:7D55 push hl seg000:7D56 push bc seg000:7D57 rst 28h seg000:7D57 ; --------------------------------------------------------------------------- seg000:7D58 dw 4CB1h ; _LoadPattern seg000:7D5A ; --------------------------------------------------------------------------- seg000:7D5A pop bc seg000:7D5B ld a, (hl) seg000:7D5C add a, b seg000:7D5D cp 85 seg000:7D5F ld b, a seg000:7D60 pop hl seg000:7D61 jr c, getRamdescPixelWidth_continue seg000:7D63 ld (hl), 0 seg000:7D65 dec hl seg000:7D66 seg000:7D66 getRamdescPixelWidth_continue: ; CODE XREF: getRamdescPixelWidth+19j seg000:7D66 inc hl seg000:7D67 jr getRamdescPixelWidth_loop seg000:7D69 ; --------------------------------------------------------------------------- seg000:7D69 seg000:7D69 getRamdescPixelWidth_end: ; CODE XREF: getRamdescPixelWidth+Bj seg000:7D69 pop bc seg000:7D6A pop af seg000:7D6B pop de seg000:7D6C pop hl seg000:7D6D ret seg000:7D6D ; End of function getRamdescPixelWidth seg000:7D6D seg000:7D6E seg000:7D6E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7D6E seg000:7D6E seg000:7D6E VATnameToOP1: ; CODE XREF: delprogp seg000:7D6E ; getinfo+35p ... seg000:7D6E push bc seg000:7D6F push de seg000:7D70 push hl seg000:7D71 ld a, (hl) seg000:7D72 ld (OP1), a seg000:7D75 or a seg000:7D76 ld de, 6 seg000:7D79 sbc hl, de seg000:7D7B ld b, (hl) seg000:7D7C dec hl seg000:7D7D ld a, 5Dh ; ']' seg000:7D7F cp (hl) seg000:7D80 jr z, VATnameToOP1_isList seg000:7D82 seg000:7D82 VATnameToOP1_continue: ; CODE XREF: VATnameToOP1+5Cj seg000:7D82 ld de, OP1_plus_1 seg000:7D85 seg000:7D85 VATnameToOP1_tinyLoop: ; CODE XREF: VATnameToOP1+1Bj seg000:7D85 ld a, (hl) seg000:7D86 ld (de), a seg000:7D87 inc de seg000:7D88 dec hl seg000:7D89 djnz VATnameToOP1_tinyLoop seg000:7D8B xor a seg000:7D8C ld (de), a seg000:7D8D ld hl, OP1_plus_1 seg000:7D90 ld de, OP2 seg000:7D93 push de seg000:7D94 rst 28h seg000:7D94 ; --------------------------------------------------------------------------- seg000:7D95 dw 44E3h ; _strcopy seg000:7D97 ; --------------------------------------------------------------------------- seg000:7D97 pop de seg000:7D98 ld hl, 25ABh ; accidental string for "MA" on certain ROM versions seg000:7D9B ld b, 2 seg000:7D9D push hl seg000:7D9E push bc seg000:7D9F call compstrsn seg000:7DA2 pop bc seg000:7DA3 pop hl seg000:7DA4 jr nz, weird_quit seg000:7DA6 call compstrsn seg000:7DA9 jr nz, weird_quit seg000:7DAB ld hl, aMia ; "MIA" seg000:7DAE call compstrs seg000:7DB1 jr nz, weird_quit seg000:7DB3 ld hl, aMoo ; "MOO!!!" seg000:7DB6 ld de, ramdesc seg000:7DB9 rst 28h seg000:7DB9 ; --------------------------------------------------------------------------- seg000:7DBA dw 44E3h ; _strcopy seg000:7DBC ; --------------------------------------------------------------------------- seg000:7DBC seg000:7DBC weird_quit: ; CODE XREF: VATnameToOP1+36j seg000:7DBC ; VATnameToOP1+3Bj ... seg000:7DBC pop hl seg000:7DBD pop de seg000:7DBE pop bc seg000:7DBF ret seg000:7DBF ; --------------------------------------------------------------------------- seg000:7DC0 aMoo: .ascii 'MOO!!!',0 ; DATA XREF: VATnameToOP1+45o seg000:7DC7 ; --------------------------------------------------------------------------- seg000:7DC7 seg000:7DC7 VATnameToOP1_isList: ; CODE XREF: VATnameToOP1+12j seg000:7DC7 dec b seg000:7DC8 dec b seg000:7DC9 dec hl seg000:7DCA jr VATnameToOP1_continue seg000:7DCA ; End of function VATnameToOP1 seg000:7DCA seg000:7DCC ; --------------------------------------------------------------------------- seg000:7DCC push hl seg000:7DCD push de seg000:7DCE call VATnameToOP1 seg000:7DD1 ld hl, OP2 seg000:7DD4 ld de, ramdesc seg000:7DD7 rst 28h seg000:7DD7 ; --------------------------------------------------------------------------- seg000:7DD8 dw 44E3h ; _strcopy seg000:7DDA ; --------------------------------------------------------------------------- seg000:7DDA pop de seg000:7DDB pop hl seg000:7DDC ret seg000:7DDD seg000:7DDD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7DDD seg000:7DDD seg000:7DDD installInterrupt: ; CODE XREF: sub_77B9+22p seg000:7DDD ld hl, (appData+8) seg000:7DE0 ld de, 1536 seg000:7DE3 add hl, de seg000:7DE4 ld bc, 257 seg000:7DE7 ld a, 8Eh ; 'Ä' seg000:7DE9 rst 28h seg000:7DE9 ; --------------------------------------------------------------------------- seg000:7DEA dw 4C33h ; _MemSet seg000:7DEC ; --------------------------------------------------------------------------- seg000:7DEC ld hl, (appData+8) seg000:7DEF ld de, 0E8Eh seg000:7DF2 add hl, de seg000:7DF3 ex de, hl seg000:7DF4 ld hl, interruptCode seg000:7DF7 ld bc, 105 seg000:7DFA ldir seg000:7DFC ld a, 86h ; 'å' seg000:7DFE ld i, a seg000:7E00 im 2 seg000:7E02 ret seg000:7E02 ; End of function installInterrupt seg000:7E02 seg000:7E03 ; --------------------------------------------------------------------------- seg000:7E03 seg000:7E03 interruptCode: ; DATA XREF: installInterrupt+17o seg000:7E03 di seg000:7E04 ex af, af' seg000:7E05 exx seg000:7E06 xor a seg000:7E07 out (3), a seg000:7E09 res 0, (iy+2Ch) seg000:7E0D call 275h ; What? Returns something in A with C set/reset, whatever it is seg000:7E10 jr c, interruptCode_1 seg000:7E12 ld hl, appData+2 seg000:7E15 cp (hl) seg000:7E16 ld hl, appData+4 seg000:7E19 jr z, interruptCode_2 seg000:7E1B ld (appData+2), a seg000:7E1E ld (hl), 5 seg000:7E20 seg000:7E20 interruptCode_2: ; CODE XREF: seg000:7E19j seg000:7E20 or a seg000:7E21 jr nz, interruptCode_3 seg000:7E23 dec (hl) seg000:7E24 jr nz, interruptCode_4 seg000:7E26 inc (hl) seg000:7E27 seg000:7E27 interruptCode_3: ; CODE XREF: seg000:7E21j seg000:7E27 ld hl, appData+1 seg000:7E2A cp (hl) seg000:7E2B jr nz, interruptCode_5 seg000:7E2D or a seg000:7E2E jr z, interruptCode_4 seg000:7E30 cp 38h ; '8' seg000:7E32 jr z, loc_7E38 seg000:7E34 cp 5 seg000:7E36 jr nc, interruptCode_4 seg000:7E38 seg000:7E38 loc_7E38: ; CODE XREF: seg000:7E32j seg000:7E38 ld hl, appData+3 seg000:7E3B dec (hl) seg000:7E3C jr nz, interruptCode_4 seg000:7E3E ld (hl), 0Ah seg000:7E40 ld (appData), a seg000:7E43 jr interruptCode_4 seg000:7E45 ; --------------------------------------------------------------------------- seg000:7E45 seg000:7E45 interruptCode_5: ; CODE XREF: seg000:7E2Bj seg000:7E45 ld (appData), a seg000:7E48 ld (hl), a seg000:7E49 ld a, 32h ; '2' seg000:7E4B ld (appData+3), a seg000:7E4E jr interruptCode_4 seg000:7E50 ; --------------------------------------------------------------------------- seg000:7E50 seg000:7E50 interruptCode_1: ; CODE XREF: seg000:7E10j seg000:7E50 ld a, 0FFh seg000:7E52 ld (appData+2), a seg000:7E55 ld a, 5 seg000:7E57 ld (appData+4), a seg000:7E5A seg000:7E5A interruptCode_4: ; CODE XREF: seg000:7E24j seg000:7E5A ; seg000:7E2Ej ... seg000:7E5A ld a, 0Bh seg000:7E5C out (3), a seg000:7E5E ld a, (appData) seg000:7E61 or a seg000:7E62 jr z, loc_7E67 seg000:7E64 ld (appData+6), a seg000:7E67 seg000:7E67 loc_7E67: ; CODE XREF: seg000:7E62j seg000:7E67 exx seg000:7E68 ex af, af' seg000:7E69 ei seg000:7E6A reti seg000:7E6C seg000:7E6C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7E6C seg000:7E6C seg000:7E6C prepareInterruptJump: ; CODE XREF: sub_77B9+25p seg000:7E6C ld de, 0D88h seg000:7E6F ld hl, (appData+8) seg000:7E72 add hl, de seg000:7E73 ex de, hl seg000:7E74 ld hl, someKindaJumpTable seg000:7E77 ld bc, 15 seg000:7E7A ldir seg000:7E7C ld de, 0D74h seg000:7E7F ld hl, (appData+8) seg000:7E82 add hl, de seg000:7E83 ld (hl), 0C3h ; '+' ; jump opcode seg000:7E85 ld de, specialJumpCode seg000:7E88 inc hl seg000:7E89 ld (hl), e seg000:7E8A inc hl seg000:7E8B ld (hl), d seg000:7E8C ret seg000:7E8C ; End of function prepareInterruptJump seg000:7E8C seg000:7E8D ; --------------------------------------------------------------------------- seg000:7E8D seg000:7E8D someKindaJumpTable: ; DATA XREF: prepareInterruptJump+8o seg000:7E8D jp quittoshell seg000:7E90 ; --------------------------------------------------------------------------- seg000:7E90 jp rand127 seg000:7E93 ; --------------------------------------------------------------------------- seg000:7E93 jp cphlbc seg000:7E96 ; --------------------------------------------------------------------------- seg000:7E96 jp loc_53C0 seg000:7E99 ; --------------------------------------------------------------------------- seg000:7E99 jp myfastcopyOfSomething seg000:7E99 ; --------------------------------------------------------------------------- seg000:7E9C aZ1_: .ascii '\x05Z,1.',0 ; DATA XREF: sub_79C0:loc_79DEo seg000:7E9C ; sub_79EB+2Eo seg000:7EA2 ; --------------------------------------------------------------------------- seg000:7EA2 ; START OF FUNCTION CHUNK FOR filledrectangle seg000:7EA2 seg000:7EA2 loc_7EA2: ; CODE XREF: filledrectangle+Aj seg000:7EA2 pop af seg000:7EA3 push de seg000:7EA4 push hl seg000:7EA5 ld c, a seg000:7EA6 ld a, d seg000:7EA7 sub h seg000:7EA8 inc a seg000:7EA9 ld b, a seg000:7EAA ld d, h seg000:7EAB seg000:7EAB loc_7EAB: ; CODE XREF: filledrectangle-5j seg000:7EAB push bc seg000:7EAC push hl seg000:7EAD push de seg000:7EAE ld a, c seg000:7EAF call fastline seg000:7EB2 pop de seg000:7EB3 pop hl seg000:7EB4 inc d seg000:7EB5 inc h seg000:7EB6 pop bc seg000:7EB7 djnz loc_7EAB seg000:7EB9 pop hl seg000:7EBA pop de seg000:7EBB ret seg000:7EBB ; END OF FUNCTION CHUNK FOR filledrectangle seg000:7EBC seg000:7EBC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7EBC seg000:7EBC seg000:7EBC filledrectangle: ; CODE XREF: seg000:413Dj seg000:7EBC ; defaultAppStart+C5p ... seg000:7EBC seg000:7EBC ; FUNCTION CHUNK AT seg000:7EA2 SIZE 0000001A BYTES seg000:7EBC seg000:7EBC push af seg000:7EBD ld a, e seg000:7EBE sub l seg000:7EBF inc a seg000:7EC0 ld b, a seg000:7EC1 ld a, d seg000:7EC2 sub h seg000:7EC3 inc a seg000:7EC4 cp 0Ah seg000:7EC6 jr c, loc_7EA2 seg000:7EC8 cp 10h seg000:7ECA jr nc, loc_7ED5 seg000:7ECC set 7, c seg000:7ECE ld a, d seg000:7ECF and 7 seg000:7ED1 cp 7 seg000:7ED3 jr nz, loc_7EE3 seg000:7ED5 seg000:7ED5 loc_7ED5: ; CODE XREF: filledrectangle+Ej seg000:7ED5 ld a, h seg000:7ED6 and 0F8h ; '°' seg000:7ED8 ld c, a seg000:7ED9 ld a, d seg000:7EDA sub c seg000:7EDB srl a seg000:7EDD srl a seg000:7EDF srl a seg000:7EE1 dec a seg000:7EE2 ld c, a seg000:7EE3 seg000:7EE3 loc_7EE3: ; CODE XREF: filledrectangle+17j seg000:7EE3 push de seg000:7EE4 ld a, h seg000:7EE5 ld e, l seg000:7EE6 ld h, 0 seg000:7EE8 ld d, h seg000:7EE9 add hl, de seg000:7EEA add hl, de seg000:7EEB add hl, hl seg000:7EEC add hl, hl seg000:7EED ld e, a seg000:7EEE srl e seg000:7EF0 srl e seg000:7EF2 srl e seg000:7EF4 add hl, de seg000:7EF5 ld de, plotSScreen seg000:7EF8 add hl, de seg000:7EF9 pop de seg000:7EFA push hl seg000:7EFB push bc seg000:7EFC ld c, d seg000:7EFD and 7 seg000:7EFF ld l, a seg000:7F00 ld h, 0 seg000:7F02 ld de, FunkyTable seg000:7F05 add hl, de seg000:7F06 ld a, (hl) seg000:7F07 cpl seg000:7F08 ld b, a seg000:7F09 ld a, c seg000:7F0A and 7 seg000:7F0C ld l, a seg000:7F0D ld h, 0 seg000:7F0F ld de, NoIdeaTable seg000:7F12 add hl, de seg000:7F13 ld a, (hl) seg000:7F14 ld c, a seg000:7F15 push bc seg000:7F16 pop de seg000:7F17 pop bc seg000:7F18 pop hl seg000:7F19 pop af seg000:7F1A or a seg000:7F1B jr z, loc_7F40 seg000:7F1D dec a seg000:7F1E jr z, loc_7F64 seg000:7F20 seg000:7F20 loc_7F20: ; CODE XREF: filledrectangle+81j seg000:7F20 push bc seg000:7F21 push hl seg000:7F22 ld a, (hl) seg000:7F23 xor d seg000:7F24 ld (hl), a seg000:7F25 inc hl seg000:7F26 bit 7, c seg000:7F28 jr nz, loc_7F32 seg000:7F2A ld b, c seg000:7F2B seg000:7F2B loc_7F2B: ; CODE XREF: filledrectangle+74j seg000:7F2B ld a, (hl) seg000:7F2C xor 0FFh seg000:7F2E ld (hl), a seg000:7F2F inc hl seg000:7F30 djnz loc_7F2B seg000:7F32 seg000:7F32 loc_7F32: ; CODE XREF: filledrectangle+6Cj seg000:7F32 ld a, (hl) seg000:7F33 xor e seg000:7F34 ld (hl), a seg000:7F35 pop hl seg000:7F36 push de seg000:7F37 ld de, 0Ch seg000:7F3A add hl, de seg000:7F3B pop de seg000:7F3C pop bc seg000:7F3D djnz loc_7F20 seg000:7F3F ret seg000:7F40 ; --------------------------------------------------------------------------- seg000:7F40 seg000:7F40 loc_7F40: ; CODE XREF: filledrectangle+5Fj seg000:7F40 ; filledrectangle+A5j seg000:7F40 push bc seg000:7F41 push hl seg000:7F42 ld a, (hl) seg000:7F43 or d seg000:7F44 xor d seg000:7F45 ld (hl), a seg000:7F46 inc hl seg000:7F47 bit 7, c seg000:7F49 jr nz, loc_7F55 seg000:7F4B ld b, c seg000:7F4C seg000:7F4C loc_7F4C: ; CODE XREF: filledrectangle+97j seg000:7F4C ld a, (hl) seg000:7F4D or 0FFh seg000:7F4F xor 0FFh seg000:7F51 ld (hl), a seg000:7F52 inc hl seg000:7F53 djnz loc_7F4C seg000:7F55 seg000:7F55 loc_7F55: ; CODE XREF: filledrectangle+8Dj seg000:7F55 ld a, (hl) seg000:7F56 or e seg000:7F57 xor e seg000:7F58 ld (hl), a seg000:7F59 pop hl seg000:7F5A push de seg000:7F5B ld de, 0Ch seg000:7F5E add hl, de seg000:7F5F pop de seg000:7F60 pop bc seg000:7F61 djnz loc_7F40 seg000:7F63 ret seg000:7F64 ; --------------------------------------------------------------------------- seg000:7F64 seg000:7F64 loc_7F64: ; CODE XREF: filledrectangle+62j seg000:7F64 ; filledrectangle+C5j seg000:7F64 push bc seg000:7F65 push hl seg000:7F66 ld a, (hl) seg000:7F67 or d seg000:7F68 ld (hl), a seg000:7F69 inc hl seg000:7F6A bit 7, c seg000:7F6C jr nz, loc_7F76 seg000:7F6E ld b, c seg000:7F6F seg000:7F6F loc_7F6F: ; CODE XREF: filledrectangle+B8j seg000:7F6F ld a, (hl) seg000:7F70 or 0FFh seg000:7F72 ld (hl), a seg000:7F73 inc hl seg000:7F74 djnz loc_7F6F seg000:7F76 seg000:7F76 loc_7F76: ; CODE XREF: filledrectangle+B0j seg000:7F76 ld a, (hl) seg000:7F77 or e seg000:7F78 ld (hl), a seg000:7F79 pop hl seg000:7F7A push de seg000:7F7B ld de, 0Ch seg000:7F7E add hl, de seg000:7F7F pop de seg000:7F80 pop bc seg000:7F81 djnz loc_7F64 seg000:7F83 ret seg000:7F83 ; End of function filledrectangle seg000:7F83 seg000:7F84 seg000:7F84 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7F84 seg000:7F84 seg000:7F84 filledrectangle_save: ; CODE XREF: seg000:417Fj seg000:7F84 ; sub_70E1+17p seg000:7F84 push af seg000:7F85 push de seg000:7F86 push hl seg000:7F87 call filledrectangle seg000:7F8A pop hl seg000:7F8B pop de seg000:7F8C pop af seg000:7F8D ret seg000:7F8D ; End of function filledrectangle_save seg000:7F8D seg000:7F8E seg000:7F8E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:7F8E seg000:7F8E seg000:7F8E FastRectangle_Save: ; CODE XREF: seg000:412Bj seg000:7F8E ; seg000:6FF7p seg000:7F8E push af seg000:7F8F push de seg000:7F90 push hl seg000:7F91 call fastrectangle seg000:7F94 pop hl seg000:7F95 pop de seg000:7F96 pop af seg000:7F97 ret seg000:7F97 ; End of function FastRectangle_Save seg000:7F97 seg000:7F97 ; --------------------------------------------------------------------------- seg000:7F98 db 2 seg000:7F99 db 2Dh ; - seg000:7F9A db 40h ; @ seg000:7F9B db 4Fh ; O seg000:7F9C db 0A7h ; º seg000:7F9D db 5Dh ; ] seg000:7F9E db 87h ; ç seg000:7F9F db 87h ; ç seg000:7FA0 db 69h ; i seg000:7FA1 db 56h ; V seg000:7FA2 db 0ACh ; ¼ seg000:7FA3 db 0F5h ; ) seg000:7FA4 db 6Fh ; o seg000:7FA5 db 0Ah seg000:7FA6 db 0BBh ; + seg000:7FA7 db 0D4h ; + seg000:7FA8 db 0B4h ; ¦ seg000:7FA9 db 0FBh ; v seg000:7FAA db 0DAh ; + seg000:7FAB db 0D2h ; - seg000:7FAC db 0CAh ; - seg000:7FAD db 0E9h ; T seg000:7FAE db 8Eh ; Ä seg000:7FAF db 0BAh ; ¦ seg000:7FB0 db 0Bh seg000:7FB1 db 0C9h ; + seg000:7FB2 db 26h ; & seg000:7FB3 db 0F1h ; ± seg000:7FB4 db 0CAh ; - seg000:7FB5 db 0FDh ; ² seg000:7FB6 db 77h ; w seg000:7FB7 db 60h ; ` seg000:7FB8 db 0C6h ; ¦ seg000:7FB9 db 7Ah ; z seg000:7FBA db 72h ; r seg000:7FBB db 0DCh ; _ seg000:7FBC db 0C6h ; ¦ seg000:7FBD db 0B1h ; ¦ seg000:7FBE db 0C8h ; + seg000:7FBF db 0D9h ; + seg000:7FC0 db 4Fh ; O seg000:7FC1 db 13h seg000:7FC2 db 87h ; ç seg000:7FC3 db 98h ; ÿ seg000:7FC4 db 67h ; g seg000:7FC5 db 0B8h ; + seg000:7FC6 db 34h ; 4 seg000:7FC7 db 8 seg000:7FC8 db 74h ; t seg000:7FC9 db 0BDh ; + seg000:7FCA db 0BDh ; + seg000:7FCB db 24h ; $ seg000:7FCC db 78h ; x seg000:7FCD db 0B9h ; ¦ seg000:7FCE db 0CAh ; - seg000:7FCF db 0B7h ; + seg000:7FD0 db 75h ; u seg000:7FD1 db 6Fh ; o seg000:7FD2 db 26h ; & seg000:7FD3 db 2Ch ; , seg000:7FD4 db 7Bh ; { seg000:7FD5 db 0B3h ; ¦ seg000:7FD6 db 5Eh ; ^ seg000:7FD7 db 13h seg000:7FD8 db 0EBh ; d seg000:7FD9 db 3 seg000:7FDA db 5Bh ; [ seg000:7FDB db 0 seg000:7FDC ; UnusedFlashBytes