;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; d e T u r b o v1.0 ; for Usgard by Andreas Ess ; ;This is just a little demo TSR to deturbo your calculator ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ #include "usgard.h" .org 0 .db "deTurbo v1.1 by AE",0 Start: call CLEARLCD ld hl, VIDEO_MEM ld b, 112 FillLoop: ld (hl), 255 inc hl djnz FillLoop ld hl, $0020 ld (CURSOR_X), hl set 3, (iy+5) ld hl, (PROGRAM_ADDR) ;PROGRAM_ADDR = Title call D_ZM_STR res 3, (iy+5) ;Check if TSR is already installed using CHECK_APPEND. ; HL -> code to check(we only check the unmodified one) ; BC -> length of code. ld HL, (PROGRAM_ADDR) call CHECK_APPEND jr z, InstallTSR jr c, RemoveTSR ;TSR already installed? ld HL, &RemoveError jr WriteText InstallTSR: ld hl, $0001 ld (CURSOR_ROW), hl ld hl, &InstTxt call D_ZT_STR ld b, 100 jr Show Choice: call GET_KEY cp K_EXIT ret z cp K_ENTER jr z, Done cp K_UP jr z, Raise cp K_DOWN jr nz, Choice Lower: dec b jr Show Raise: inc b Show: ld HL, $1001 ld (CURSOR_ROW), hl ld H, 0 ld L, B call D_HL_DECI jr Choice Done: ld A, B ld (&TSRRoutine+1), A ld HL, &TSRRoutine ld BC, RoutineEnd-TSRRoutine ld DE, (PROGRAM_ADDR) call APPEND jr c, InstallError call INT_INSTALL jr nc, InstallOk call UNAPPEND InstallError: ld HL, &Error jr WriteText InstallOk: ld HL, &Installed WriteText: ld de, $0003 ld (CURSOR_ROW), de call D_ZT_STR call OTH_PAUSE ret RemoveTSR: call INT_REMOVE call UNAPPEND ld HL, &Removed jr WriteText TSRRoutine: ld b, 1 Delay1: ld c, 64 Delay2: dec c jr nz, Delay2 djnz Delay1 ret RoutineEnd: Installed: ;012345678901234567890 .db "Activated",0 InstTxt: .db "Set speed:",0 Removed: .db "Removed",0 Error: .db "Unable to install!",0 RemoveError: .db "Unable to remove!",0 .end