.nolist #include "ti84pce.inc" #macro bcall(x) call x #endmacro #DEFINE AppVarSize InPS2-TempBuf + InGetCSC-cpyInRAM + endInstantGoto-cpyInRAMGetCSC + endMemoryEditor-menuAppVar #DEFINE editArchivedProg 7 ; flag #DEFINE isProtected 6 ; flag #DEFINE GoUpDisplayed 5 ; flag #DEFINE GoDownDisplayed 4 ; flag #DEFINE archivedBasic 3 ; flag #DEFINE bugOccured pixelShadow #DEFINE nbrLbls pixelshadow2 #DEFINE lastLblDisplayed pixelshadow2+3 #DEFINE mn pixelshadow2+6 ; used as register #DEFINE nbrPrgmUnarc pixelshadow2+9 ; Memory Editor Feature #DEFINE nbrAVIgnore pixelshadow2 ; MENU : displays AppVars from (nbrAVIgnore) to (nbrAVIgnore)+9 #DEFINE namesBuf pixelshadow2+1 ; MENU : stores AV names #DEFINE cursorDataX pixelshadow2 ; EDIT : Horiz Pos of cursor [0-3] #DEFINE cursorDataY pixelshadow2+1 ; EDIT : Verti Pos of cursor [0-6] #DEFINE fstElWin pixelshadow2+3 ; MENU+EDIT : current address in the editor (First Element in Window) ; Flags of Memory Editor Feature #DEFINE baseADDR 2 ; AppVar = 0 / raw addr = 1 #DEFINE emptyMenu 1 ; menu does not contain any Appvar = 1 #DEFINE secNibble 2 ; edting MSB of (fstElWin) = 1 / edting LSB of (fstElWin) = 0 #DEFINE archivedAV 1 ; AV that's being edited is located in Archive #DEFINE isTi84CE 3 ; The calculator is a TI-84+CE = 1 / The calculator is a TI-83PCE = 0 .list .org userMem-2 .db tExtTok,tAsm84CeCmp call _clrlcdfull bit homescreenHookActive, (IY+hookFlags2) jp nz,uninstallPHASM res editArchivedProg, (IY+asm_Flag3) ld hl,Group call _mov9ToOp1 call _chkfindsym jp c,doesNotExist ld hl,32 add hl,de call _setHomescreenHook ld de,200 add hl,de call _setMenuHook ld de,162 add hl,de call _setGetCSCHook ld de,103 add hl,de call _setParserHook ld hl,AppVar call _Mov9ToOP1 call _chkfindsym call nc,_DELVARARC ld hl,AppVarSize push hl call _createAppVar inc de inc de ld hl,TempBuf pop bc ldir ld hl,(localLanguage) ld de,$02010C ; if French or a sbc hl,de ld hl,installed jr nz,INSisEN ld hl,installedFR INSisEN: ld a,3 ld (curcol),a ld (currow),a call _puts jp Quit uninstallPHASM: res homescreenHookActive, (IY+hookFlags2) res getCSCHookActive, (IY+hookFlags2) res MenuHookActive, (IY+hookFlags2) res ParserHookActive, (IY+hookFlags2) ld hl,AppVar call _Mov9ToOP1 call _chkfindsym call nc,_DELVARARC ld hl,(localLanguage) ld de,$02010C ; if French or a sbc hl,de ld hl,uninstalled jr nz,UNisEN ld hl,uninstalledFR UNisEN: ld a,3 ld (curcol),a ld (currow),a call _puts jr Quit doesNotExist: ld hl,(localLanguage) ld de,$02010C ; if French or a sbc hl,de ld hl,doesNotExistText jr nz,MISisEN ld hl,nexistePas MISisEN: ld a,4 ld (curcol),a ld a,1 ld (currow),a call _puts ld a,6 ld (curcol),a ld a,2 ld (currow),a call _puts push hl ld hl,2 ld (curcol),hl ld a,5 ld (currow),a pop hl call _puts ld a,2 ld (curcol),a ld a,6 ld (currow),a call _puts Quit: res editArchivedProg, (IY+asm_Flag3) call _getkey call _Clrtxtshd call _clrlcdfull call _homeup ret Group: .db GroupObj,"PHASM",0 AppVar: .db AppVarObj,"PH",0 doesNotExistText: .db "The PHASM Group is",0," missing.",0 .db "Please transfer it and",0,"run this program again.",0 nexistePas: .db " Le Groupe PHASM",0,"n'existe pas...",0 .db "Veuillez le transf",LeAcute,"rer",0," et re-ex",LeAcute,"cuter PHASM",0 installed: .db "PHASM is now online!",0 uninstalled: .db "PHASM is now offline.",0 installedFR: .db "PHASM a ",LeAcute,"t",LeAcute," activ",LeAcute," !",0 uninstalledFR: .db "PHASM a ",LeAcute,"t",LeAcute," d",LeAcute,"sactiv",LeAcute,0 #include "AppVar.z80" .echo InPS2 - TempBuf + InGetCSC - cpyInRAM .echo endInstantGoto-cpyInRAMGetCSC .echo AppVarSize .end