.nolist #include "joeti83.inc" #include "sos.inc" .list .org $9327 sosLocation =sram xor a jr start_of_program .dw 0 .dw title+1 start_of_program: call rindon ld hl,sos_name rst 20h call chksysvar ld (sosLocation),de ld hl,$95B8-$9327+2 add hl,de ld b,3 ld ix,sos_ver checkVersion: ld a,(hl) cp (ix) ret nz inc hl inc ix djnz checkVersion call homeup ld hl,title call puts ld de,2 ld (currow),de call puts ld de,3 ld (currow),de call puts retry1: call getkey or a jr z,retry1 ld hl,(sosLocation) ld de,$93D4-$9327+2 add hl,de ld (hl),a ld hl,14*256+3 ld (currow),hl ld a,'B' call putc call getkey ld hl,(sosLocation) ld de,$93D8-$9327+2 add hl,de ld (hl),a retry2: ld hl,3 ld (currow),hl ld hl,exit_txt call puts call getkey or a jr z,retry2 ld hl,(sosLocation) ld de,$93D4-$9327+2 push hl add hl,de cp (hl) pop hl jr z,retry2 ld de,$93D8-$9327+2 push hl add hl,de cp (hl) pop hl jr z,retry2 ld de,$93DC-$9327+2 add hl,de ld (hl),a call clrscr call homeup ld hl,finished_txt call puts call newline call puts call newline call puts call newline call puts key_loop: jp getkey title: .db " SOS Keys v1.7",0 .db "Press key to",0 .db "run a program A",0 exit_txt: .db "exit SOS ",0 finished_txt: .db "Restart SOS",0 .db "for your new",0 .db "settings to",0 .db "take place.",0 sos_name: .db 5,"ZSOS",0 sos_ver: .db "1.7" .end END