From ac3b80cbb11e8ba4423c4168e1f0422d03583846 Mon Sep 17 00:00:00 2001 From: Stephen Toth Date: Mon, 23 Jul 2018 00:39:26 -0400 Subject: [PATCH] yes --- bin/EASE.8Xp | Bin 0 -> 255 bytes bin/FSHa.8xp | Bin 9170 -> 9275 bytes bin/FSHa.lst | 3667 ++++++++++++++++---------------- includes/PrgmCommands/PRGM.asm | 4 +- includes/lib/prgm/Prgm.asm | 81 +- includes/static/define.inc | 2 + 6 files changed, 1903 insertions(+), 1851 deletions(-) create mode 100644 bin/EASE.8Xp diff --git a/bin/EASE.8Xp b/bin/EASE.8Xp new file mode 100644 index 0000000000000000000000000000000000000000..ab2099819ec8537ee6cda3987cb9a48c8a266349 GIT binary patch literal 255 zcmdPW3h}fscGHsLVhGO6OV3GFNXrBgDTyViDGI*%c?w>oISNL`3I+yNhGtgAh6+Xo z3=GE@cp0`bu(~=1yD|U)cf(eO%?$ST5AE+d+uwDuzw2agz>>@bB6#dwSdzKzoeP{; zl6mc)X}JeE26(L3($@0v^wZMz(bftKb#&3v4%F5P1_=ZU+F$dre?Q$>us|!KS*zgv zbQd5C2;Wb45@d-Ju)lAAJ=*?SpuLuJ1aE6_Wv+dB*`3CH`r z_v7vFy?JkLZ!T}Is$V!wneCMBdnUfPrm9@xKleR%k5sR9obyxl#%Qd!?Q)YRL#g-U z?HSYBhBKDRnpc+YT#AqzcVlE{ibS5zRmkUeW9mmuwCdnh&bs8`BV;z_fn05$bDRhFc}hSV7U_fVSh z3Ns*ZmH;4MIF+0Uygfbe8z(6uDG-R&w4f^W(EqUZ`0710@H0sCs=gwn#?s=-V`Mi;RMI ze{Zsv{OG5|*F(uegGR`uYm{sQkQv49%pC1ZfRfi+sQOia(&*}DIy`a<`Gv1N!FRFU zLpeVAwnd)r;il7*7KLi_!;C5DrMiHpzAit9$P|fZ8V1rt2mj)>U zk=z~t8^m#YWfw&tirXi^1~J?&3Q+_ixP7>rhCzpDGWt3|^+SGYH5hdUG}9rvi>|ht zSacSJJ4`IPihk`hvFIpD51LqX6SW8|8j13|%(!SG+A6SUAj;H2CP8!$ZS3YaQFJSa zZcGsUlfahdKR`2!Tblm@%?w+b?|^28EzR>lBg0&CRSQKu!eNQ70+Ebhi9RZ@CHiU5 z%;J{jy`Z@fKSFyPr{G-G@2HA#-P8q+^KlfIN*(9nm|3h5AIp9&0g>$Jq#ztSiv>Dy zL-zbh12(*#Js)RGZ=G}o27ob61+g|Yw{2+pMp=!r6HvV3ka?yJn?gMt( z;DC*0h%FOC*&MN^C6QUzY%=SaO=cZSBD0p+WY(`x+8b7C)~+Nr>zB=D-AW2;eTm_P zgYht{L|x42xXd#h*XMkwEbYM=u0o}#2hVrq%6srju9?mSaEU-d^~=#1smC9QE;RQ9_3~&8?G5t`!)Sk)&*liS za@w3l5#VSobQmp(2-1^@4)=>hNBhT3v`iPAa(&!9hX$-X14(%_%Dw@F>eYrItur{u zDhwU$GqETFl?`(If5o>$@i6q`77w*+Xgd_oN&iv&6)1k3MDgM`LGk0{i5K4p#V6-k z{ABT4pm-p~i@yoQGi()q0E%zKLo*wc-CG`AcD559Al5&VUz({kSE+ zwx-aYb#r6cQ`x30A=lv3%|2CVc=En5DPu`j`f-V8Ha<~sM0qB{3Yf+&js0{Hs|6G^1)S#X^ZU-Q?Z{0mV~ z(92P4_>tvW1uhtoaAei$N+Ae#zW>MEfxc||K2E7};M;-iTm^-qc2kQf7h zjO9j!AKI80ER~0(p@r>Zcj`q(blrMI{2lPT*Y?CS$&dDcesN}EaO3F?PpVehL-(X+ zbxozNQ+FAP^21jKd*$u~YmQS`WuE5S%g!chtoZK4w4Q9E^hW{!B;f@DM-#u!P6cu5$Bk%x4dtP6ly(gU``WSh*TxnxVPwJwb%&-aPk zPo%5lt$qt29VP8Dmu`{`1J=59lAMt_cM(k_aY1Wc8c2@HT$)FI3yJk;&eZ|%n-x){ z-$c?pw@L3q(mc0GA4JkTw>iIy9C>bY4$0i++<+YUy3P3;ncJMpf*uQClkP*(e1lCo zH;g%bX<^_#ji+qK1Ltc` z_0zvHSEV#M>DsJSv^o1^ayh!l5v#kF=e(n89|vh??u-5ao^=S{2R|ihr@SATxca>kiIo7XOnI-`s0VuIcu0)llBSB>#$nkIG+e5(5a{q)QP$sHCQrbzy< zxWLoI?&)CI7-Ia#VT!<*1pT|wk`dXcY-HX>mko*e+L*Ubi6v=@l#Ryp@q_L#`red{ zel!Kh7Dn7dRxU-5D^`>L6JL+waWLi;kJ|kt2}ujke~90N;^%2JEB^lceP+d1An({d zYiEyaR{Y;69znC>UqkUcx5XFXX;sjgf)CXUdc7dOOrEv5XBhMjJbQU$=B^Pdmrplq zsk`t~HH8KXtJQ@x-sMhkcf+(^K$p7?YN?}iM{y~=;mTAA{n=F%f3h3&e41UfZ}T~4 z60CXV59D)H!N2x>ZvLsG)%HcVK%B)~(54aknWyBCyGaDT`VU}LLk<7{ diff --git a/bin/FSHa.lst b/bin/FSHa.lst index a08043a..89c6108 100644 --- a/bin/FSHa.lst +++ b/bin/FSHa.lst @@ -139,11 +139,11 @@ Listing for file "FSHa.asm" 40 D1:A8CB - - - - Decode: 41 D1:A8CB 21 9F EA D0 LD HL, FshCmd 42 D1:A8CF 11 CF EA D0 LD DE, FshCmdOP - 43 D1:A8D3 CD 3D B7 D1 CALL commanddecode + 43 D1:A8D3 CD A6 B7 D1 CALL commanddecode 44 D1:A8D7 - - - - 45 D1:A8D7 - - - - Route: 46 D1:A8D7 21 CF EA D0 LD HL, FshCmdOP - 47 D1:A8DB C3 4A B7 D1 JP commandroute + 47 D1:A8DB C3 B3 B7 D1 JP commandroute 48 D1:A8DF - - - - 49 D1:A8DF - - - - Fin: 50 D1:A8DF CD 2F B5 D1 CALL updatestatusbar @@ -2152,7 +2152,7 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/fsh/Err.asm" 89 D1:B3F3 21 0F B4 D1 ld hl, ErrUsaget 90 D1:B3F7 CD C0 07 02 call _PutS 91 D1:B3FB 21 9F EA D0 ld hl, FshCmd - 92 D1:B3FF CD 27 B7 D1 call manrouteu + 92 D1:B3FF CD 90 B7 D1 call manrouteu 93 D1:B403 CD C0 07 02 call _PutS 94 D1:B407 CD F0 07 02 call _NewLine 95 D1:B40B C3 DF A8 D1 jp Fin @@ -2275,761 +2275,786 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/prgm.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/Prgm.asm" 1 D1:B534 - - - - #define prgmmovsize prgmmov_end - prgmmov_start 2 D1:B534 - - - - - 3 D1:B534 - - - - prgmbasic: - 4 D1:B534 - - - - - 5 D1:B534 - - - - prgmasm: - 6 D1:B534 CD 28 08 02 call _HomeUp - 7 D1:B538 CD 44 08 02 call _RunIndicOn - 8 D1:B53C CD 44 11 02 call _APDSetup - 9 D1:B540 CD 38 11 02 call _EnableAPD - 10 D1:B544 C3 D5 EE D0 jp prgmloader - 11 D1:B548 - - - - - 12 D1:B548 - - - - prgminstallload: - 13 D1:B548 21 57 B5 D1 ld hl, prgmloader_start - 14 D1:B54C 11 D5 EE D0 ld de, SafeSScreen - 15 D1:B550 01 C9 00 00 ld bc, prgmmovsize - 16 D1:B554 ED B0 - - ldir - 17 D1:B556 C9 - - - ret - 18 D1:B557 - - - - - 19 D1:B557 - - - - prgmloader_start: - 20 D1:B557 - - - - relocate(SafeSScreen) + 3 D1:B534 - - - - prgmrun: + 4 D1:B534 CD 28 08 02 call _HomeUp + 5 D1:B538 CD 44 08 02 call _RunIndicOn + 6 D1:B53C CD 44 11 02 call _APDSetup + 7 D1:B540 CD 38 11 02 call _EnableAPD + 8 D1:B544 C3 D5 EE D0 jp prgmloader + 9 D1:B548 - - - - + 10 D1:B548 - - - - prgminstallload: + 11 D1:B548 21 57 B5 D1 ld hl, prgmloader_start + 12 D1:B54C 11 D5 EE D0 ld de, SafeSScreen + 13 D1:B550 01 32 01 00 ld bc, prgmmovsize + 14 D1:B554 ED B0 - - ldir + 15 D1:B556 C9 - - - ret + 16 D1:B557 - - - - + 17 D1:B557 - - - - prgmloader_start: + 18 D1:B557 - - - - relocate(SafeSScreen) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/Prgm.asm" - 21 D0:EED5 - - - - - 22 D0:EED5 - - - - prgmmov_start: - 23 D0:EED5 - - - - prgmmov: - 24 D0:EED5 - - - - - 25 D0:EED5 - - - - prgmloader: - 26 D0:EED5 CD 66 EF D0 call prgm_del_usermem; now we deleted ourselves. cool. - 27 D0:EED9 - - - - - 28 D0:EED9 CD 74 03 00 call _boot_ClearVRAM - 29 D0:EEDD - - - - ;ld a,$2D - 30 D0:EEDD - - - - ;ld (mpLcdCtrl),a ; Set LCD to 16bpp - 31 D0:EEDD CD 3C 1A 02 call _DrawStatusBar - 32 D0:EEE1 - - - - ;ld hl,(prgmNamePtr) - 33 D0:EEE1 - - - - ;call NamePtrToOP1 - 34 D0:EEE1 - - - - ;bit isBasic,(iy+pgrmStatus) - 35 D0:EEE1 - - - - ;jp nz,RunBasicProgram - 36 D0:EEE1 3E 73 - - ld a, 's' - 37 D0:EEE3 CD B8 07 02 call _PutC - 38 D0:EEE7 CD 22 EF D0 call prgm_to_usermem; the program is now stored at userMem -- Now we need to check and see what kind of file it is - C or assembly - 39 D0:EEEB E5 - - - push hl - 40 D0:EEEC 21 0E EF D0 ld hl, prgmunloader - 41 D0:EEF0 CD 98 07 02 call _PushErrorHandler - 42 D0:EEF4 11 0E EF D0 ld de, prgmunloader - 43 D0:EEF8 D5 - - - push de - 44 D0:EEF9 C3 81 A8 D1 jp UserMem ; simply call userMem to execute the program - 45 D0:EEFD - - - - - 46 D0:EEFD - - - - RunBasicProgram: - 47 D0:EEFD CD 44 08 02 call _RunIndicOn - 48 D0:EF01 CD 7A EF D0 call DeleteTempProgramGetName - 49 D0:EF05 - - - - ;ld hl,(actualSizePrgm) - 50 D0:EF05 - - - - ;push hl - 51 D0:EF05 - - - - ;call _CreateProg ; create a temp program so we can execute - 52 D0:EF05 - - - - ;inc de - 53 D0:EF05 - - - - ;inc de - 54 D0:EF05 - - - - ;pop bc - 55 D0:EF05 - - - - ;call _ChkBCIs0 - 56 D0:EF05 - - - - ;jr z,InROM ; there's nothing to copy - 57 D0:EF05 - - - - ;ld hl,(prgmDataPtr) - 58 D0:EF05 - - - - ;ldi - 59 D0:EF05 - - - - ;jp po,InROM - 60 D0:EF05 - - - - ;ldir - 61 D0:EF05 CD C8 02 02 InROM: call _OP4ToOP1 - 62 D0:EF09 - - - - GoodInRAM: - 63 D0:EF09 - - - - ;ld de,apperr1 - 64 D0:EF09 - - - - ;ld hl,StopError - 65 D0:EF09 - - - - ;ld bc,StopErrorEnd-StopError - 66 D0:EF09 - - - - ;ldir - 67 D0:EF09 - - - - ;set graphdraw,(iy+graphFlags) - 68 D0:EF09 - - - - ;ld hl,ErrCatchBASIC - 69 D0:EF09 - - - - ;call _PushErrorHandler - 70 D0:EF09 - - - - ;set progExecuting,(iy+newdispf) - 71 D0:EF09 - - - - ;set allowProgTokens,(iy+newDispF) - 72 D0:EF09 - - - - ;set cmdExec,(iy+cmdFlags);settheseflagsto execute BASIC prgm - 73 D0:EF09 - - - - ;res onInterrupt,(iy+onflags) - 74 D0:EF09 - - - - ;ld hl,ReturnHereBASIC - 75 D0:EF09 - - - - ;push hl - 76 D0:EF09 - - - - ;sub a,a - 77 D0:EF09 - - - - ;ld (kbdGetKy),a - 78 D0:EF09 FB - - - ei - 79 D0:EF0A C3 00 0F 02 jp _ParseInp ; run program - 80 D0:EF0E - - - - - 81 D0:EF0E - - - - prgmunloader: - 82 D0:EF0E 21 98 EF D0 ld hl, prgmFsh - 83 D0:EF12 CD 20 03 02 call _Mov9ToOP1 - 84 D0:EF16 CD 22 EF D0 call prgm_to_usermem - 85 D0:EF1A CD 48 08 02 call _RunIndicOff - 86 D0:EF1E C3 81 A8 D1 jp userMem - 87 D0:EF22 - - - - - 88 D0:EF22 - - - - prgm_to_usermem: - 89 D0:EF22 3E 09 - - ld a, 09h ; 'add hl,bc' - 90 D0:EF24 32 62 EF D0 ld (offset_SMC),a - 91 D0:EF28 CD 0C 05 02 call _ChkFindSym - 92 D0:EF2C CD 98 1F 02 call _ChkInRam - 93 D0:EF30 EB - - - ex de,hl - 94 D0:EF31 28 0D - - jr z,AlreadyInRAM - 95 D0:EF33 AF - - - xor a,a - 96 D0:EF34 32 62 EF D0 ld (offset_SMC),a - 97 D0:EF38 11 09 00 00 ld de,9 - 98 D0:EF3C 19 - - - add hl,de - 99 D0:EF3D 5E - - - ld e,(hl) - 100 D0:EF3E 19 - - - add hl,de - 101 D0:EF3F 23 - - - inc hl - 102 D0:EF40 - - - - AlreadyInRAM: ; HL->totalPrgmSize bytes - 103 D0:EF40 CD 9C 1D 02 call _LoadDEInd_s - 104 D0:EF44 23 - - - inc hl - 105 D0:EF45 23 - - - inc hl ; bypass bytes $EF,$7B (texttok,tasm84cecmp) - 106 D0:EF46 E5 - - - push hl - 107 D0:EF47 D5 - - - push de - 108 D0:EF48 EB - - - ex de,hl - 109 D0:EF49 CD 2C 07 02 call _ErrNotEnoughMem; check and see if we have enough memory left for this operation - 110 D0:EF4D E1 - - - pop hl - 111 D0:EF4E 22 8C 11 D0 ld (asm_prgm_size),hl; store the totalPrgmSize of the program to asm_prgm_size for later use - 112 D0:EF52 11 81 A8 D1 ld de,userMem - 113 D0:EF56 D5 - - - push de - 114 D0:EF57 CD 14 05 02 call _InsertMem ; insert memory into the userspace - 115 D0:EF5B D1 - - - pop de - 116 D0:EF5C E1 - - - pop hl ; HL->start of program - 117 D0:EF5D ED 4B 8C 11 + 19 D0:EED5 - - - - + 20 D0:EED5 - - - - prgmmov_start: + 21 D0:EED5 - - - - prgmmov: + 22 D0:EED5 - - - - + 23 D0:EED5 - - - - prgmloader: + 24 D0:EED5 CD CF EF D0 call prgm_del_usermem; now we deleted ourselves. cool. + 25 D0:EED9 - - - - + 26 D0:EED9 CD 74 03 00 call _boot_ClearVRAM + 27 D0:EEDD - - - - ;ld a,$2D + 28 D0:EEDD - - - - ;ld (mpLcdCtrl),a ; Set LCD to 16bpp + 29 D0:EEDD CD 3C 1A 02 call _DrawStatusBar + 30 D0:EEE1 - - - - ;ld hl,(prgmNamePtr) + 31 D0:EEE1 - - - - ;call NamePtrToOP1 + 32 D0:EEE1 CD 8B EF D0 call prgm_to_usermem + 33 D0:EEE5 21 82 A8 D1 ld hl, userMem + 1 + 34 D0:EEE9 7E - - - ld a, (hl) + 35 D0:EEEA FE 7B - - cp a,tAsm84CECmp + 36 D0:EEEC 20 11 - - jr nz,RunBasicProgram ; is it a basic program + 37 D0:EEEE 21 60 EF D0 ld hl, prgmunloader + 38 D0:EEF2 CD 98 07 02 call _PushErrorHandler + 39 D0:EEF6 21 60 EF D0 ld hl, prgmunloader + 40 D0:EEFA E5 - - - push hl + 41 D0:EEFB C3 81 A8 D1 jp userMem ; simply call userMem to execute the program + 42 D0:EEFF - - - - + 43 D0:EEFF - - - - runBasicProgram: + 44 D0:EEFF CD 44 08 02 call _RunIndicOn + 45 D0:EF03 - - - - ;call DeleteTempProgramGetName + 46 D0:EF03 - - - - ;ld hl,(asm_prgm_size);actualSizePrgm) + 47 D0:EF03 - - - - ;push hl + 48 D0:EF03 - - - - ;call _CreateProg ; create a temp program so we can execute + 49 D0:EF03 - - - - ;inc de + 50 D0:EF03 - - - - ;inc de + 51 D0:EF03 - - - - ;pop bc + 52 D0:EF03 - - - - ;call _ChkBCIs0 + 53 D0:EF03 - - - - ; jr z,InROM ; there's nothing to copy + 54 D0:EF03 - - - - ; ld hl,(userMem) + 55 D0:EF03 - - - - ;ldi + 56 D0:EF03 - - - - ;jp po,InROM + 57 D0:EF03 - - - - ;ldir + 58 D0:EF03 - - - - InROM: ;call _OP4ToOP1 + 59 D0:EF03 - - - - GoodInRAM: + 60 D0:EF03 - - - - ;ld de,apperr1 + 61 D0:EF03 - - - - ;ld hl,StopError + 62 D0:EF03 - - - - ;ld bc,StopErrorEnd-StopError + 63 D0:EF03 - - - - ;ldir + 64 D0:EF03 FD CB 03 C6 set graphdraw,(iy+graphFlags) + 65 D0:EF07 21 00 00 00 ld hl,prgmerrunloader;ErrCatchBASIC + 66 D0:EF0B CD 98 07 02 call _PushErrorHandler + 67 D0:EF0F FD CB 08 CE set progExecuting,(iy+newdispf) + 68 D0:EF13 FD CB 08 CE set allowProgTokens,(iy+newDispF) + 69 D0:EF17 FD CB 0C F6 set cmdExec,(iy+cmdFlags) ;settheseflagsto execute BASIC prgm + 70 D0:EF1B FD CB 09 A6 res onInterrupt,(iy+onflags) + 71 D0:EF1F 21 60 EF D0 ld hl, prgmunloader + 72 D0:EF23 E5 - - - push hl + 73 D0:EF24 97 - - - sub a,a + 74 D0:EF25 32 8D 05 D0 ld (kbdGetKy),a + 75 D0:EF29 FB - - - ei + 76 D0:EF2A C3 00 0F 02 jp _ParseInp ; run program + 77 D0:EF2E - - - - + 78 D0:EF2E - - - - + 79 D0:EF2E - - - - ErrCatchBASIC: + 80 D0:EF2E CD 74 03 00 call _boot_ClearVRAM + 81 D0:EF32 CD 3C 1A 02 call _DrawStatusBar + 82 D0:EF36 CD 10 0E 02 call _DispErrorScreen + 83 D0:EF3A FD CB 05 DE set textInverse, (iy + textFlags) + 84 D0:EF3E 21 01 00 00 ld hl,1 + 85 D0:EF42 22 95 05 D0 ld (curRow),hl + 86 D0:EF46 21 00 00 00 ld hl,QuitStr1 + 87 D0:EF4A CD C0 07 02 call _PutS + 88 D0:EF4E 21 00 00 00 ld hl,QuitStr2 + 89 D0:EF52 FD CB 05 9E res textInverse, (iy + textFlags) + 90 D0:EF56 CD C0 07 02 call _PutS + 91 D0:EF5A CD 8C 0D 02 call _GetKey + 92 D0:EF5E 18 04 - - jr +_ + 93 D0:EF60 - - - - + 94 D0:EF60 - - - - + 95 D0:EF60 - - - - prgmunloader: + 96 D0:EF60 CD 9C 07 02 call _PopErrorHandler + 97 D0:EF64 21 01 F0 D0 _: ld hl, prgmFsh + 98 D0:EF68 CD 20 03 02 call _Mov9ToOP1 + 99 D0:EF6C CD 0C 05 02 call _ChkFindSym + 100 D0:EF70 CD 98 1F 02 call _ChkInRam + 101 D0:EF74 EB - - - ex de,hl + 102 D0:EF75 28 08 - - jr z,ExistsInRAM + 103 D0:EF77 11 09 00 00 ld de,9 + 104 D0:EF7B 19 - - - add hl,de + 105 D0:EF7C 5E - - - ld e,(hl) + 106 D0:EF7D 19 - - - add hl,de + 107 D0:EF7E 23 - - - inc hl + 108 D0:EF7F - - - - ExistsInRAM: ; HL->totalPrgmSize bytes + 109 D0:EF7F CD 8B EF D0 call prgm_to_usermem + 110 D0:EF83 CD 48 08 02 call _RunIndicOff + 111 D0:EF87 C3 81 A8 D1 jp userMem + 112 D0:EF8B - - - - + 113 D0:EF8B - - - - prgm_to_usermem: + 114 D0:EF8B 3E 09 - - ld a, 09h ; 'add hl,bc' + 115 D0:EF8D 32 CB EF D0 ld (offset_SMC),a + 116 D0:EF91 CD 0C 05 02 call _ChkFindSym + 117 D0:EF95 CD 98 1F 02 call _ChkInRam + 118 D0:EF99 EB - - - ex de,hl + 119 D0:EF9A 28 0D - - jr z,AlreadyInRAM + 120 D0:EF9C AF - - - xor a,a + 121 D0:EF9D 32 CB EF D0 ld (offset_SMC),a + 122 D0:EFA1 11 09 00 00 ld de,9 + 123 D0:EFA5 19 - - - add hl,de + 124 D0:EFA6 5E - - - ld e,(hl) + 125 D0:EFA7 19 - - - add hl,de + 126 D0:EFA8 23 - - - inc hl + 127 D0:EFA9 - - - - AlreadyInRAM: ; HL->totalPrgmSize bytes + 128 D0:EFA9 CD 9C 1D 02 call _LoadDEInd_s + 129 D0:EFAD 23 - - - inc hl + 130 D0:EFAE 23 - - - inc hl ; bypass bytes $EF,$7B (texttok,tasm84cecmp) + 131 D0:EFAF E5 - - - push hl + 132 D0:EFB0 D5 - - - push de + 133 D0:EFB1 EB - - - ex de,hl + 134 D0:EFB2 CD 2C 07 02 call _ErrNotEnoughMem; check and see if we have enough memory left for this operation + 135 D0:EFB6 E1 - - - pop hl + 136 D0:EFB7 22 8C 11 D0 ld (asm_prgm_size),hl; store the totalPrgmSize of the program to asm_prgm_size for later use + 137 D0:EFBB 11 81 A8 D1 ld de,userMem + 138 D0:EFBF D5 - - - push de + 139 D0:EFC0 CD 14 05 02 call _InsertMem ; insert memory into the userspace + 140 D0:EFC4 D1 - - - pop de + 141 D0:EFC5 E1 - - - pop hl ; HL->start of program + 142 D0:EFC6 ED 4B 8C 11 D0 - - - ld bc,(asm_prgm_size) ; load totalPrgmSize of current program - 118 D0:EF62 - - - - offset_SMC: - 119 D0:EF62 09 - - - add hl,bc ; if in ram, do this; otherwise, smc it so it doesn't execute - 120 D0:EF63 ED B0 - - ldir ; copy the program to userMem - 121 D0:EF65 C9 - - - ret ; return - 122 D0:EF66 - - - - - 123 D0:EF66 - - - - prgm_del_usermem: - 124 D0:EF66 ED 5B 8C 11 + 143 D0:EFCB - - - - offset_SMC: + 144 D0:EFCB 09 - - - add hl,bc ; if in ram, do this; otherwise, smc it so it doesn't execute + 145 D0:EFCC ED B0 - - ldir ; copy the program to userMem + 146 D0:EFCE C9 - - - ret ; return + 147 D0:EFCF - - - - + 148 D0:EFCF - - - - prgm_del_usermem: + 149 D0:EFCF ED 5B 8C 11 D0 - - - ld de,(asm_prgm_size) ; load total program totalPrgmSize - 125 D0:EF6B B7 - - - or a,a - 126 D0:EF6C ED 62 - - sbc hl,hl - 127 D0:EF6E 22 8C 11 D0 ld (asm_prgm_size),hl ; delete whatever current program was there - 128 D0:EF72 21 81 A8 D1 ld hl,userMem - 129 D0:EF76 C3 90 05 02 jp _DelMem ; HL->place to delete, DE=amount to delete - 130 D0:EF7A - - - - - 131 D0:EF7A - - - - DeleteTempProgramGetName: - 132 D0:EF7A 21 92 EF D0 ld hl,tmpPrgmName - 133 D0:EF7E CD 20 03 02 call _Mov9ToOP1 - 134 D0:EF82 CD 28 06 02 call _PushOP1 - 135 D0:EF86 CD 0C 05 02 call _ChkFindSym - 136 D0:EF8A D4 34 14 02 call nc,_DelVarArc ; delete the temp prgm if it exists - 137 D0:EF8E C3 C4 05 02 jp _PopOP1 - 138 D0:EF92 - - - - - 139 D0:EF92 16 5A 54 47 + 150 D0:EFD4 B7 - - - or a,a + 151 D0:EFD5 ED 62 - - sbc hl,hl + 152 D0:EFD7 22 8C 11 D0 ld (asm_prgm_size),hl ; delete whatever current program was there + 153 D0:EFDB 21 81 A8 D1 ld hl,userMem + 154 D0:EFDF C3 90 05 02 jp _DelMem ; HL->place to delete, DE=amount to delete + 155 D0:EFE3 - - - - + 156 D0:EFE3 - - - - DeleteTempProgramGetName: + 157 D0:EFE3 21 FB EF D0 ld hl,tmpPrgmName + 158 D0:EFE7 CD 20 03 02 call _Mov9ToOP1 + 159 D0:EFEB CD 28 06 02 call _PushOP1 + 160 D0:EFEF CD 0C 05 02 call _ChkFindSym + 161 D0:EFF3 D4 34 14 02 call nc,_DelVarArc ; delete the temp prgm if it exists + 162 D0:EFF7 C3 C4 05 02 jp _PopOP1 + 163 D0:EFFB - - - - + 164 D0:EFFB 16 5A 54 47 50 00 - - tmpPrgmName: .db tempProgObj,"ZTGP",0 - 140 D0:EF98 05 46 53 48 + 165 D0:F001 05 46 53 48 41 00 - - prgmFsh: .db ProgObj, "FSHA", 0 - 141 D0:EF9E - - - - prgmmov_end: - 142 D0:EF9E - - - - endrelocate() + 166 D0:F007 - - - - prgmmov_end: + 167 D0:F007 - - - - endrelocate() Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/prgm/prgm.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" - 4 D1:B620 - - - - #include "includes/lib/crypto/crypto.inc" + 4 D1:B689 - - - - #include "includes/lib/crypto/crypto.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc" - 1 D1:B620 - - - - #include "includes/lib/crypto/Rot.asm" + 1 D1:B689 - - - - #include "includes/lib/crypto/Rot.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/Rot.asm" - 1 D1:B620 - - - - ;;rotletencrypt - 2 D1:B620 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) - 3 D1:B620 - - - - ;;Inputs: - 4 D1:B620 - - - - ;; HL: string pointer - 5 D1:B620 - - - - ;; A: rot-n - 6 D1:B620 - - - - ;;Notes: - 7 D1:B620 - - - - ;; Changes string in place. - 8 D1:B620 - - - - rotletencrypt: - 9 D1:B620 E5 - - - push hl - 10 D1:B621 C5 - - - push bc - 11 D1:B622 - - - - rotletencryptMod: - 12 D1:B622 E5 - - - push hl - 13 D1:B623 67 - - - ld h, a - 14 D1:B624 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 - 15 D1:B626 CD A6 A9 D1 call modHL - 16 D1:B62A 44 - - - ld b, h - 17 D1:B62B E1 - - - pop hl - 18 D1:B62C - - - - rotletencryptLoop: - 19 D1:B62C 7E - - - ld a, (hl) - 20 D1:B62D FE 00 - - cp a, $00 - 21 D1:B62F 28 0F - - jr z, rotletencryptEnd - 22 D1:B631 FE 20 - - cp a, ' ' - 23 D1:B633 28 07 - - jr z, rotletencryptLD - 24 D1:B635 80 - - - add a, b - 25 D1:B636 FE 5C - - cp a, 'Z' + 2 - 26 D1:B638 38 02 - - jr c , rotletencryptLD - 27 D1:B63A D6 1B - - sub a, 'Z' + 2 - 'A' - 28 D1:B63C - - - - rotletencryptLD: - 29 D1:B63C 77 - - - ld (hl), a - 30 D1:B63D 23 - - - inc hl - 31 D1:B63E 18 EC - - jr rotletencryptLoop - 32 D1:B640 - - - - rotletencryptEnd: - 33 D1:B640 36 00 - - ld (hl), $00 - 34 D1:B642 C1 - - - pop bc - 35 D1:B643 E1 - - - pop hl - 36 D1:B644 C9 - - - ret - 37 D1:B645 - - - - - 38 D1:B645 - - - - ;;rotletdecrypt - 39 D1:B645 - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) - 40 D1:B645 - - - - ;;Inputs: - 41 D1:B645 - - - - ;; HL: string pointer - 42 D1:B645 - - - - ;; A: rot-n - 43 D1:B645 - - - - ;;Notes: - 44 D1:B645 - - - - ;; Changes string in place. - 45 D1:B645 - - - - rotletdecrypt: - 46 D1:B645 E5 - - - push hl - 47 D1:B646 C5 - - - push bc - 48 D1:B647 - - - - rotletdecryptMod: - 49 D1:B647 E5 - - - push hl - 50 D1:B648 67 - - - ld h, a - 51 D1:B649 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 - 52 D1:B64B CD A6 A9 D1 call modHL - 53 D1:B64F 44 - - - ld b, h - 54 D1:B650 E1 - - - pop hl - 55 D1:B651 - - - - rotletdecryptLoop: - 56 D1:B651 7E - - - ld a, (hl) - 57 D1:B652 FE 00 - - cp a, $00 - 58 D1:B654 28 0F - - jr z, rotletdecryptEnd - 59 D1:B656 FE 20 - - cp a, ' ' - 60 D1:B658 28 07 - - jr z, rotletdecryptLD - 61 D1:B65A 90 - - - sub a, b - 62 D1:B65B FE 41 - - cp a, 'A' - 63 D1:B65D 30 02 - - jr nc , rotletdecryptLD - 64 D1:B65F C6 1B - - add a, 'Z' + 2 - 'A' - 65 D1:B661 - - - - rotletdecryptLD: - 66 D1:B661 77 - - - ld (hl), a - 67 D1:B662 23 - - - inc hl - 68 D1:B663 18 EC - - jr rotletdecryptLoop - 69 D1:B665 - - - - rotletdecryptEnd: - 70 D1:B665 36 00 - - ld (hl), $00 - 71 D1:B667 C1 - - - pop bc - 72 D1:B668 E1 - - - pop hl - 73 D1:B669 C9 - - - ret - 74 D1:B66A - - - - - 75 D1:B66A - - - - ;;rotasciiencrypt - 76 D1:B66A - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) - 77 D1:B66A - - - - ;;Inputs: - 78 D1:B66A - - - - ;; HL: string pointer - 79 D1:B66A - - - - ;; A: x - 80 D1:B66A - - - - ;;Notes: - 81 D1:B66A - - - - ;; Changes string in place. - 82 D1:B66A - - - - rotasciiencrypt: - 83 D1:B66A E5 - - - push hl - 84 D1:B66B C5 - - - push bc - 85 D1:B66C 0E 00 - - ld c, 0 - 86 D1:B66E 4F - - - ld c, a - 87 D1:B66F - - - - rotasciiencryptLoop: - 88 D1:B66F 7E - - - ld a, (hl) - 89 D1:B670 FE 00 - - cp 0 - 90 D1:B672 28 13 - - jr z, rotasciiencryptEnd - 91 D1:B674 81 - - - add a, c - 92 D1:B675 FE 00 - - cp 0 - 93 D1:B677 20 01 - - jr nz, rotasciiencryptLd - 94 D1:B679 3C - - - inc a - 95 D1:B67A - - - - rotasciiencryptLd: - 96 D1:B67A 77 - - - ld (hl), a - 97 D1:B67B 23 - - - inc hl - 98 D1:B67C FE EF - - cp a, $EF - 99 D1:B67E 38 EF - - jr c, rotasciiencryptLoop - 100 D1:B680 2B - - - dec hl - 101 D1:B681 D6 0F - - sub a, $0F - 102 D1:B683 77 - - - ld (hl), a - 103 D1:B684 23 - - - inc hl - 104 D1:B685 18 E8 - - jr rotasciiencryptLoop - 105 D1:B687 - - - - rotasciiencryptEnd: - 106 D1:B687 36 00 - - ld (hl), $00 - 107 D1:B689 C1 - - - pop bc - 108 D1:B68A E1 - - - pop hl - 109 D1:B68B C9 - - - ret - 110 D1:B68C - - - - - 111 D1:B68C - - - - ;;rotasciidecrypt - 112 D1:B68C - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) - 113 D1:B68C - - - - ;;Inputs: - 114 D1:B68C - - - - ;; HL: string pointer - 115 D1:B68C - - - - ;; A: x - 116 D1:B68C - - - - ;;Notes: - 117 D1:B68C - - - - ;; Changes string in place. - 118 D1:B68C - - - - rotasciidecrypt: - 119 D1:B68C E5 - - - push hl - 120 D1:B68D C5 - - - push bc - 121 D1:B68E 0E 00 - - ld c, 0 - 122 D1:B690 4F - - - ld c, a - 123 D1:B691 - - - - rotasciidecryptLoop: - 124 D1:B691 7E - - - ld a, (hl) - 125 D1:B692 FE 00 - - cp 0 - 126 D1:B694 28 13 - - jr z, rotasciidecryptEnd - 127 D1:B696 91 - - - sub a, c - 128 D1:B697 FE 00 - - cp 0 - 129 D1:B699 20 01 - - jr nz, rotasciidecryptLd - 130 D1:B69B 3D - - - dec a - 131 D1:B69C - - - - rotasciidecryptLd: - 132 D1:B69C 77 - - - ld (hl), a - 133 D1:B69D 23 - - - inc hl - 134 D1:B69E FE EF - - cp a, $EF - 135 D1:B6A0 38 EF - - jr c, rotasciidecryptLoop - 136 D1:B6A2 2B - - - dec hl - 137 D1:B6A3 C6 0F - - add a, $0F - 138 D1:B6A5 77 - - - ld (hl), a - 139 D1:B6A6 23 - - - inc hl - 140 D1:B6A7 18 E8 - - jr rotasciidecryptLoop - 141 D1:B6A9 - - - - rotasciidecryptEnd: - 142 D1:B6A9 36 00 - - ld (hl), $00 - 143 D1:B6AB C1 - - - pop bc - 144 D1:B6AC E1 - - - pop hl - 145 D1:B6AD C9 - - - ret - 146 D1:B6AE - - - - + 1 D1:B689 - - - - ;;rotletencrypt + 2 D1:B689 - - - - ;;Encrypts a string in rot-n (uses $41 to $5B) + 3 D1:B689 - - - - ;;Inputs: + 4 D1:B689 - - - - ;; HL: string pointer + 5 D1:B689 - - - - ;; A: rot-n + 6 D1:B689 - - - - ;;Notes: + 7 D1:B689 - - - - ;; Changes string in place. + 8 D1:B689 - - - - rotletencrypt: + 9 D1:B689 E5 - - - push hl + 10 D1:B68A C5 - - - push bc + 11 D1:B68B - - - - rotletencryptMod: + 12 D1:B68B E5 - - - push hl + 13 D1:B68C 67 - - - ld h, a + 14 D1:B68D 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 + 15 D1:B68F CD A6 A9 D1 call modHL + 16 D1:B693 44 - - - ld b, h + 17 D1:B694 E1 - - - pop hl + 18 D1:B695 - - - - rotletencryptLoop: + 19 D1:B695 7E - - - ld a, (hl) + 20 D1:B696 FE 00 - - cp a, $00 + 21 D1:B698 28 0F - - jr z, rotletencryptEnd + 22 D1:B69A FE 20 - - cp a, ' ' + 23 D1:B69C 28 07 - - jr z, rotletencryptLD + 24 D1:B69E 80 - - - add a, b + 25 D1:B69F FE 5C - - cp a, 'Z' + 2 + 26 D1:B6A1 38 02 - - jr c , rotletencryptLD + 27 D1:B6A3 D6 1B - - sub a, 'Z' + 2 - 'A' + 28 D1:B6A5 - - - - rotletencryptLD: + 29 D1:B6A5 77 - - - ld (hl), a + 30 D1:B6A6 23 - - - inc hl + 31 D1:B6A7 18 EC - - jr rotletencryptLoop + 32 D1:B6A9 - - - - rotletencryptEnd: + 33 D1:B6A9 36 00 - - ld (hl), $00 + 34 D1:B6AB C1 - - - pop bc + 35 D1:B6AC E1 - - - pop hl + 36 D1:B6AD C9 - - - ret + 37 D1:B6AE - - - - + 38 D1:B6AE - - - - ;;rotletdecrypt + 39 D1:B6AE - - - - ;;Decrypts a string in rot-n (uses $41 to $5B) + 40 D1:B6AE - - - - ;;Inputs: + 41 D1:B6AE - - - - ;; HL: string pointer + 42 D1:B6AE - - - - ;; A: rot-n + 43 D1:B6AE - - - - ;;Notes: + 44 D1:B6AE - - - - ;; Changes string in place. + 45 D1:B6AE - - - - rotletdecrypt: + 46 D1:B6AE E5 - - - push hl + 47 D1:B6AF C5 - - - push bc + 48 D1:B6B0 - - - - rotletdecryptMod: + 49 D1:B6B0 E5 - - - push hl + 50 D1:B6B1 67 - - - ld h, a + 51 D1:B6B2 2E 19 - - ld l, 'Z' + 1 - 'A' - 1 + 52 D1:B6B4 CD A6 A9 D1 call modHL + 53 D1:B6B8 44 - - - ld b, h + 54 D1:B6B9 E1 - - - pop hl + 55 D1:B6BA - - - - rotletdecryptLoop: + 56 D1:B6BA 7E - - - ld a, (hl) + 57 D1:B6BB FE 00 - - cp a, $00 + 58 D1:B6BD 28 0F - - jr z, rotletdecryptEnd + 59 D1:B6BF FE 20 - - cp a, ' ' + 60 D1:B6C1 28 07 - - jr z, rotletdecryptLD + 61 D1:B6C3 90 - - - sub a, b + 62 D1:B6C4 FE 41 - - cp a, 'A' + 63 D1:B6C6 30 02 - - jr nc , rotletdecryptLD + 64 D1:B6C8 C6 1B - - add a, 'Z' + 2 - 'A' + 65 D1:B6CA - - - - rotletdecryptLD: + 66 D1:B6CA 77 - - - ld (hl), a + 67 D1:B6CB 23 - - - inc hl + 68 D1:B6CC 18 EC - - jr rotletdecryptLoop + 69 D1:B6CE - - - - rotletdecryptEnd: + 70 D1:B6CE 36 00 - - ld (hl), $00 + 71 D1:B6D0 C1 - - - pop bc + 72 D1:B6D1 E1 - - - pop hl + 73 D1:B6D2 C9 - - - ret + 74 D1:B6D3 - - - - + 75 D1:B6D3 - - - - ;;rotasciiencrypt + 76 D1:B6D3 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) + 77 D1:B6D3 - - - - ;;Inputs: + 78 D1:B6D3 - - - - ;; HL: string pointer + 79 D1:B6D3 - - - - ;; A: x + 80 D1:B6D3 - - - - ;;Notes: + 81 D1:B6D3 - - - - ;; Changes string in place. + 82 D1:B6D3 - - - - rotasciiencrypt: + 83 D1:B6D3 E5 - - - push hl + 84 D1:B6D4 C5 - - - push bc + 85 D1:B6D5 0E 00 - - ld c, 0 + 86 D1:B6D7 4F - - - ld c, a + 87 D1:B6D8 - - - - rotasciiencryptLoop: + 88 D1:B6D8 7E - - - ld a, (hl) + 89 D1:B6D9 FE 00 - - cp 0 + 90 D1:B6DB 28 13 - - jr z, rotasciiencryptEnd + 91 D1:B6DD 81 - - - add a, c + 92 D1:B6DE FE 00 - - cp 0 + 93 D1:B6E0 20 01 - - jr nz, rotasciiencryptLd + 94 D1:B6E2 3C - - - inc a + 95 D1:B6E3 - - - - rotasciiencryptLd: + 96 D1:B6E3 77 - - - ld (hl), a + 97 D1:B6E4 23 - - - inc hl + 98 D1:B6E5 FE EF - - cp a, $EF + 99 D1:B6E7 38 EF - - jr c, rotasciiencryptLoop + 100 D1:B6E9 2B - - - dec hl + 101 D1:B6EA D6 0F - - sub a, $0F + 102 D1:B6EC 77 - - - ld (hl), a + 103 D1:B6ED 23 - - - inc hl + 104 D1:B6EE 18 E8 - - jr rotasciiencryptLoop + 105 D1:B6F0 - - - - rotasciiencryptEnd: + 106 D1:B6F0 36 00 - - ld (hl), $00 + 107 D1:B6F2 C1 - - - pop bc + 108 D1:B6F3 E1 - - - pop hl + 109 D1:B6F4 C9 - - - ret + 110 D1:B6F5 - - - - + 111 D1:B6F5 - - - - ;;rotasciidecrypt + 112 D1:B6F5 - - - - ;;Encrypts a string in rot-x (uses $00 to $EF) + 113 D1:B6F5 - - - - ;;Inputs: + 114 D1:B6F5 - - - - ;; HL: string pointer + 115 D1:B6F5 - - - - ;; A: x + 116 D1:B6F5 - - - - ;;Notes: + 117 D1:B6F5 - - - - ;; Changes string in place. + 118 D1:B6F5 - - - - rotasciidecrypt: + 119 D1:B6F5 E5 - - - push hl + 120 D1:B6F6 C5 - - - push bc + 121 D1:B6F7 0E 00 - - ld c, 0 + 122 D1:B6F9 4F - - - ld c, a + 123 D1:B6FA - - - - rotasciidecryptLoop: + 124 D1:B6FA 7E - - - ld a, (hl) + 125 D1:B6FB FE 00 - - cp 0 + 126 D1:B6FD 28 13 - - jr z, rotasciidecryptEnd + 127 D1:B6FF 91 - - - sub a, c + 128 D1:B700 FE 00 - - cp 0 + 129 D1:B702 20 01 - - jr nz, rotasciidecryptLd + 130 D1:B704 3D - - - dec a + 131 D1:B705 - - - - rotasciidecryptLd: + 132 D1:B705 77 - - - ld (hl), a + 133 D1:B706 23 - - - inc hl + 134 D1:B707 FE EF - - cp a, $EF + 135 D1:B709 38 EF - - jr c, rotasciidecryptLoop + 136 D1:B70B 2B - - - dec hl + 137 D1:B70C C6 0F - - add a, $0F + 138 D1:B70E 77 - - - ld (hl), a + 139 D1:B70F 23 - - - inc hl + 140 D1:B710 18 E8 - - jr rotasciidecryptLoop + 141 D1:B712 - - - - rotasciidecryptEnd: + 142 D1:B712 36 00 - - ld (hl), $00 + 143 D1:B714 C1 - - - pop bc + 144 D1:B715 E1 - - - pop hl + 145 D1:B716 C9 - - - ret + 146 D1:B717 - - - - Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc" - 2 D1:B6AE - - - - #include "includes/lib/crypto/Xor.asm" + 2 D1:B717 - - - - #include "includes/lib/crypto/Xor.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/Xor.asm" - 1 D1:B6AE - - - - ;;xorcrypt - 2 D1:B6AE - - - - ;;crypts a string using xor - 3 D1:B6AE - - - - ;;Inputs: - 4 D1:B6AE - - - - ;; HL: string pointer - 5 D1:B6AE - - - - ;; DE: seed pointer (shorter) - 6 D1:B6AE - - - - ;;Notes: - 7 D1:B6AE - - - - ;; Changes string in place. - 8 D1:B6AE - - - - xorcrypt: - 9 D1:B6AE E5 - - - push hl - 10 D1:B6AF D5 - - - push de - 11 D1:B6B0 C5 - - - push bc - 12 D1:B6B1 CD 48 AC D1 call strlen - 13 D1:B6B5 D5 - - - push de - 14 D1:B6B6 E5 - - - push hl - 15 D1:B6B7 21 00 00 00 ld hl, 0 - 16 D1:B6BB 60 - - - ld h, b - 17 D1:B6BC 69 - - - ld l, c - 18 D1:B6BD EB - - - ex de, hl - 19 D1:B6BE CD 48 AC D1 call strlen - 20 D1:B6C2 EB - - - ex de, hl - 21 D1:B6C3 7D - - - ld a, l ;C = len(seed) l=len(string) - 22 D1:B6C4 91 - - - sub a,c - 23 D1:B6C5 D2 CF B6 D1 jp nc, xorcryptNSmaller - 24 D1:B6C9 0E 01 - - ld c, $01 - 25 D1:B6CB 3E 00 - - ld a, 0 - 26 D1:B6CD 2E 00 - - ld l, 0 - 27 D1:B6CF - - - - xorcryptNSmaller: - 28 D1:B6CF 0D - - - dec c - 29 D1:B6D0 D2 D6 B6 D1 jp nc, xorcryptNSmaller2 - 30 D1:B6D4 0E 00 - - ld c, 0 - 31 D1:B6D6 - - - - xorcryptNSmaller2: - 32 D1:B6D6 41 - - - ld b, c - 33 D1:B6D7 4D - - - ld c, l ;b=len(seed) c=len(string) - 34 D1:B6D8 E1 - - - pop hl - 35 D1:B6D9 B7 - - - or a, a - 36 D1:B6DA D1 - - - pop de - 37 D1:B6DB 28 2C - - jr z, xorcryptEnd - 38 D1:B6DD D5 - - - push de - 39 D1:B6DE EB - - - ex de, hl; hl=seed - 40 D1:B6DF E1 - - - pop hl - 41 D1:B6E0 C5 - - - push bc - 42 D1:B6E1 D5 - - - push de - 43 D1:B6E2 11 00 00 00 ld de, 0 - 44 D1:B6E6 58 - - - ld e, b - 45 D1:B6E7 01 00 00 00 ld bc, 0 - 46 D1:B6EB 4B - - - ld c, e - 47 D1:B6EC 09 - - - add hl, bc - 48 D1:B6ED D1 - - - pop de - 49 D1:B6EE C1 - - - pop bc - 50 D1:B6EF 23 - - - inc hl - 51 D1:B6F0 36 80 - - ld (hl), %10000000 - 52 D1:B6F2 C5 - - - push bc - 53 D1:B6F3 05 - - - dec b - 54 D1:B6F4 3E FF - - ld a, $FF - 55 D1:B6F6 B8 - - - cp a, b - 56 D1:B6F7 28 0B - - jr z, xorcryptPadLoopEnd - 57 D1:B6F9 3E 00 - - ld a, $00 - 58 D1:B6FB B8 - - - cp a, b - 59 D1:B6FC 20 01 - - jr nz, xorcryptPadLoop - 60 D1:B6FE 04 - - - inc b - 61 D1:B6FF - - - - xorcryptPadLoop: - 62 D1:B6FF 23 - - - inc hl - 63 D1:B700 36 65 - - ld (hl), 'e' - 64 D1:B702 10 FB - - djnz xorcryptPadLoop - 65 D1:B704 - - - - xorcryptPadLoopEnd: - 66 D1:B704 C1 - - - pop bc - 67 D1:B705 70 - - - ld (hl), b - 68 D1:B706 23 - - - inc hl - 69 D1:B707 36 00 - - ld (hl), $00 - 70 D1:B709 - - - - xorcryptEnd: - 71 D1:B709 C1 - - - pop bc - 72 D1:B70A D1 - - - pop de - 73 D1:B70B E1 - - - pop hl - 74 D1:B70C - - - - ;push hl - 75 D1:B70C - - - - ;xorcryptRandLoop: - 76 D1:B70C - - - - ;ld a, (hl) - 77 D1:B70C - - - - ;or a, a - 78 D1:B70C - - - - ;jr z, xorcryptRandLoopEnd - 79 D1:B70C - - - - ;call randomint - 80 D1:B70C - - - - ;or a, a - 81 D1:B70C - - - - ;jr nz, xorcryptRandLoopLD - 82 D1:B70C - - - - ;ld a, '/' - 83 D1:B70C - - - - ;xorcryptRandLoopLD: - 84 D1:B70C - - - - ;ld (hl), a - 85 D1:B70C - - - - ;inc hl - 86 D1:B70C - - - - ;jr xorcryptRandLoop - 87 D1:B70C - - - - ;xorcryptRandLoopEnd: - 88 D1:B70C - - - - ;pop hl - 89 D1:B70C CD 8B AD D1 call strxor - 90 D1:B710 C9 - - - ret - 91 D1:B711 - - - - + 1 D1:B717 - - - - ;;xorcrypt + 2 D1:B717 - - - - ;;crypts a string using xor + 3 D1:B717 - - - - ;;Inputs: + 4 D1:B717 - - - - ;; HL: string pointer + 5 D1:B717 - - - - ;; DE: seed pointer (shorter) + 6 D1:B717 - - - - ;;Notes: + 7 D1:B717 - - - - ;; Changes string in place. + 8 D1:B717 - - - - xorcrypt: + 9 D1:B717 E5 - - - push hl + 10 D1:B718 D5 - - - push de + 11 D1:B719 C5 - - - push bc + 12 D1:B71A CD 48 AC D1 call strlen + 13 D1:B71E D5 - - - push de + 14 D1:B71F E5 - - - push hl + 15 D1:B720 21 00 00 00 ld hl, 0 + 16 D1:B724 60 - - - ld h, b + 17 D1:B725 69 - - - ld l, c + 18 D1:B726 EB - - - ex de, hl + 19 D1:B727 CD 48 AC D1 call strlen + 20 D1:B72B EB - - - ex de, hl + 21 D1:B72C 7D - - - ld a, l ;C = len(seed) l=len(string) + 22 D1:B72D 91 - - - sub a,c + 23 D1:B72E D2 38 B7 D1 jp nc, xorcryptNSmaller + 24 D1:B732 0E 01 - - ld c, $01 + 25 D1:B734 3E 00 - - ld a, 0 + 26 D1:B736 2E 00 - - ld l, 0 + 27 D1:B738 - - - - xorcryptNSmaller: + 28 D1:B738 0D - - - dec c + 29 D1:B739 D2 3F B7 D1 jp nc, xorcryptNSmaller2 + 30 D1:B73D 0E 00 - - ld c, 0 + 31 D1:B73F - - - - xorcryptNSmaller2: + 32 D1:B73F 41 - - - ld b, c + 33 D1:B740 4D - - - ld c, l ;b=len(seed) c=len(string) + 34 D1:B741 E1 - - - pop hl + 35 D1:B742 B7 - - - or a, a + 36 D1:B743 D1 - - - pop de + 37 D1:B744 28 2C - - jr z, xorcryptEnd + 38 D1:B746 D5 - - - push de + 39 D1:B747 EB - - - ex de, hl; hl=seed + 40 D1:B748 E1 - - - pop hl + 41 D1:B749 C5 - - - push bc + 42 D1:B74A D5 - - - push de + 43 D1:B74B 11 00 00 00 ld de, 0 + 44 D1:B74F 58 - - - ld e, b + 45 D1:B750 01 00 00 00 ld bc, 0 + 46 D1:B754 4B - - - ld c, e + 47 D1:B755 09 - - - add hl, bc + 48 D1:B756 D1 - - - pop de + 49 D1:B757 C1 - - - pop bc + 50 D1:B758 23 - - - inc hl + 51 D1:B759 36 80 - - ld (hl), %10000000 + 52 D1:B75B C5 - - - push bc + 53 D1:B75C 05 - - - dec b + 54 D1:B75D 3E FF - - ld a, $FF + 55 D1:B75F B8 - - - cp a, b + 56 D1:B760 28 0B - - jr z, xorcryptPadLoopEnd + 57 D1:B762 3E 00 - - ld a, $00 + 58 D1:B764 B8 - - - cp a, b + 59 D1:B765 20 01 - - jr nz, xorcryptPadLoop + 60 D1:B767 04 - - - inc b + 61 D1:B768 - - - - xorcryptPadLoop: + 62 D1:B768 23 - - - inc hl + 63 D1:B769 36 65 - - ld (hl), 'e' + 64 D1:B76B 10 FB - - djnz xorcryptPadLoop + 65 D1:B76D - - - - xorcryptPadLoopEnd: + 66 D1:B76D C1 - - - pop bc + 67 D1:B76E 70 - - - ld (hl), b + 68 D1:B76F 23 - - - inc hl + 69 D1:B770 36 00 - - ld (hl), $00 + 70 D1:B772 - - - - xorcryptEnd: + 71 D1:B772 C1 - - - pop bc + 72 D1:B773 D1 - - - pop de + 73 D1:B774 E1 - - - pop hl + 74 D1:B775 - - - - ;push hl + 75 D1:B775 - - - - ;xorcryptRandLoop: + 76 D1:B775 - - - - ;ld a, (hl) + 77 D1:B775 - - - - ;or a, a + 78 D1:B775 - - - - ;jr z, xorcryptRandLoopEnd + 79 D1:B775 - - - - ;call randomint + 80 D1:B775 - - - - ;or a, a + 81 D1:B775 - - - - ;jr nz, xorcryptRandLoopLD + 82 D1:B775 - - - - ;ld a, '/' + 83 D1:B775 - - - - ;xorcryptRandLoopLD: + 84 D1:B775 - - - - ;ld (hl), a + 85 D1:B775 - - - - ;inc hl + 86 D1:B775 - - - - ;jr xorcryptRandLoop + 87 D1:B775 - - - - ;xorcryptRandLoopEnd: + 88 D1:B775 - - - - ;pop hl + 89 D1:B775 CD 8B AD D1 call strxor + 90 D1:B779 C9 - - - ret + 91 D1:B77A - - - - Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/crypto/crypto.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/lib/lib.inc" Listing for file "FSHa.asm" - 74 D1:B711 - - - - - 75 D1:B711 - - - - #include "includes/man-db.asm" + 74 D1:B77A - - - - + 75 D1:B77A - - - - #include "includes/man-db.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/man-db.asm" - 1 D1:B711 - - - - ;;TODO: move module specific macros to diffrent file - 2 D1:B711 - - - - ;;manroute - 3 D1:B711 - - - - ;;routes command string to discription - 4 D1:B711 - - - - ;;Inputs: - 5 D1:B711 - - - - ;; HL: Command String - 6 D1:B711 - - - - ;;Outputs: - 7 D1:B711 - - - - ;; HL: Command Discription String - 8 D1:B711 - - - - manroute: - 9 D1:B711 D5 - - - push de - 10 D1:B712 - - - - #macro routestrjp(cmdXs, cmdXm) - 11 D1:B712 ld de, cmdXs - 12 D1:B712 call strcmp - 13 D1:B712 ld de, cmdXm - 14 D1:B712 jp z, manrouteReturn - 15 D1:B712 #endmacro - 16 D1:B712 - - - - - 17 D1:B712 - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm) - 18 D1:B712 push hl - 19 D1:B712 ld de, cmdXs - 20 D1:B712 call strcmp - 21 D1:B712 ld hl, 0 - 22 D1:B712 jr nz, +_ - 23 D1:B712 ld hl, FshCmdArg1 - 24 D1:B712 _: - 25 D1:B712 ld de, cmdYs - 26 D1:B712 call strcmp - 27 D1:B712 pop hl - 28 D1:B712 ld de, cmdYm - 29 D1:B712 jp z, manrouteReturn - 30 D1:B712 #endmacro - 31 D1:B712 - - - - - 32 D1:B712 CD CE B8 D1 call fshcmdmanroute - 33 D1:B716 CD 20 C2 D1 call cryptocmdmanroute - 34 D1:B71A - - - - ;Extention Point - 35 D1:B71A - - - - - 36 D1:B71A 21 CE EA D0 ld hl, FshCmdErrCode - 37 D1:B71E 36 01 - - ld (hl), $01 - 38 D1:B720 11 00 00 00 ld de, $00 - 39 D1:B724 - - - - manrouteReturn: - 40 D1:B724 EB - - - ex de, hl - 41 D1:B725 D1 - - - pop de - 42 D1:B726 C9 - - - ret - 43 D1:B727 - - - - - 44 D1:B727 - - - - ;;manrouteu - 45 D1:B727 - - - - ;;routes command string to usage - 46 D1:B727 - - - - ;;Inputs: - 47 D1:B727 - - - - ;; HL: Command String - 48 D1:B727 - - - - ;;Outputs: - 49 D1:B727 - - - - ;; HL: Command Usage String - 50 D1:B727 - - - - manrouteu: - 51 D1:B727 D5 - - - push de - 52 D1:B728 - - - - #macro routeustrjp(cmdXs, cmdXu) - 53 D1:B728 ld de, cmdXs - 54 D1:B728 call strcmp - 55 D1:B728 ld de, cmdXu - 56 D1:B728 jp z, manrouteuReturn - 57 D1:B728 #endmacro - 58 D1:B728 - - - - - 59 D1:B728 - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu) - 60 D1:B728 push hl - 61 D1:B728 ld de, cmdXs - 62 D1:B728 call strcmp - 63 D1:B728 ld hl, 0 - 64 D1:B728 jr nz, +_ - 65 D1:B728 ld hl, FshCmdArg1 - 66 D1:B728 _: - 67 D1:B728 ld de, cmdYs - 68 D1:B728 call strcmp - 69 D1:B728 pop hl - 70 D1:B728 ld de, cmdYu - 71 D1:B728 jp z, manrouteuReturn - 72 D1:B728 #endmacro - 73 D1:B728 - - - - - 74 D1:B728 CD 81 B9 D1 call fshcmdmanrouteu - 75 D1:B72C CD 1B C3 D1 call cryptocmdmanrouteu - 76 D1:B730 - - - - ;Extention Point - 77 D1:B730 - - - - - 78 D1:B730 21 CE EA D0 ld hl, FshCmdErrCode - 79 D1:B734 36 01 - - ld (hl), $01 - 80 D1:B736 11 00 00 00 ld de, $00 - 81 D1:B73A - - - - manrouteuReturn: - 82 D1:B73A EB - - - ex de, hl - 83 D1:B73B D1 - - - pop de - 84 D1:B73C C9 - - - ret + 1 D1:B77A - - - - ;;TODO: move module specific macros to diffrent file + 2 D1:B77A - - - - ;;manroute + 3 D1:B77A - - - - ;;routes command string to discription + 4 D1:B77A - - - - ;;Inputs: + 5 D1:B77A - - - - ;; HL: Command String + 6 D1:B77A - - - - ;;Outputs: + 7 D1:B77A - - - - ;; HL: Command Discription String + 8 D1:B77A - - - - manroute: + 9 D1:B77A D5 - - - push de + 10 D1:B77B - - - - #macro routestrjp(cmdXs, cmdXm) + 11 D1:B77B ld de, cmdXs + 12 D1:B77B call strcmp + 13 D1:B77B ld de, cmdXm + 14 D1:B77B jp z, manrouteReturn + 15 D1:B77B #endmacro + 16 D1:B77B - - - - + 17 D1:B77B - - - - #macro subroutestrjp(cmdXs, cmdYs, cmdYm) + 18 D1:B77B push hl + 19 D1:B77B ld de, cmdXs + 20 D1:B77B call strcmp + 21 D1:B77B ld hl, 0 + 22 D1:B77B jr nz, +_ + 23 D1:B77B ld hl, FshCmdArg1 + 24 D1:B77B _: + 25 D1:B77B ld de, cmdYs + 26 D1:B77B call strcmp + 27 D1:B77B pop hl + 28 D1:B77B ld de, cmdYm + 29 D1:B77B jp z, manrouteReturn + 30 D1:B77B #endmacro + 31 D1:B77B - - - - + 32 D1:B77B CD 37 B9 D1 call fshcmdmanroute + 33 D1:B77F CD 89 C2 D1 call cryptocmdmanroute + 34 D1:B783 - - - - ;Extention Point + 35 D1:B783 - - - - + 36 D1:B783 21 CE EA D0 ld hl, FshCmdErrCode + 37 D1:B787 36 01 - - ld (hl), $01 + 38 D1:B789 11 00 00 00 ld de, $00 + 39 D1:B78D - - - - manrouteReturn: + 40 D1:B78D EB - - - ex de, hl + 41 D1:B78E D1 - - - pop de + 42 D1:B78F C9 - - - ret + 43 D1:B790 - - - - + 44 D1:B790 - - - - ;;manrouteu + 45 D1:B790 - - - - ;;routes command string to usage + 46 D1:B790 - - - - ;;Inputs: + 47 D1:B790 - - - - ;; HL: Command String + 48 D1:B790 - - - - ;;Outputs: + 49 D1:B790 - - - - ;; HL: Command Usage String + 50 D1:B790 - - - - manrouteu: + 51 D1:B790 D5 - - - push de + 52 D1:B791 - - - - #macro routeustrjp(cmdXs, cmdXu) + 53 D1:B791 ld de, cmdXs + 54 D1:B791 call strcmp + 55 D1:B791 ld de, cmdXu + 56 D1:B791 jp z, manrouteuReturn + 57 D1:B791 #endmacro + 58 D1:B791 - - - - + 59 D1:B791 - - - - #macro subrouteustrjp(cmdXs, cmdYs, cmdYu) + 60 D1:B791 push hl + 61 D1:B791 ld de, cmdXs + 62 D1:B791 call strcmp + 63 D1:B791 ld hl, 0 + 64 D1:B791 jr nz, +_ + 65 D1:B791 ld hl, FshCmdArg1 + 66 D1:B791 _: + 67 D1:B791 ld de, cmdYs + 68 D1:B791 call strcmp + 69 D1:B791 pop hl + 70 D1:B791 ld de, cmdYu + 71 D1:B791 jp z, manrouteuReturn + 72 D1:B791 #endmacro + 73 D1:B791 - - - - + 74 D1:B791 CD EA B9 D1 call fshcmdmanrouteu + 75 D1:B795 CD 84 C3 D1 call cryptocmdmanrouteu + 76 D1:B799 - - - - ;Extention Point + 77 D1:B799 - - - - + 78 D1:B799 21 CE EA D0 ld hl, FshCmdErrCode + 79 D1:B79D 36 01 - - ld (hl), $01 + 80 D1:B79F 11 00 00 00 ld de, $00 + 81 D1:B7A3 - - - - manrouteuReturn: + 82 D1:B7A3 EB - - - ex de, hl + 83 D1:B7A4 D1 - - - pop de + 84 D1:B7A5 C9 - - - ret Listing for file "FSHa.asm" - 76 D1:B73D - - - - #include "includes/Command.asm" + 76 D1:B7A6 - - - - #include "includes/Command.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" - 1 D1:B73D - - - - ;;Commanddecode - 2 D1:B73D - - - - ;;Decodes all commands. - 3 D1:B73D - - - - ;;Inputs: - 4 D1:B73D - - - - ;; HL: Cmd String mem loc - 5 D1:B73D - - - - ;; DE: Op code mem loc - 6 D1:B73D - - - - ;;Output: - 7 D1:B73D - - - - ;; Sets (DE) with command op code - 8 D1:B73D - - - - commanddecode: - 9 D1:B73D - - - - #macro decodecmdopt(cmdXs, cmdXo) - 10 D1:B73D push hl - 11 D1:B73D push de - 12 D1:B73D ld de, cmdXs - 13 D1:B73D call strcmp - 14 D1:B73D ld hl, cmdXo - 15 D1:B73D pop de - 16 D1:B73D call z, wordcpy - 17 D1:B73D pop hl - 18 D1:B73D #endmacro - 19 D1:B73D - - - - - 20 D1:B73D CD 6A B7 D1 call fshcmddecode - 21 D1:B741 CD DC C1 D1 call cryptocmddecode - 22 D1:B745 CD 91 CB D1 call prgmcmddecode - 23 D1:B749 - - - - ;Extention Point - 24 D1:B749 - - - - - 25 D1:B749 C9 - - - ret - 26 D1:B74A - - - - - 27 D1:B74A - - - - ;;commandroute - 28 D1:B74A - - - - ;;Routes all commamds. - 29 D1:B74A - - - - ;;Inputs: - 30 D1:B74A - - - - ;; HL: Op code mem loc - 31 D1:B74A - - - - commandroute: - 32 D1:B74A - - - - #macro routeoptjp(cmdXo, cmdXf) - 33 D1:B74A ld de, cmdXo - 34 D1:B74A call wordcmp - 35 D1:B74A jp z, cmdXf - 36 D1:B74A #endmacro - 37 D1:B74A - - - - - 38 D1:B74A CD 47 B8 D1 call fshcmdroute - 39 D1:B74E CD 05 C2 D1 call cryptocmdroute - 40 D1:B752 CD A6 CB D1 call prgmcmdroute - 41 D1:B756 - - - - ;Extention Point - 42 D1:B756 - - - - - 43 D1:B756 21 6C B3 D1 ld hl, ErrCmdNotFoundo - 44 D1:B75A 11 CE EA D0 ld de, FshCmdErrCode - 45 D1:B75E CD 4A AA D1 call bytecpy - 46 D1:B762 CD 5D B3 D1 call ErrSet - 47 D1:B766 C3 E7 A8 D1 jp Err - 48 D1:B76A - - - - - 49 D1:B76A - - - - #include "includes/FshCommands/FshCommand.asm" + 1 D1:B7A6 - - - - ;;Commanddecode + 2 D1:B7A6 - - - - ;;Decodes all commands. + 3 D1:B7A6 - - - - ;;Inputs: + 4 D1:B7A6 - - - - ;; HL: Cmd String mem loc + 5 D1:B7A6 - - - - ;; DE: Op code mem loc + 6 D1:B7A6 - - - - ;;Output: + 7 D1:B7A6 - - - - ;; Sets (DE) with command op code + 8 D1:B7A6 - - - - commanddecode: + 9 D1:B7A6 - - - - #macro decodecmdopt(cmdXs, cmdXo) + 10 D1:B7A6 push hl + 11 D1:B7A6 push de + 12 D1:B7A6 ld de, cmdXs + 13 D1:B7A6 call strcmp + 14 D1:B7A6 ld hl, cmdXo + 15 D1:B7A6 pop de + 16 D1:B7A6 call z, wordcpy + 17 D1:B7A6 pop hl + 18 D1:B7A6 #endmacro + 19 D1:B7A6 - - - - + 20 D1:B7A6 CD D3 B7 D1 call fshcmddecode + 21 D1:B7AA CD 45 C2 D1 call cryptocmddecode + 22 D1:B7AE CD FA CB D1 call prgmcmddecode + 23 D1:B7B2 - - - - ;Extention Point + 24 D1:B7B2 - - - - + 25 D1:B7B2 C9 - - - ret + 26 D1:B7B3 - - - - + 27 D1:B7B3 - - - - ;;commandroute + 28 D1:B7B3 - - - - ;;Routes all commamds. + 29 D1:B7B3 - - - - ;;Inputs: + 30 D1:B7B3 - - - - ;; HL: Op code mem loc + 31 D1:B7B3 - - - - commandroute: + 32 D1:B7B3 - - - - #macro routeoptjp(cmdXo, cmdXf) + 33 D1:B7B3 ld de, cmdXo + 34 D1:B7B3 call wordcmp + 35 D1:B7B3 jp z, cmdXf + 36 D1:B7B3 #endmacro + 37 D1:B7B3 - - - - + 38 D1:B7B3 CD B0 B8 D1 call fshcmdroute + 39 D1:B7B7 CD 6E C2 D1 call cryptocmdroute + 40 D1:B7BB CD 0F CC D1 call prgmcmdroute + 41 D1:B7BF - - - - ;Extention Point + 42 D1:B7BF - - - - + 43 D1:B7BF 21 6C B3 D1 ld hl, ErrCmdNotFoundo + 44 D1:B7C3 11 CE EA D0 ld de, FshCmdErrCode + 45 D1:B7C7 CD 4A AA D1 call bytecpy + 46 D1:B7CB CD 5D B3 D1 call ErrSet + 47 D1:B7CF C3 E7 A8 D1 jp Err + 48 D1:B7D3 - - - - + 49 D1:B7D3 - - - - #include "includes/FshCommands/FshCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm" - 1 D1:B76A - - - - fshcmddecode: - 2 D1:B76A E5 D5 11 34 + 1 D1:B7D3 - - - - fshcmddecode: + 2 D1:B7D3 E5 D5 11 9D BA D1 CD 59 - AC D1 21 39 + AC D1 21 A2 BA D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdEXIT, fshcmdEXITo) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm" - 3 D1:B77E E5 D5 11 4E + 3 D1:B7E7 E5 D5 11 B7 BA D1 CD 59 - AC D1 21 52 + AC D1 21 BB BA D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdSET, fshcmdSETo) - 4 D1:B792 E5 D5 11 46 + 4 D1:B7FB E5 D5 11 AF BB D1 CD 59 - AC D1 21 4B + AC D1 21 B4 BB D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdCOPY, fshcmdCOPYo) - 5 D1:B7A6 E5 D5 11 55 + 5 D1:B80F E5 D5 11 BE BC D1 CD 59 - AC D1 21 5A + AC D1 21 C3 BC D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdMOVE, fshcmdMOVEo) - 6 D1:B7BA E5 D5 11 6C + 6 D1:B823 E5 D5 11 D5 BD D1 CD 59 - AC D1 21 70 + AC D1 21 D9 BD D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdCLS, fshcmdCLSo) - 7 D1:B7CE E5 D5 11 99 - BD D1 CD 59 - AC D1 21 9D - BD D1 D1 CC - 52 AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) - 8 D1:B7E2 E5 D5 11 3C + 7 D1:B837 E5 D5 11 02 BE D1 CD 59 - AC D1 21 41 + AC D1 21 06 + BE D1 D1 CC + 52 AA D1 E1 decodecmdopt(fshcmdVAR, fshcmdVARo) + 8 D1:B84B E5 D5 11 A5 + BE D1 CD 59 + AC D1 21 AA BE D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdVARS, fshcmdVARSo) - 9 D1:B7F6 E5 D5 11 AD - BE D1 CD 59 - AC D1 21 B3 - BE D1 D1 CC + 9 D1:B85F E5 D5 11 16 + BF D1 CD 59 + AC D1 21 1C + BF D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdSLEEP, fshcmdSLEEPo) - 10 D1:B80A E5 D5 11 FC - BE D1 CD 59 - AC D1 21 01 + 10 D1:B873 E5 D5 11 65 + BF D1 CD 59 + AC D1 21 6A BF D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdINFO, fshcmdINFOo) - 11 D1:B81E E5 D5 11 9F - BF D1 CD 59 - AC D1 21 A4 - BF D1 D1 CC - 52 AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) - 12 D1:B832 E5 D5 11 F3 + 11 D1:B887 E5 D5 11 08 C0 D1 CD 59 - AC D1 21 F7 + AC D1 21 0D C0 D1 D1 CC + 52 AA D1 E1 decodecmdopt(fshcmdHELP, fshcmdHELPo) + 12 D1:B89B E5 D5 11 5C + C1 D1 CD 59 + AC D1 21 60 + C1 D1 D1 CC 52 AA D1 E1 decodecmdopt(fshcmdMAN, fshcmdMANo) - 13 D1:B846 C9 - - - ret - 14 D1:B847 - - - - - 15 D1:B847 - - - - fshcmdroute: - 16 D1:B847 C1 - - - pop bc ;pop the ret loc from stack into bc - 17 D1:B848 11 39 BA D1 + 13 D1:B8AF C9 - - - ret + 14 D1:B8B0 - - - - + 15 D1:B8B0 - - - - fshcmdroute: + 16 D1:B8B0 C1 - - - pop bc ;pop the ret loc from stack into bc + 17 D1:B8B1 11 A2 BA D1 CD 5E AA D1 - CA 4A BA D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) - 18 D1:B854 11 52 BA D1 + CA B3 BA D1 routeoptjp(fshcmdEXITo, fshcmdEXITf) + 18 D1:B8BD 11 BB BA D1 CD 5E AA D1 - CA 91 BA D1 routeoptjp(fshcmdSETo, fshcmdSETf) - 19 D1:B860 11 4B BB D1 + CA FA BA D1 routeoptjp(fshcmdSETo, fshcmdSETf) + 19 D1:B8C9 11 B4 BB D1 CD 5E AA D1 - CA A7 BB D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) - 20 D1:B86C 11 5A BC D1 + CA 10 BC D1 routeoptjp(fshcmdCOPYo, fshcmdCOPYf) + 20 D1:B8D5 11 C3 BC D1 CD 5E AA D1 - CA B5 BC D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) - 21 D1:B878 11 70 BD D1 + CA 1E BD D1 routeoptjp(fshcmdMOVEo, fshcmdMOVEf) + 21 D1:B8E1 11 D9 BD D1 CD 5E AA D1 - CA 88 BD D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) - 22 D1:B884 11 9D BD D1 + CA F1 BD D1 routeoptjp(fshcmdCLSo, fshcmdCLSf) + 22 D1:B8ED 11 06 BE D1 CD 5E AA D1 - CA D5 BD D1 routeoptjp(fshcmdVARo, fshcmdVARf) - 23 D1:B890 11 41 BE D1 + CA 3E BE D1 routeoptjp(fshcmdVARo, fshcmdVARf) + 23 D1:B8F9 11 AA BE D1 CD 5E AA D1 - CA 5E BE D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) - 24 D1:B89C 11 B3 BE D1 + CA C7 BE D1 routeoptjp(fshcmdVARSo, fshcmdVARSf) + 24 D1:B905 11 1C BF D1 CD 5E AA D1 - CA E5 BE D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) - 25 D1:B8A8 11 01 BF D1 + CA 4E BF D1 routeoptjp(fshcmdSLEEPo, fshcmdSLEEPf) + 25 D1:B911 11 6A BF D1 CD 5E AA D1 - CA 2E BF D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) - 26 D1:B8B4 11 A4 BF D1 + CA 97 BF D1 routeoptjp(fshcmdINFOo, fshcmdINFOf) + 26 D1:B91D 11 0D C0 D1 CD 5E AA D1 - CA C1 BF D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) - 27 D1:B8C0 11 F7 C0 D1 + CA 2A C0 D1 routeoptjp(fshcmdHELPo, fshcmdHELPf) + 27 D1:B929 11 60 C1 D1 CD 5E AA D1 - CA 25 C1 D1 routeoptjp(fshcmdMANo, fshcmdMANf) - 28 D1:B8CC C5 - - - push bc ;put ret location back on stack - 29 D1:B8CD C9 - - - ret - 30 D1:B8CE - - - - - 31 D1:B8CE - - - - fshcmdmanroute: - 32 D1:B8CE C1 - - - pop bc - 33 D1:B8CF 11 34 BA D1 + CA 8E C1 D1 routeoptjp(fshcmdMANo, fshcmdMANf) + 28 D1:B935 C5 - - - push bc ;put ret location back on stack + 29 D1:B936 C9 - - - ret + 30 D1:B937 - - - - + 31 D1:B937 - - - - fshcmdmanroute: + 32 D1:B937 C1 - - - pop bc + 33 D1:B938 11 9D BA D1 CD 59 AC D1 - 11 3B BA D1 - CA 24 B7 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) - 34 D1:B8DF 11 4E BA D1 + 11 A4 BA D1 + CA 8D B7 D1 routestrjp(fshcmdEXIT, fshCmdEXITm) + 34 D1:B948 11 B7 BA D1 CD 59 AC D1 - 11 54 BA D1 - CA 24 B7 D1 routestrjp(fshcmdSET, fshCmdSETm) - 35 D1:B8EF 11 46 BB D1 + 11 BD BA D1 + CA 8D B7 D1 routestrjp(fshcmdSET, fshCmdSETm) + 35 D1:B958 11 AF BB D1 CD 59 AC D1 - 11 4D BB D1 - CA 24 B7 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) - 36 D1:B8FF 11 55 BC D1 + 11 B6 BB D1 + CA 8D B7 D1 routestrjp(fshcmdCOPY, fshCmdCOPYm) + 36 D1:B968 11 BE BC D1 CD 59 AC D1 - 11 5C BC D1 - CA 24 B7 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) - 37 D1:B90F 11 6C BD D1 + 11 C5 BC D1 + CA 8D B7 D1 routestrjp(fshcmdMOVE, fshCmdMOVEm) + 37 D1:B978 11 D5 BD D1 CD 59 AC D1 - 11 72 BD D1 - CA 24 B7 D1 routestrjp(fshcmdCLS, fshCmdCLSm) - 38 D1:B91F 11 99 BD D1 + 11 DB BD D1 + CA 8D B7 D1 routestrjp(fshcmdCLS, fshCmdCLSm) + 38 D1:B988 11 02 BE D1 CD 59 AC D1 - 11 9F BD D1 - CA 24 B7 D1 routestrjp(fshcmdVAR, fshCmdVARm) - 39 D1:B92F 11 3C BE D1 + 11 08 BE D1 + CA 8D B7 D1 routestrjp(fshcmdVAR, fshCmdVARm) + 39 D1:B998 11 A5 BE D1 CD 59 AC D1 - 11 43 BE D1 - CA 24 B7 D1 routestrjp(fshcmdVARS, fshCmdVARSm) - 40 D1:B93F 11 AD BE D1 + 11 AC BE D1 + CA 8D B7 D1 routestrjp(fshcmdVARS, fshCmdVARSm) + 40 D1:B9A8 11 16 BF D1 CD 59 AC D1 - 11 B5 BE D1 - CA 24 B7 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) - 41 D1:B94F 11 FC BE D1 + 11 1E BF D1 + CA 8D B7 D1 routestrjp(fshcmdSLEEP, fshCmdSLEEPm) + 41 D1:B9B8 11 65 BF D1 CD 59 AC D1 - 11 03 BF D1 - CA 24 B7 D1 routestrjp(fshcmdINFO, fshCmdINFOm) - 42 D1:B95F 11 9F BF D1 + 11 6C BF D1 + CA 8D B7 D1 routestrjp(fshcmdINFO, fshCmdINFOm) + 42 D1:B9C8 11 08 C0 D1 CD 59 AC D1 - 11 A6 BF D1 - CA 24 B7 D1 routestrjp(fshcmdHELP, fshCmdHELPm) - 43 D1:B96F 11 F3 C0 D1 + 11 0F C0 D1 + CA 8D B7 D1 routestrjp(fshcmdHELP, fshCmdHELPm) + 43 D1:B9D8 11 5C C1 D1 CD 59 AC D1 - 11 F9 C0 D1 - CA 24 B7 D1 routestrjp(fshcmdMAN, fshCmdMANm) - 44 D1:B97F C5 - - - push bc - 45 D1:B980 C9 - - - ret - 46 D1:B981 - - - - - 47 D1:B981 - - - - fshcmdmanrouteu: - 48 D1:B981 C1 - - - pop bc - 49 D1:B982 11 34 BA D1 + 11 62 C1 D1 + CA 8D B7 D1 routestrjp(fshcmdMAN, fshCmdMANm) + 44 D1:B9E8 C5 - - - push bc + 45 D1:B9E9 C9 - - - ret + 46 D1:B9EA - - - - + 47 D1:B9EA - - - - fshcmdmanrouteu: + 48 D1:B9EA C1 - - - pop bc + 49 D1:B9EB 11 9D BA D1 CD 59 AC D1 - 11 45 BA D1 - CA 3A B7 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) - 50 D1:B992 11 4E BA D1 + 11 AE BA D1 + CA A3 B7 D1 routeustrjp(fshcmdEXIT, fshCmdEXITu) + 50 D1:B9FB 11 B7 BA D1 CD 59 AC D1 - 11 6F BA D1 - CA 3A B7 D1 routeustrjp(fshcmdSET, fshCmdSETu) - 51 D1:B9A2 11 46 BB D1 + 11 D8 BA D1 + CA A3 B7 D1 routeustrjp(fshcmdSET, fshCmdSETu) + 51 D1:BA0B 11 AF BB D1 CD 59 AC D1 - 11 7B BB D1 - CA 3A B7 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) - 52 D1:B9B2 11 55 BC D1 + 11 E4 BB D1 + CA A3 B7 D1 routeustrjp(fshcmdCOPY, fshCmdCOPYu) + 52 D1:BA1B 11 BE BC D1 CD 59 AC D1 - 11 89 BC D1 - CA 3A B7 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) - 53 D1:B9C2 11 6C BD D1 + 11 F2 BC D1 + CA A3 B7 D1 routeustrjp(fshcmdMOVE, fshCmdMOVEu) + 53 D1:BA2B 11 D5 BD D1 CD 59 AC D1 - 11 84 BD D1 - CA 3A B7 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) - 54 D1:B9D2 11 99 BD D1 + 11 ED BD D1 + CA A3 B7 D1 routeustrjp(fshcmdCLS, fshCmdCLSu) + 54 D1:BA3B 11 02 BE D1 CD 59 AC D1 - 11 C0 BD D1 - CA 3A B7 D1 routeustrjp(fshcmdVAR, fshCmdVARu) - 55 D1:B9E2 11 3C BE D1 + 11 29 BE D1 + CA A3 B7 D1 routeustrjp(fshcmdVAR, fshCmdVARu) + 55 D1:BA4B 11 A5 BE D1 CD 59 AC D1 - 11 59 BE D1 - CA 3A B7 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) - 56 D1:B9F2 11 AD BE D1 + 11 C2 BE D1 + CA A3 B7 D1 routeustrjp(fshcmdVARS, fshCmdVARSu) + 56 D1:BA5B 11 16 BF D1 CD 59 AC D1 - 11 DF BE D1 - CA 3A B7 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) - 57 D1:BA02 11 FC BE D1 + 11 48 BF D1 + CA A3 B7 D1 routeustrjp(fshcmdSLEEP, fshCmdSLEEPu) + 57 D1:BA6B 11 65 BF D1 CD 59 AC D1 - 11 29 BF D1 - CA 3A B7 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) - 58 D1:BA12 11 9F BF D1 + 11 92 BF D1 + CA A3 B7 D1 routeustrjp(fshcmdINFO, fshCmdINFOu) + 58 D1:BA7B 11 08 C0 D1 CD 59 AC D1 - 11 BC BF D1 - CA 3A B7 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) - 59 D1:BA22 11 F3 C0 D1 + 11 25 C0 D1 + CA A3 B7 D1 routeustrjp(fshcmdHELP, fshCmdHELPu) + 59 D1:BA8B 11 5C C1 D1 CD 59 AC D1 - 11 17 C1 D1 - CA 3A B7 D1 routeustrjp(fshcmdMAN, fshCmdMANu) - 60 D1:BA32 C5 - - - push bc - 61 D1:BA33 C9 - - - ret - 62 D1:BA34 - - - - - 63 D1:BA34 - - - - #include "includes/FshCommands/FshCommands.inc" + 11 80 C1 D1 + CA A3 B7 D1 routeustrjp(fshcmdMAN, fshCmdMANu) + 60 D1:BA9B C5 - - - push bc + 61 D1:BA9C C9 - - - ret + 62 D1:BA9D - - - - + 63 D1:BA9D - - - - #include "includes/FshCommands/FshCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 1 D1:BA34 - - - - #include "includes/FshCommands/EXIT.asm" + 1 D1:BA9D - - - - #include "includes/FshCommands/EXIT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/EXIT.asm" - 1 D1:BA34 45 58 49 54 + 1 D1:BA9D 45 58 49 54 00 - - - fshcmdEXIT: .db "EXIT", 0 - 2 D1:BA39 FF 00 - - fshcmdEXITo: .dw $00FF - 3 D1:BA3B 45 78 69 74 + 2 D1:BAA2 FF 00 - - fshcmdEXITo: .dw $00FF + 3 D1:BAA4 45 78 69 74 73 20 46 73 68 00 - - fshcmdEXITm: .db "Exits Fsh", 0 - 4 D1:BA45 45 58 49 54 + 4 D1:BAAE 45 58 49 54 00 - - - fshcmdEXITu: .db "EXIT", 0 - 5 D1:BA4A C3 EB A8 D1 fshcmdEXITf: JP Cleanup + 5 D1:BAB3 C3 EB A8 D1 fshcmdEXITf: JP Cleanup Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 2 D1:BA4E - - - - #include "includes/FshCommands/SET.asm" + 2 D1:BAB7 - - - - #include "includes/FshCommands/SET.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SET.asm" - 1 D1:BA4E 53 45 54 00 fshcmdSET: .db "SET", 0 - 2 D1:BA52 01 00 - - fshcmdSETo: .dw $0001 - 3 D1:BA54 53 65 74 73 + 1 D1:BAB7 53 45 54 00 fshcmdSET: .db "SET", 0 + 2 D1:BABB 01 00 - - fshcmdSETo: .dw $0001 + 3 D1:BABD 53 65 74 73 20 61 20 76 61 6C 75 65 20 69 6E 20 46 53 48 20 6D 65 6D 6F 72 79 00 - fshcmdSETm: .db "Sets a value in FSH memory", 0 - 4 D1:BA6F 53 45 54 20 + 4 D1:BAD8 53 45 54 20 3C 64 65 73 74 69 6E 61 74 69 6F 6E @@ -3038,83 +3063,83 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SET.asm" 3E 20 3C 76 61 6C 75 65 3E 00 - - fshcmdSETu: .db "SET ", 0 - 5 D1:BA91 - - - - fshcmdSETf: - 6 D1:BA91 - - - - fshcmdSETfArg0: - 7 D1:BA91 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BA95 CB 4E - - bit 1, (hl) - 9 D1:BA97 20 34 - - jr nz, fshcmdSETfArg1 - 10 D1:BA99 CB 46 - - bit 0, (hl) - 11 D1:BA9B 28 0C - - jr z, fshcmdSETfArg0Get - 12 D1:BA9D 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:BAA1 CD 5D B3 D1 call ErrSet - 14 D1:BAA5 CD 10 B3 D1 call ErrCatch - 15 D1:BAA9 - - - - fshcmdSETfArg0Get: - 16 D1:BAA9 21 30 BB D1 ld hl, fshcmdSETfDIndex - 17 D1:BAAD CD 21 AB D1 call printprompt - 18 D1:BAB1 21 2A BB D1 ld hl, fshcmdSETfInputBuffer - 19 D1:BAB5 11 03 00 00 ld de, 3 - 20 D1:BAB9 CD E1 AF D1 call inputnumstr - 21 D1:BABD CD E3 AC D1 call strtow - 22 D1:BAC1 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:BAC5 EB - - - ex de, hl - 24 D1:BAC6 73 - - - ld (hl), e - 25 D1:BAC7 23 - - - inc hl - 26 D1:BAC8 72 - - - ld (hl), d - 27 D1:BAC9 CD F0 07 02 call _NewLine - 28 D1:BACD - - - - fshcmdSETfArg1: - 29 D1:BACD 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:BAD1 CB 5E - - bit 3, (hl) - 31 D1:BAD3 20 34 - - jr nz, fshcmdSETfExe - 32 D1:BAD5 CB 56 - - bit 2, (hl) - 33 D1:BAD7 28 0C - - jr z, fshcmdSETfArg1Get - 34 D1:BAD9 21 F2 B3 D1 ld hl, ErrUsageo - 35 D1:BADD CD 5D B3 D1 call ErrSet - 36 D1:BAE1 CD 10 B3 D1 call ErrCatch - 37 D1:BAE5 - - - - fshcmdSETfArg1Get: - 38 D1:BAE5 21 3E BB D1 ld hl, fshcmdSETfDValue - 39 D1:BAE9 CD 21 AB D1 call printprompt - 40 D1:BAED 21 2A BB D1 ld hl, fshcmdSETfInputBuffer - 41 D1:BAF1 11 05 00 00 ld de, 5 - 42 D1:BAF5 CD E1 AF D1 call inputnumstr - 43 D1:BAF9 CD E3 AC D1 call strtow - 44 D1:BAFD EB - - - ex de, hl - 45 D1:BAFE 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:BB02 73 - - - ld (hl), e - 47 D1:BB03 23 - - - inc hl - 48 D1:BB04 72 - - - ld (hl), d - 49 D1:BB05 CD F0 07 02 call _NewLine - 50 D1:BB09 - - - - fshcmdSETfExe: - 51 D1:BB09 21 A8 EA D0 ld hl, FshCmdArg0 - 52 D1:BB0D 11 00 00 00 ld de, 0 - 53 D1:BB11 5E - - - ld e, (hl) - 54 D1:BB12 23 - - - inc hl - 55 D1:BB13 56 - - - ld d, (hl) - 56 D1:BB14 D5 - - - push de - 57 D1:BB15 21 B1 EA D0 ld hl, FshCmdArg1 - 58 D1:BB19 5E - - - ld e, (hl) - 59 D1:BB1A 23 - - - inc hl - 60 D1:BB1B 56 - - - ld d, (hl) - 61 D1:BB1C EB - - - ex de, hl - 62 D1:BB1D D1 - - - pop de - 63 D1:BB1E CD 60 B2 D1 call fshvarset - 64 D1:BB22 CD 10 B3 D1 call ErrCatch - 65 D1:BB26 C3 DF A8 D1 jp Fin - 66 D1:BB2A - - - - - 67 D1:BB2A 00 00 00 00 + 5 D1:BAFA - - - - fshcmdSETf: + 6 D1:BAFA - - - - fshcmdSETfArg0: + 7 D1:BAFA 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BAFE CB 4E - - bit 1, (hl) + 9 D1:BB00 20 34 - - jr nz, fshcmdSETfArg1 + 10 D1:BB02 CB 46 - - bit 0, (hl) + 11 D1:BB04 28 0C - - jr z, fshcmdSETfArg0Get + 12 D1:BB06 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:BB0A CD 5D B3 D1 call ErrSet + 14 D1:BB0E CD 10 B3 D1 call ErrCatch + 15 D1:BB12 - - - - fshcmdSETfArg0Get: + 16 D1:BB12 21 99 BB D1 ld hl, fshcmdSETfDIndex + 17 D1:BB16 CD 21 AB D1 call printprompt + 18 D1:BB1A 21 93 BB D1 ld hl, fshcmdSETfInputBuffer + 19 D1:BB1E 11 03 00 00 ld de, 3 + 20 D1:BB22 CD E1 AF D1 call inputnumstr + 21 D1:BB26 CD E3 AC D1 call strtow + 22 D1:BB2A 11 A8 EA D0 ld de, FshCmdArg0 + 23 D1:BB2E EB - - - ex de, hl + 24 D1:BB2F 73 - - - ld (hl), e + 25 D1:BB30 23 - - - inc hl + 26 D1:BB31 72 - - - ld (hl), d + 27 D1:BB32 CD F0 07 02 call _NewLine + 28 D1:BB36 - - - - fshcmdSETfArg1: + 29 D1:BB36 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:BB3A CB 5E - - bit 3, (hl) + 31 D1:BB3C 20 34 - - jr nz, fshcmdSETfExe + 32 D1:BB3E CB 56 - - bit 2, (hl) + 33 D1:BB40 28 0C - - jr z, fshcmdSETfArg1Get + 34 D1:BB42 21 F2 B3 D1 ld hl, ErrUsageo + 35 D1:BB46 CD 5D B3 D1 call ErrSet + 36 D1:BB4A CD 10 B3 D1 call ErrCatch + 37 D1:BB4E - - - - fshcmdSETfArg1Get: + 38 D1:BB4E 21 A7 BB D1 ld hl, fshcmdSETfDValue + 39 D1:BB52 CD 21 AB D1 call printprompt + 40 D1:BB56 21 93 BB D1 ld hl, fshcmdSETfInputBuffer + 41 D1:BB5A 11 05 00 00 ld de, 5 + 42 D1:BB5E CD E1 AF D1 call inputnumstr + 43 D1:BB62 CD E3 AC D1 call strtow + 44 D1:BB66 EB - - - ex de, hl + 45 D1:BB67 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:BB6B 73 - - - ld (hl), e + 47 D1:BB6C 23 - - - inc hl + 48 D1:BB6D 72 - - - ld (hl), d + 49 D1:BB6E CD F0 07 02 call _NewLine + 50 D1:BB72 - - - - fshcmdSETfExe: + 51 D1:BB72 21 A8 EA D0 ld hl, FshCmdArg0 + 52 D1:BB76 11 00 00 00 ld de, 0 + 53 D1:BB7A 5E - - - ld e, (hl) + 54 D1:BB7B 23 - - - inc hl + 55 D1:BB7C 56 - - - ld d, (hl) + 56 D1:BB7D D5 - - - push de + 57 D1:BB7E 21 B1 EA D0 ld hl, FshCmdArg1 + 58 D1:BB82 5E - - - ld e, (hl) + 59 D1:BB83 23 - - - inc hl + 60 D1:BB84 56 - - - ld d, (hl) + 61 D1:BB85 EB - - - ex de, hl + 62 D1:BB86 D1 - - - pop de + 63 D1:BB87 CD 60 B2 D1 call fshvarset + 64 D1:BB8B CD 10 B3 D1 call ErrCatch + 65 D1:BB8F C3 DF A8 D1 jp Fin + 66 D1:BB93 - - - - + 67 D1:BB93 00 00 00 00 00 00 - - fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00 - 68 D1:BB30 44 65 73 74 + 68 D1:BB99 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdSETfDIndex: .db "Destination= ", 0 - 69 D1:BB3E 56 61 6C 75 + 69 D1:BBA7 56 61 6C 75 65 3D 20 00 fshcmdSETfDValue: .db "Value= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 3 D1:BB46 - - - - #include "includes/FshCommands/COPY.asm" + 3 D1:BBAF - - - - #include "includes/FshCommands/COPY.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/COPY.asm" - 1 D1:BB46 43 4F 50 59 + 1 D1:BBAF 43 4F 50 59 00 - - - fshcmdCOPY: .db "COPY", 0 - 2 D1:BB4B 02 00 - - fshcmdCOPYo: .dw $0002 - 3 D1:BB4D 43 6F 70 79 + 2 D1:BBB4 02 00 - - fshcmdCOPYo: .dw $0002 + 3 D1:BBB6 43 6F 70 79 73 20 61 20 76 61 6C 75 65 20 69 6E @@ -3126,7 +3151,7 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/COPY.asm 65 72 20 61 64 64 65 73 73 00 - - fshcmdCOPYm: .db "Copys a value in FSH memory to another addess", 0 - 4 D1:BB7B 43 4F 50 59 + 4 D1:BBE4 43 4F 50 59 20 3C 73 6F 75 72 63 65 20 61 64 64 @@ -3137,74 +3162,74 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/COPY.asm 6F 6E 20 61 64 64 72 65 73 73 3E 00 fshcmdCOPYu: .db "COPY ", 0 - 5 D1:BBA7 - - - - fshcmdCOPYf: - 6 D1:BBA7 - - - - fshcmdCOPYfArg0: - 7 D1:BBA7 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BBAB CB 4E - - bit 1, (hl) - 9 D1:BBAD 20 31 - - jr nz, fshcmdCOPYfArg1 - 10 D1:BBAF CB 46 - - bit 0, (hl) - 11 D1:BBB1 28 0C - - jr z, fshcmdCOPYfArg0Get - 12 D1:BBB3 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:BBB7 CD 5D B3 D1 call ErrSet - 14 D1:BBBB CD 10 B3 D1 call ErrCatch - 15 D1:BBBF - - - - fshcmdCOPYfArg0Get: - 16 D1:BBBF 21 3E BC D1 ld hl, fshcmdCOPYfDSource - 17 D1:BBC3 CD 21 AB D1 call printprompt - 18 D1:BBC7 21 3A BC D1 ld hl, fshcmdCOPYfInputBuffer - 19 D1:BBCB 11 03 00 00 ld de, 3 - 20 D1:BBCF CD E1 AF D1 call inputnumstr - 21 D1:BBD3 CD 86 AC D1 call strtob - 22 D1:BBD7 21 A8 EA D0 ld hl, FshCmdArg0 - 23 D1:BBDB 77 - - - ld (hl), a - 24 D1:BBDC CD F0 07 02 call _NewLine - 25 D1:BBE0 - - - - fshcmdCOPYfArg1: - 26 D1:BBE0 21 CD EA D0 ld hl, FshCmdArgFlags - 27 D1:BBE4 CB 5E - - bit 3, (hl) - 28 D1:BBE6 20 31 - - jr nz, fshcmdCOPYfExe - 29 D1:BBE8 CB 56 - - bit 2, (hl) - 30 D1:BBEA 28 0C - - jr z, fshcmdCOPYfArg1Get - 31 D1:BBEC 21 F2 B3 D1 ld hl, ErrUsageo - 32 D1:BBF0 CD 5D B3 D1 call ErrSet - 33 D1:BBF4 CD 10 B3 D1 call ErrCatch - 34 D1:BBF8 - - - - fshcmdCOPYfArg1Get: - 35 D1:BBF8 21 3E BC D1 ld hl, fshcmdCOPYfDSource - 36 D1:BBFC CD 21 AB D1 call printprompt - 37 D1:BC00 21 3A BC D1 ld hl, fshcmdCOPYfInputBuffer - 38 D1:BC04 11 03 00 00 ld de, 3 - 39 D1:BC08 CD E1 AF D1 call inputnumstr - 40 D1:BC0C CD 86 AC D1 call strtob - 41 D1:BC10 21 B1 EA D0 ld hl, FshCmdArg1 - 42 D1:BC14 77 - - - ld (hl), a - 43 D1:BC15 CD F0 07 02 call _NewLine - 44 D1:BC19 - - - - fshcmdCOPYfExe: - 45 D1:BC19 21 A8 EA D0 ld hl, FshCmdArg0 - 46 D1:BC1D 11 00 00 00 ld de, 0 - 47 D1:BC21 5E - - - ld e, (hl) - 48 D1:BC22 EB - - - ex de, hl - 49 D1:BC23 E5 - - - push hl - 50 D1:BC24 21 B1 EA D0 ld hl, FshCmdArg1 - 51 D1:BC28 11 00 00 00 ld de, 0 - 52 D1:BC2C 5E - - - ld e, (hl) - 53 D1:BC2D E1 - - - pop hl - 54 D1:BC2E CD B3 B2 D1 call fshvarcpy - 55 D1:BC32 CD 10 B3 D1 call ErrCatch - 56 D1:BC36 C3 DF A8 D1 jp Fin - 57 D1:BC3A - - - - - 58 D1:BC3A 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 - 59 D1:BC3E 53 6F 75 72 + 5 D1:BC10 - - - - fshcmdCOPYf: + 6 D1:BC10 - - - - fshcmdCOPYfArg0: + 7 D1:BC10 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BC14 CB 4E - - bit 1, (hl) + 9 D1:BC16 20 31 - - jr nz, fshcmdCOPYfArg1 + 10 D1:BC18 CB 46 - - bit 0, (hl) + 11 D1:BC1A 28 0C - - jr z, fshcmdCOPYfArg0Get + 12 D1:BC1C 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:BC20 CD 5D B3 D1 call ErrSet + 14 D1:BC24 CD 10 B3 D1 call ErrCatch + 15 D1:BC28 - - - - fshcmdCOPYfArg0Get: + 16 D1:BC28 21 A7 BC D1 ld hl, fshcmdCOPYfDSource + 17 D1:BC2C CD 21 AB D1 call printprompt + 18 D1:BC30 21 A3 BC D1 ld hl, fshcmdCOPYfInputBuffer + 19 D1:BC34 11 03 00 00 ld de, 3 + 20 D1:BC38 CD E1 AF D1 call inputnumstr + 21 D1:BC3C CD 86 AC D1 call strtob + 22 D1:BC40 21 A8 EA D0 ld hl, FshCmdArg0 + 23 D1:BC44 77 - - - ld (hl), a + 24 D1:BC45 CD F0 07 02 call _NewLine + 25 D1:BC49 - - - - fshcmdCOPYfArg1: + 26 D1:BC49 21 CD EA D0 ld hl, FshCmdArgFlags + 27 D1:BC4D CB 5E - - bit 3, (hl) + 28 D1:BC4F 20 31 - - jr nz, fshcmdCOPYfExe + 29 D1:BC51 CB 56 - - bit 2, (hl) + 30 D1:BC53 28 0C - - jr z, fshcmdCOPYfArg1Get + 31 D1:BC55 21 F2 B3 D1 ld hl, ErrUsageo + 32 D1:BC59 CD 5D B3 D1 call ErrSet + 33 D1:BC5D CD 10 B3 D1 call ErrCatch + 34 D1:BC61 - - - - fshcmdCOPYfArg1Get: + 35 D1:BC61 21 A7 BC D1 ld hl, fshcmdCOPYfDSource + 36 D1:BC65 CD 21 AB D1 call printprompt + 37 D1:BC69 21 A3 BC D1 ld hl, fshcmdCOPYfInputBuffer + 38 D1:BC6D 11 03 00 00 ld de, 3 + 39 D1:BC71 CD E1 AF D1 call inputnumstr + 40 D1:BC75 CD 86 AC D1 call strtob + 41 D1:BC79 21 B1 EA D0 ld hl, FshCmdArg1 + 42 D1:BC7D 77 - - - ld (hl), a + 43 D1:BC7E CD F0 07 02 call _NewLine + 44 D1:BC82 - - - - fshcmdCOPYfExe: + 45 D1:BC82 21 A8 EA D0 ld hl, FshCmdArg0 + 46 D1:BC86 11 00 00 00 ld de, 0 + 47 D1:BC8A 5E - - - ld e, (hl) + 48 D1:BC8B EB - - - ex de, hl + 49 D1:BC8C E5 - - - push hl + 50 D1:BC8D 21 B1 EA D0 ld hl, FshCmdArg1 + 51 D1:BC91 11 00 00 00 ld de, 0 + 52 D1:BC95 5E - - - ld e, (hl) + 53 D1:BC96 E1 - - - pop hl + 54 D1:BC97 CD B3 B2 D1 call fshvarcpy + 55 D1:BC9B CD 10 B3 D1 call ErrCatch + 56 D1:BC9F C3 DF A8 D1 jp Fin + 57 D1:BCA3 - - - - + 58 D1:BCA3 00 00 00 00 fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00 + 59 D1:BCA7 53 6F 75 72 63 65 3D 20 00 - - - fshcmdCOPYfDSource: .db "Source= ", 0 - 60 D1:BC47 44 65 73 74 + 60 D1:BCB0 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdCOPYfDDestination: .db "Destination= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 4 D1:BC55 - - - - #include "includes/FshCommands/MOVE.asm" + 4 D1:BCBE - - - - #include "includes/FshCommands/MOVE.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MOVE.asm" - 1 D1:BC55 4D 4F 56 45 + 1 D1:BCBE 4D 4F 56 45 00 - - - fshcmdMOVE: .db "MOVE", 0 - 2 D1:BC5A 03 00 - - fshcmdMOVEo: .dw $0003 - 3 D1:BC5C 4D 6F 76 65 + 2 D1:BCC3 03 00 - - fshcmdMOVEo: .dw $0003 + 3 D1:BCC5 4D 6F 76 65 20 61 20 76 61 6C 75 65 20 69 6E 20 @@ -3216,7 +3241,7 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MOVE.asm 72 20 61 64 64 65 73 73 00 - - - fshcmdMOVEm: .db "Move a value in FSH memory to another addess", 0 - 4 D1:BC89 4D 4F 56 45 + 4 D1:BCF2 4D 4F 56 45 20 3C 73 6F 75 72 63 65 20 61 64 64 @@ -3227,93 +3252,93 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MOVE.asm 6F 6E 20 61 64 64 72 65 73 73 3E 00 fshcmdMOVEu: .db "MOVE ", 0 - 5 D1:BCB5 - - - - fshcmdMOVEf: - 6 D1:BCB5 - - - - fshcmdMOVEfArg0: - 7 D1:BCB5 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BCB9 CB 4E - - bit 1, (hl) - 9 D1:BCBB 20 31 - - jr nz, fshcmdMOVEfArg1 - 10 D1:BCBD CB 46 - - bit 0, (hl) - 11 D1:BCBF 28 0C - - jr z, fshcmdMOVEfArg0Get - 12 D1:BCC1 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:BCC5 CD 5D B3 D1 call ErrSet - 14 D1:BCC9 CD 10 B3 D1 call ErrCatch - 15 D1:BCCD - - - - fshcmdMOVEfArg0Get: - 16 D1:BCCD 21 55 BD D1 ld hl, fshcmdMOVEfDSource - 17 D1:BCD1 CD 21 AB D1 call printprompt - 18 D1:BCD5 21 51 BD D1 ld hl, fshcmdMOVEfInputBuffer - 19 D1:BCD9 11 03 00 00 ld de, 3 - 20 D1:BCDD CD E1 AF D1 call inputnumstr - 21 D1:BCE1 CD 86 AC D1 call strtob - 22 D1:BCE5 21 A8 EA D0 ld hl, FshCmdArg0 - 23 D1:BCE9 77 - - - ld (hl), a - 24 D1:BCEA CD F0 07 02 call _NewLine - 25 D1:BCEE - - - - fshcmdMOVEfArg1: - 26 D1:BCEE 21 CD EA D0 ld hl, FshCmdArgFlags - 27 D1:BCF2 CB 5E - - bit 3, (hl) - 28 D1:BCF4 20 31 - - jr nz, fshcmdMOVEfExe - 29 D1:BCF6 CB 56 - - bit 2, (hl) - 30 D1:BCF8 28 0C - - jr z, fshcmdMOVEfArg1Get - 31 D1:BCFA 21 F2 B3 D1 ld hl, ErrUsageo - 32 D1:BCFE CD 5D B3 D1 call ErrSet - 33 D1:BD02 CD 10 B3 D1 call ErrCatch - 34 D1:BD06 - - - - fshcmdMOVEfArg1Get: - 35 D1:BD06 21 5E BD D1 ld hl, fshcmdMOVEfDDestination - 36 D1:BD0A CD 21 AB D1 call printprompt - 37 D1:BD0E 21 51 BD D1 ld hl, fshcmdMOVEfInputBuffer - 38 D1:BD12 11 03 00 00 ld de, 3 - 39 D1:BD16 CD E1 AF D1 call inputnumstr - 40 D1:BD1A CD 86 AC D1 call strtob - 41 D1:BD1E 21 B1 EA D0 ld hl, FshCmdArg1 - 42 D1:BD22 77 - - - ld (hl), a - 43 D1:BD23 CD F0 07 02 call _NewLine - 44 D1:BD27 - - - - fshcmdMOVEfExe: - 45 D1:BD27 21 A8 EA D0 ld hl, FshCmdArg0 - 46 D1:BD2B 11 00 00 00 ld de, 0 - 47 D1:BD2F 5E - - - ld e, (hl) - 48 D1:BD30 EB - - - ex de, hl - 49 D1:BD31 E5 - - - push hl - 50 D1:BD32 21 B1 EA D0 ld hl, FshCmdArg1 - 51 D1:BD36 11 00 00 00 ld de, 0 - 52 D1:BD3A 5E - - - ld e, (hl) - 53 D1:BD3B E1 - - - pop hl - 54 D1:BD3C CD B3 B2 D1 call fshvarcpy - 55 D1:BD40 EB - - - ex de, hl - 56 D1:BD41 21 00 00 00 ld hl, 0 - 57 D1:BD45 CD 60 B2 D1 call fshvarset - 58 D1:BD49 CD 10 B3 D1 call ErrCatch - 59 D1:BD4D C3 DF A8 D1 jp Fin - 60 D1:BD51 - - - - - 61 D1:BD51 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 - 62 D1:BD55 53 6F 75 72 + 5 D1:BD1E - - - - fshcmdMOVEf: + 6 D1:BD1E - - - - fshcmdMOVEfArg0: + 7 D1:BD1E 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BD22 CB 4E - - bit 1, (hl) + 9 D1:BD24 20 31 - - jr nz, fshcmdMOVEfArg1 + 10 D1:BD26 CB 46 - - bit 0, (hl) + 11 D1:BD28 28 0C - - jr z, fshcmdMOVEfArg0Get + 12 D1:BD2A 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:BD2E CD 5D B3 D1 call ErrSet + 14 D1:BD32 CD 10 B3 D1 call ErrCatch + 15 D1:BD36 - - - - fshcmdMOVEfArg0Get: + 16 D1:BD36 21 BE BD D1 ld hl, fshcmdMOVEfDSource + 17 D1:BD3A CD 21 AB D1 call printprompt + 18 D1:BD3E 21 BA BD D1 ld hl, fshcmdMOVEfInputBuffer + 19 D1:BD42 11 03 00 00 ld de, 3 + 20 D1:BD46 CD E1 AF D1 call inputnumstr + 21 D1:BD4A CD 86 AC D1 call strtob + 22 D1:BD4E 21 A8 EA D0 ld hl, FshCmdArg0 + 23 D1:BD52 77 - - - ld (hl), a + 24 D1:BD53 CD F0 07 02 call _NewLine + 25 D1:BD57 - - - - fshcmdMOVEfArg1: + 26 D1:BD57 21 CD EA D0 ld hl, FshCmdArgFlags + 27 D1:BD5B CB 5E - - bit 3, (hl) + 28 D1:BD5D 20 31 - - jr nz, fshcmdMOVEfExe + 29 D1:BD5F CB 56 - - bit 2, (hl) + 30 D1:BD61 28 0C - - jr z, fshcmdMOVEfArg1Get + 31 D1:BD63 21 F2 B3 D1 ld hl, ErrUsageo + 32 D1:BD67 CD 5D B3 D1 call ErrSet + 33 D1:BD6B CD 10 B3 D1 call ErrCatch + 34 D1:BD6F - - - - fshcmdMOVEfArg1Get: + 35 D1:BD6F 21 C7 BD D1 ld hl, fshcmdMOVEfDDestination + 36 D1:BD73 CD 21 AB D1 call printprompt + 37 D1:BD77 21 BA BD D1 ld hl, fshcmdMOVEfInputBuffer + 38 D1:BD7B 11 03 00 00 ld de, 3 + 39 D1:BD7F CD E1 AF D1 call inputnumstr + 40 D1:BD83 CD 86 AC D1 call strtob + 41 D1:BD87 21 B1 EA D0 ld hl, FshCmdArg1 + 42 D1:BD8B 77 - - - ld (hl), a + 43 D1:BD8C CD F0 07 02 call _NewLine + 44 D1:BD90 - - - - fshcmdMOVEfExe: + 45 D1:BD90 21 A8 EA D0 ld hl, FshCmdArg0 + 46 D1:BD94 11 00 00 00 ld de, 0 + 47 D1:BD98 5E - - - ld e, (hl) + 48 D1:BD99 EB - - - ex de, hl + 49 D1:BD9A E5 - - - push hl + 50 D1:BD9B 21 B1 EA D0 ld hl, FshCmdArg1 + 51 D1:BD9F 11 00 00 00 ld de, 0 + 52 D1:BDA3 5E - - - ld e, (hl) + 53 D1:BDA4 E1 - - - pop hl + 54 D1:BDA5 CD B3 B2 D1 call fshvarcpy + 55 D1:BDA9 EB - - - ex de, hl + 56 D1:BDAA 21 00 00 00 ld hl, 0 + 57 D1:BDAE CD 60 B2 D1 call fshvarset + 58 D1:BDB2 CD 10 B3 D1 call ErrCatch + 59 D1:BDB6 C3 DF A8 D1 jp Fin + 60 D1:BDBA - - - - + 61 D1:BDBA 00 00 00 00 fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00 + 62 D1:BDBE 53 6F 75 72 63 65 3D 20 00 - - - fshcmdMOVEfDSource: .db "Source= ", 0 - 63 D1:BD5E 44 65 73 74 + 63 D1:BDC7 44 65 73 74 69 6E 61 74 69 6F 6E 3D 20 00 - - fshcmdMOVEfDDestination: .db "Destination= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 5 D1:BD6C - - - - #include "includes/FshCommands/CLS.asm" + 5 D1:BDD5 - - - - #include "includes/FshCommands/CLS.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/CLS.asm" - 1 D1:BD6C 43 4C 53 00 fshcmdCLS: .db "CLS", 0 - 2 D1:BD70 10 00 - - fshcmdCLSo: .dw $0010 - 3 D1:BD72 43 6C 65 61 + 1 D1:BDD5 43 4C 53 00 fshcmdCLS: .db "CLS", 0 + 2 D1:BDD9 10 00 - - fshcmdCLSo: .dw $0010 + 3 D1:BDDB 43 6C 65 61 72 73 20 74 68 65 20 73 63 72 65 65 6E 00 - - fshcmdCLSm: .db "Clears the screen", 0 - 4 D1:BD84 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 - 5 D1:BD88 - - - - fshcmdCLSf: - 6 D1:BD88 CD 08 08 02 call _ClrLCDFull - 7 D1:BD8C AF - - - xor a - 8 D1:BD8D 32 95 05 D0 ld (CurRow), a - 9 D1:BD91 32 96 05 D0 ld (CurCol), a - 10 D1:BD95 C3 DF A8 D1 jp Fin + 4 D1:BDED 43 4C 53 00 fshcmdCLSu: .db "CLS", 0 + 5 D1:BDF1 - - - - fshcmdCLSf: + 6 D1:BDF1 CD 08 08 02 call _ClrLCDFull + 7 D1:BDF5 AF - - - xor a + 8 D1:BDF6 32 95 05 D0 ld (CurRow), a + 9 D1:BDFA 32 96 05 D0 ld (CurCol), a + 10 D1:BDFE C3 DF A8 D1 jp Fin Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 6 D1:BD99 - - - - #include "includes/FshCommands/VAR.asm" + 6 D1:BE02 - - - - #include "includes/FshCommands/VAR.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VAR.asm" - 1 D1:BD99 56 41 52 00 fshcmdVAR: .db "VAR", 0 - 2 D1:BD9D 11 00 - - fshcmdVARo: .dw $0011 - 3 D1:BD9F 44 69 73 70 + 1 D1:BE02 56 41 52 00 fshcmdVAR: .db "VAR", 0 + 2 D1:BE06 11 00 - - fshcmdVARo: .dw $0011 + 3 D1:BE08 44 69 73 70 6C 61 79 73 20 61 20 76 61 6C 75 65 @@ -3322,111 +3347,111 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VAR.asm" 48 20 6D 65 6D 6F 72 79 00 - - - fshcmdVARm: .db "Displays a value from FSH memory", 0 - 4 D1:BDC0 56 41 52 20 + 4 D1:BE29 56 41 52 20 3C 73 6F 75 72 63 65 20 61 64 64 72 65 73 73 3E 00 - - - fshcmdVARu: .db "VAR ", 0 - 5 D1:BDD5 - - - - fshcmdVARf: - 6 D1:BDD5 - - - - fshcmdVARfArg0: - 7 D1:BDD5 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:BDD9 CB 4E - - bit 1, (hl) - 9 D1:BDDB 20 34 - - jr nz, fshcmdVARfExe - 10 D1:BDDD CB 46 - - bit 0, (hl) - 11 D1:BDDF 28 0C - - jr z, fshcmdVARfArg0Get - 12 D1:BDE1 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:BDE5 CD 5D B3 D1 call ErrSet - 14 D1:BDE9 CD 10 B3 D1 call ErrCatch - 15 D1:BDED - - - - fshcmdVARfArg0Get: - 16 D1:BDED 21 34 BE D1 ld hl, fshcmdVARfDIndex - 17 D1:BDF1 CD 21 AB D1 call printprompt - 18 D1:BDF5 21 30 BE D1 ld hl, fshcmdVARfInputBuffer - 19 D1:BDF9 11 03 00 00 ld de, 3 - 20 D1:BDFD CD E1 AF D1 call inputnumstr - 21 D1:BE01 CD E3 AC D1 call strtow - 22 D1:BE05 11 A8 EA D0 ld de, FshCmdArg0 - 23 D1:BE09 EB - - - ex de, hl - 24 D1:BE0A 73 - - - ld (hl), e - 25 D1:BE0B 23 - - - inc hl - 26 D1:BE0C 72 - - - ld (hl), d - 27 D1:BE0D CD F0 07 02 call _NewLine - 28 D1:BE11 - - - - fshcmdVARfExe: - 29 D1:BE11 21 A8 EA D0 ld hl, FshCmdArg0 - 30 D1:BE15 11 00 00 00 ld de, 0 - 31 D1:BE19 5E - - - ld e, (hl) - 32 D1:BE1A 23 - - - inc hl - 33 D1:BE1B 56 - - - ld d, (hl) - 34 D1:BE1C CD 88 B2 D1 call fshvarget - 35 D1:BE20 CD 10 B3 D1 call ErrCatch - 36 D1:BE24 CD BC 07 02 call _DispHL_s - 37 D1:BE28 CD F0 07 02 call _NewLine - 38 D1:BE2C C3 DF A8 D1 jp Fin - 39 D1:BE30 - - - - - 40 D1:BE30 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 - 41 D1:BE34 49 6E 64 65 + 5 D1:BE3E - - - - fshcmdVARf: + 6 D1:BE3E - - - - fshcmdVARfArg0: + 7 D1:BE3E 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:BE42 CB 4E - - bit 1, (hl) + 9 D1:BE44 20 34 - - jr nz, fshcmdVARfExe + 10 D1:BE46 CB 46 - - bit 0, (hl) + 11 D1:BE48 28 0C - - jr z, fshcmdVARfArg0Get + 12 D1:BE4A 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:BE4E CD 5D B3 D1 call ErrSet + 14 D1:BE52 CD 10 B3 D1 call ErrCatch + 15 D1:BE56 - - - - fshcmdVARfArg0Get: + 16 D1:BE56 21 9D BE D1 ld hl, fshcmdVARfDIndex + 17 D1:BE5A CD 21 AB D1 call printprompt + 18 D1:BE5E 21 99 BE D1 ld hl, fshcmdVARfInputBuffer + 19 D1:BE62 11 03 00 00 ld de, 3 + 20 D1:BE66 CD E1 AF D1 call inputnumstr + 21 D1:BE6A CD E3 AC D1 call strtow + 22 D1:BE6E 11 A8 EA D0 ld de, FshCmdArg0 + 23 D1:BE72 EB - - - ex de, hl + 24 D1:BE73 73 - - - ld (hl), e + 25 D1:BE74 23 - - - inc hl + 26 D1:BE75 72 - - - ld (hl), d + 27 D1:BE76 CD F0 07 02 call _NewLine + 28 D1:BE7A - - - - fshcmdVARfExe: + 29 D1:BE7A 21 A8 EA D0 ld hl, FshCmdArg0 + 30 D1:BE7E 11 00 00 00 ld de, 0 + 31 D1:BE82 5E - - - ld e, (hl) + 32 D1:BE83 23 - - - inc hl + 33 D1:BE84 56 - - - ld d, (hl) + 34 D1:BE85 CD 88 B2 D1 call fshvarget + 35 D1:BE89 CD 10 B3 D1 call ErrCatch + 36 D1:BE8D CD BC 07 02 call _DispHL_s + 37 D1:BE91 CD F0 07 02 call _NewLine + 38 D1:BE95 C3 DF A8 D1 jp Fin + 39 D1:BE99 - - - - + 40 D1:BE99 00 00 00 00 fshcmdVARfInputBuffer: .db $00, $00, $00, $00 + 41 D1:BE9D 49 6E 64 65 78 3D 20 00 fshcmdVARfDIndex: .db "Index= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 7 D1:BE3C - - - - #include "includes/FshCommands/VARS.asm" + 7 D1:BEA5 - - - - #include "includes/FshCommands/VARS.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/VARS.asm" - 1 D1:BE3C 56 41 52 53 + 1 D1:BEA5 56 41 52 53 00 - - - fshcmdVARS: .db "VARS", 0 - 2 D1:BE41 12 00 - - fshcmdVARSo: .dw $0012 - 3 D1:BE43 44 69 73 70 + 2 D1:BEAA 12 00 - - fshcmdVARSo: .dw $0012 + 3 D1:BEAC 44 69 73 70 6C 61 79 73 20 61 6C 6C 20 46 73 68 20 56 61 72 73 00 - - fshcmdVARSm: .db "Displays all Fsh Vars", 0 - 4 D1:BE59 56 41 52 53 + 4 D1:BEC2 56 41 52 53 00 - - - fshcmdVARSu: .db "VARS", 0 - 5 D1:BE5E - - - - fshcmdVARSf: - 6 D1:BE5E 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BE62 CB 46 - - bit 0, (hl) - 8 D1:BE64 28 0C - - jr z, fshcmdVARSfExe - 9 D1:BE66 21 F2 B3 D1 ld hl, ErrUsageo - 10 D1:BE6A CD 5D B3 D1 call ErrSet - 11 D1:BE6E CD 10 B3 D1 call ErrCatch - 12 D1:BE72 - - - - fshcmdVARSfExe: - 13 D1:BE72 06 00 - - ld b, 0 - 14 D1:BE74 0E 00 - - ld c, 0 - 15 D1:BE76 11 00 00 00 ld de, 0 - 16 D1:BE7A - - - - fshcmdVARSfLoop: - 17 D1:BE7A CD 88 B2 D1 call fshvarget - 18 D1:BE7E 7C - - - ld a, h - 19 D1:BE7F CD B8 07 02 call _PutC - 20 D1:BE83 7D - - - ld a, l - 21 D1:BE84 CD B8 07 02 call _PutC - 22 D1:BE88 79 - - - ld a, c - 23 D1:BE89 0C - - - inc c - 24 D1:BE8A FE 07 - - cp 7 - 25 D1:BE8C 20 0E - - jr nz, fshcmdVARSfLoopU - 26 D1:BE8E E5 - - - push hl - 27 D1:BE8F C5 - - - push bc - 28 D1:BE90 D5 - - - push de - 29 D1:BE91 CD F0 07 02 call _NewLine - 30 D1:BE95 D1 - - - pop de - 31 D1:BE96 C1 - - - pop bc - 32 D1:BE97 E1 - - - pop hl - 33 D1:BE98 0E 00 - - ld c, 0 - 34 D1:BE9A 18 06 - - jr fshcmdVARSfLoopEnd - 35 D1:BE9C - - - - fshcmdVARSfLoopU: - 36 D1:BE9C 3E 5F - - ld a, '_' - 37 D1:BE9E CD B8 07 02 call _PutC - 38 D1:BEA2 - - - - fshcmdVARSfLoopEnd: - 39 D1:BEA2 04 - - - inc b - 40 D1:BEA3 13 - - - inc de - 41 D1:BEA4 78 - - - ld a, b - 42 D1:BEA5 FE 40 - - cp FshVarsSize / 2 - 43 D1:BEA7 38 D1 - - jr c, fshcmdVARSfLoop - 44 D1:BEA9 C3 DF A8 D1 jp Fin + 5 D1:BEC7 - - - - fshcmdVARSf: + 6 D1:BEC7 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BECB CB 46 - - bit 0, (hl) + 8 D1:BECD 28 0C - - jr z, fshcmdVARSfExe + 9 D1:BECF 21 F2 B3 D1 ld hl, ErrUsageo + 10 D1:BED3 CD 5D B3 D1 call ErrSet + 11 D1:BED7 CD 10 B3 D1 call ErrCatch + 12 D1:BEDB - - - - fshcmdVARSfExe: + 13 D1:BEDB 06 00 - - ld b, 0 + 14 D1:BEDD 0E 00 - - ld c, 0 + 15 D1:BEDF 11 00 00 00 ld de, 0 + 16 D1:BEE3 - - - - fshcmdVARSfLoop: + 17 D1:BEE3 CD 88 B2 D1 call fshvarget + 18 D1:BEE7 7C - - - ld a, h + 19 D1:BEE8 CD B8 07 02 call _PutC + 20 D1:BEEC 7D - - - ld a, l + 21 D1:BEED CD B8 07 02 call _PutC + 22 D1:BEF1 79 - - - ld a, c + 23 D1:BEF2 0C - - - inc c + 24 D1:BEF3 FE 07 - - cp 7 + 25 D1:BEF5 20 0E - - jr nz, fshcmdVARSfLoopU + 26 D1:BEF7 E5 - - - push hl + 27 D1:BEF8 C5 - - - push bc + 28 D1:BEF9 D5 - - - push de + 29 D1:BEFA CD F0 07 02 call _NewLine + 30 D1:BEFE D1 - - - pop de + 31 D1:BEFF C1 - - - pop bc + 32 D1:BF00 E1 - - - pop hl + 33 D1:BF01 0E 00 - - ld c, 0 + 34 D1:BF03 18 06 - - jr fshcmdVARSfLoopEnd + 35 D1:BF05 - - - - fshcmdVARSfLoopU: + 36 D1:BF05 3E 5F - - ld a, '_' + 37 D1:BF07 CD B8 07 02 call _PutC + 38 D1:BF0B - - - - fshcmdVARSfLoopEnd: + 39 D1:BF0B 04 - - - inc b + 40 D1:BF0C 13 - - - inc de + 41 D1:BF0D 78 - - - ld a, b + 42 D1:BF0E FE 40 - - cp FshVarsSize / 2 + 43 D1:BF10 38 D1 - - jr c, fshcmdVARSfLoop + 44 D1:BF12 C3 DF A8 D1 jp Fin Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 8 D1:BEAD - - - - #include "includes/FshCommands/SLEEP.asm" + 8 D1:BF16 - - - - #include "includes/FshCommands/SLEEP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SLEEP.asm" - 1 D1:BEAD 53 4C 45 45 + 1 D1:BF16 53 4C 45 45 50 00 - - fshcmdSLEEP: .db "SLEEP", 0 - 2 D1:BEB3 16 00 - - fshcmdSLEEPo: .dw $0016 - 3 D1:BEB5 50 75 74 73 + 2 D1:BF1C 16 00 - - fshcmdSLEEPo: .dw $0016 + 3 D1:BF1E 50 75 74 73 20 74 68 65 20 63 61 6C 63 75 6C 61 @@ -3437,26 +3462,26 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/SLEEP.as 6F 64 65 20 28 41 50 44 29 00 - - fshcmdSLEEPm: .db "Puts the calculator into sleep mode (APD)", 0 - 4 D1:BEDF 53 4C 45 45 + 4 D1:BF48 53 4C 45 45 50 00 - - fshcmdSLEEPu: .db "SLEEP", 0 - 5 D1:BEE5 - - - - fshcmdSLEEPf: - 6 D1:BEE5 F3 - - - di - 7 D1:BEE6 CD 38 11 02 call _EnableAPD - 8 D1:BEEA 3E 01 - - ld a,1 - 9 D1:BEEC 21 90 05 D0 ld hl,apdSubTimer - 10 D1:BEF0 77 - - - ld (hl),a - 11 D1:BEF1 23 - - - inc hl - 12 D1:BEF2 77 - - - ld (hl),a - 13 D1:BEF3 FD CB 08 DE set apdRunning,(iy+apdFlags) - 14 D1:BEF7 FB - - - ei - 15 D1:BEF8 C3 DF A8 D1 jp Fin + 5 D1:BF4E - - - - fshcmdSLEEPf: + 6 D1:BF4E F3 - - - di + 7 D1:BF4F CD 38 11 02 call _EnableAPD + 8 D1:BF53 3E 01 - - ld a,1 + 9 D1:BF55 21 90 05 D0 ld hl,apdSubTimer + 10 D1:BF59 77 - - - ld (hl),a + 11 D1:BF5A 23 - - - inc hl + 12 D1:BF5B 77 - - - ld (hl),a + 13 D1:BF5C FD CB 08 DE set apdRunning,(iy+apdFlags) + 14 D1:BF60 FB - - - ei + 15 D1:BF61 C3 DF A8 D1 jp Fin Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 9 D1:BEFC - - - - #include "includes/FshCommands/INFO.asm" + 9 D1:BF65 - - - - #include "includes/FshCommands/INFO.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/INFO.asm" - 1 D1:BEFC 49 4E 46 4F + 1 D1:BF65 49 4E 46 4F 00 - - - fshcmdINFO: .db "INFO", 0 - 2 D1:BF01 20 00 - - fshcmdINFOo: .dw $0020 - 3 D1:BF03 44 69 73 70 + 2 D1:BF6A 20 00 - - fshcmdINFOo: .dw $0020 + 3 D1:BF6C 44 69 73 70 6C 61 79 73 20 53 79 65 74 65 6D 20 @@ -3466,174 +3491,174 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/INFO.asm 61 6E 64 20 53 74 61 74 73 00 - - fshcmdINFOm: .db "Displays Syetem Information and Stats", 0 - 4 D1:BF29 49 4E 46 4F + 4 D1:BF92 49 4E 46 4F 00 - - - fshcmdINFOu: .db "INFO", 0 - 5 D1:BF2E - - - - fshcmdINFOf: - 6 D1:BF2E 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BF32 CB 46 - - bit 0, (hl) - 8 D1:BF34 28 0C - - jr z, fshcmdINFOfExe - 9 D1:BF36 21 F2 B3 D1 ld hl, ErrUsageo - 10 D1:BF3A CD 5D B3 D1 call ErrSet - 11 D1:BF3E CD 10 B3 D1 call ErrCatch - 12 D1:BF42 - - - - fshcmdINFOfExe: - 13 D1:BF42 CD 08 08 02 call _ClrLCDFull - 14 D1:BF46 AF - - - xor a - 15 D1:BF47 32 95 05 D0 ld (CurRow), a - 16 D1:BF4B 32 96 05 D0 ld (CurCol), a - 17 D1:BF4F - - - - - 18 D1:BF4F CD 3F B4 D1 call printfshnamelong - 19 D1:BF53 CD F0 07 02 call _NewLine - 20 D1:BF57 - - - - - 21 D1:BF57 21 13 A9 D1 ld hl, FshBy - 22 D1:BF5B CD C0 07 02 call _PutS - 23 D1:BF5F CD F0 07 02 call _NewLine - 24 D1:BF63 - - - - - 25 D1:BF63 21 1D A9 D1 ld hl, FshSite - 26 D1:BF67 CD C0 07 02 call _PutS - 27 D1:BF6B CD F0 07 02 call _NewLine - 28 D1:BF6F - - - - - 29 D1:BF6F CD F0 07 02 call _NewLine - 30 D1:BF73 21 97 BF D1 ld hl, fshcmdINFOfSPS1 - 31 D1:BF77 CD C0 07 02 call _PutS - 32 D1:BF7B 3E 27 - - ld a, $27 - 33 D1:BF7D CD B8 07 02 call _PutC - 34 D1:BF81 21 38 A9 D1 ld hl, PS1 - 35 D1:BF85 CD C0 07 02 call _PutS - 36 D1:BF89 3E 27 - - ld a, $27 - 37 D1:BF8B CD B8 07 02 call _PutC - 38 D1:BF8F CD F0 07 02 call _NewLine - 39 D1:BF93 - - - - - 40 D1:BF93 C3 DF A8 D1 jp Fin - 41 D1:BF97 - - - - - 42 D1:BF97 50 53 31 CE + 5 D1:BF97 - - - - fshcmdINFOf: + 6 D1:BF97 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:BF9B CB 46 - - bit 0, (hl) + 8 D1:BF9D 28 0C - - jr z, fshcmdINFOfExe + 9 D1:BF9F 21 F2 B3 D1 ld hl, ErrUsageo + 10 D1:BFA3 CD 5D B3 D1 call ErrSet + 11 D1:BFA7 CD 10 B3 D1 call ErrCatch + 12 D1:BFAB - - - - fshcmdINFOfExe: + 13 D1:BFAB CD 08 08 02 call _ClrLCDFull + 14 D1:BFAF AF - - - xor a + 15 D1:BFB0 32 95 05 D0 ld (CurRow), a + 16 D1:BFB4 32 96 05 D0 ld (CurCol), a + 17 D1:BFB8 - - - - + 18 D1:BFB8 CD 3F B4 D1 call printfshnamelong + 19 D1:BFBC CD F0 07 02 call _NewLine + 20 D1:BFC0 - - - - + 21 D1:BFC0 21 13 A9 D1 ld hl, FshBy + 22 D1:BFC4 CD C0 07 02 call _PutS + 23 D1:BFC8 CD F0 07 02 call _NewLine + 24 D1:BFCC - - - - + 25 D1:BFCC 21 1D A9 D1 ld hl, FshSite + 26 D1:BFD0 CD C0 07 02 call _PutS + 27 D1:BFD4 CD F0 07 02 call _NewLine + 28 D1:BFD8 - - - - + 29 D1:BFD8 CD F0 07 02 call _NewLine + 30 D1:BFDC 21 00 C0 D1 ld hl, fshcmdINFOfSPS1 + 31 D1:BFE0 CD C0 07 02 call _PutS + 32 D1:BFE4 3E 27 - - ld a, $27 + 33 D1:BFE6 CD B8 07 02 call _PutC + 34 D1:BFEA 21 38 A9 D1 ld hl, PS1 + 35 D1:BFEE CD C0 07 02 call _PutS + 36 D1:BFF2 3E 27 - - ld a, $27 + 37 D1:BFF4 CD B8 07 02 call _PutC + 38 D1:BFF8 CD F0 07 02 call _NewLine + 39 D1:BFFC - - - - + 40 D1:BFFC C3 DF A8 D1 jp Fin + 41 D1:C000 - - - - + 42 D1:C000 50 53 31 CE CE CE 3A 00 fshcmdINFOfSPS1: .db "PS1", $CE, $CE, $CE, ":", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 10 D1:BF9F - - - - #include "includes/FshCommands/HELP.asm" + 10 D1:C008 - - - - #include "includes/FshCommands/HELP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/HELP.asm" - 1 D1:BF9F 48 45 4C 50 + 1 D1:C008 48 45 4C 50 00 - - - fshcmdHELP: .db "HELP", 0 - 2 D1:BFA4 21 00 - - fshcmdHELPo: .dw $0021 - 3 D1:BFA6 44 69 73 70 + 2 D1:C00D 21 00 - - fshcmdHELPo: .dw $0021 + 3 D1:C00F 44 69 73 70 6C 61 79 73 20 61 6C 6C 20 63 6F 6D 6D 61 6E 64 73 00 - - fshcmdHELPm: .db "Displays all commands", 0 - 4 D1:BFBC 48 45 4C 50 + 4 D1:C025 48 45 4C 50 00 - - - fshcmdHELPu: .db "HELP", 0 - 5 D1:BFC1 - - - - fshcmdHELPf: - 6 D1:BFC1 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:BFC5 CB 46 - - bit 0, (hl) - 8 D1:BFC7 28 0C - - jr z, fshcmdHELPfExe - 9 D1:BFC9 21 F2 B3 D1 ld hl, ErrUsageo - 10 D1:BFCD CD 5D B3 D1 call ErrSet - 11 D1:BFD1 CD 10 B3 D1 call ErrCatch - 12 D1:BFD5 - - - - fshcmdHELPfExe: - 13 D1:BFD5 21 BA C0 D1 ld hl, fshcmdHELPfLine1 - 14 D1:BFD9 CD C0 07 02 call _PutS - 15 D1:BFDD CD F0 07 02 call _NewLine - 16 D1:BFE1 - - - - - 17 D1:BFE1 - - - - #macro fshcmdHELPmRow1(cmdXs) - 18 D1:BFE1 xor a - 19 D1:BFE1 ld (curCol), a - 20 D1:BFE1 ld hl, cmdXs - 21 D1:BFE1 call _PutS - 22 D1:BFE1 call _NewLine - 23 D1:BFE1 #endmacro - 24 D1:BFE1 - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) - 25 D1:BFE1 xor a - 26 D1:BFE1 ld (curCol), a - 27 D1:BFE1 ld hl, cmdXs - 28 D1:BFE1 call _PutS - 29 D1:BFE1 ld a, 9 - 30 D1:BFE1 ld (curcol), a - 31 D1:BFE1 ld hl, cmdYs - 32 D1:BFE1 call _PutS - 33 D1:BFE1 call _NewLine - 34 D1:BFE1 #endmacro - 35 D1:BFE1 - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) - 36 D1:BFE1 xor a - 37 D1:BFE1 ld (curCol), a - 38 D1:BFE1 ld hl, cmdXs - 39 D1:BFE1 call _PutS - 40 D1:BFE1 ld a, 9 - 41 D1:BFE1 ld (curcol), a - 42 D1:BFE1 ld hl, cmdYs - 43 D1:BFE1 call _PutS - 44 D1:BFE1 ld a, 19 - 45 D1:BFE1 ld (curcol), a - 46 D1:BFE1 ld hl, cmdZs - 47 D1:BFE1 call _PutS - 48 D1:BFE1 call _NewLine - 49 D1:BFE1 #endmacro - 50 D1:BFE1 - - - - - 51 D1:BFE1 AF 32 96 05 - D0 21 34 BA + 5 D1:C02A - - - - fshcmdHELPf: + 6 D1:C02A 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C02E CB 46 - - bit 0, (hl) + 8 D1:C030 28 0C - - jr z, fshcmdHELPfExe + 9 D1:C032 21 F2 B3 D1 ld hl, ErrUsageo + 10 D1:C036 CD 5D B3 D1 call ErrSet + 11 D1:C03A CD 10 B3 D1 call ErrCatch + 12 D1:C03E - - - - fshcmdHELPfExe: + 13 D1:C03E 21 23 C1 D1 ld hl, fshcmdHELPfLine1 + 14 D1:C042 CD C0 07 02 call _PutS + 15 D1:C046 CD F0 07 02 call _NewLine + 16 D1:C04A - - - - + 17 D1:C04A - - - - #macro fshcmdHELPmRow1(cmdXs) + 18 D1:C04A xor a + 19 D1:C04A ld (curCol), a + 20 D1:C04A ld hl, cmdXs + 21 D1:C04A call _PutS + 22 D1:C04A call _NewLine + 23 D1:C04A #endmacro + 24 D1:C04A - - - - #macro fshcmdHELPmRow2(cmdXs, cmdYs) + 25 D1:C04A xor a + 26 D1:C04A ld (curCol), a + 27 D1:C04A ld hl, cmdXs + 28 D1:C04A call _PutS + 29 D1:C04A ld a, 9 + 30 D1:C04A ld (curcol), a + 31 D1:C04A ld hl, cmdYs + 32 D1:C04A call _PutS + 33 D1:C04A call _NewLine + 34 D1:C04A #endmacro + 35 D1:C04A - - - - #macro fshcmdHELPmRow3(cmdXs, cmdYs, cmdZs) + 36 D1:C04A xor a + 37 D1:C04A ld (curCol), a + 38 D1:C04A ld hl, cmdXs + 39 D1:C04A call _PutS + 40 D1:C04A ld a, 9 + 41 D1:C04A ld (curcol), a + 42 D1:C04A ld hl, cmdYs + 43 D1:C04A call _PutS + 44 D1:C04A ld a, 19 + 45 D1:C04A ld (curcol), a + 46 D1:C04A ld hl, cmdZs + 47 D1:C04A call _PutS + 48 D1:C04A call _NewLine + 49 D1:C04A #endmacro + 50 D1:C04A - - - - + 51 D1:C04A AF 32 96 05 + D0 21 9D BA D1 CD C0 07 02 3E 09 32 96 05 D0 21 - 4E BA D1 CD + B7 BA D1 CD C0 07 02 3E 13 32 96 05 - D0 21 46 BB + D0 21 AF BB D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdEXIT, fshcmdSET, fshcmdCOPY) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/HELP.asm" - 52 D1:C00E AF 32 96 05 - D0 21 55 BC + 52 D1:C077 AF 32 96 05 + D0 21 BE BC D1 CD C0 07 02 3E 09 32 96 05 D0 21 - 6C BD D1 CD + D5 BD D1 CD C0 07 02 3E 13 32 96 05 - D0 21 99 BD + D0 21 02 BE D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdMOVE, fshcmdCLS, fshcmdVAR) - 53 D1:C03B AF 32 96 05 - D0 21 3C BE + 53 D1:C0A4 AF 32 96 05 + D0 21 A5 BE D1 CD C0 07 02 3E 09 32 96 05 D0 21 - AD BE D1 CD + 16 BF D1 CD C0 07 02 3E 13 32 96 05 - D0 21 FC BE + D0 21 65 BF D1 CD C0 07 02 CD F0 07 02 - - - fshcmdHELPmRow3(fshcmdVARS, fshcmdSLEEP, fshcmdINFO) - 54 D1:C068 AF 32 96 05 - D0 21 9F BF + 54 D1:C0D1 AF 32 96 05 + D0 21 08 C0 D1 CD C0 07 02 3E 09 32 96 05 D0 21 - F3 C0 D1 CD + 5C C1 D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(fshcmdHELP, fshcmdMAN) - 55 D1:C087 AF 32 96 05 - D0 21 16 C4 + 55 D1:C0F0 AF 32 96 05 + D0 21 7F C4 D1 CD C0 07 02 3E 09 32 96 05 D0 21 - CC C7 D1 CD + 35 C8 D1 CD C0 07 02 CD F0 07 02 - fshcmdHELPmRow2(cryptocmdENCRYPT, cryptocmdDECRYPT) - 56 D1:C0A6 - - - - ; Extention Point - 57 D1:C0A6 - - - - - 58 D1:C0A6 CD F0 07 02 call _NewLine - 59 D1:C0AA 21 CE C0 D1 ld hl, fshcmdHELPfLine2 - 60 D1:C0AE CD C0 07 02 call _PutS - 61 D1:C0B2 CD F0 07 02 call _NewLine - 62 D1:C0B6 C3 DF A8 D1 jp Fin - 63 D1:C0BA - - - - - 64 D1:C0BA 41 76 61 69 + 56 D1:C10F - - - - ; Extention Point + 57 D1:C10F - - - - + 58 D1:C10F CD F0 07 02 call _NewLine + 59 D1:C113 21 37 C1 D1 ld hl, fshcmdHELPfLine2 + 60 D1:C117 CD C0 07 02 call _PutS + 61 D1:C11B CD F0 07 02 call _NewLine + 62 D1:C11F C3 DF A8 D1 jp Fin + 63 D1:C123 - - - - + 64 D1:C123 41 76 61 69 6C 61 62 6C 65 20 43 6F 6D 6D 61 6E 64 73 3A 00 fshcmdHELPfLine1: .db "Available Commands:", 0 - 65 D1:C0CE 54 79 70 65 + 65 D1:C137 54 79 70 65 20 27 4D 41 4E 27 20 61 6E 64 20 63 @@ -3644,11 +3669,11 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/HELP.asm 69 6E 66 6F 00 - - - fshcmdHELPfLine2: .db "Type 'MAN' and command for more info", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" - 11 D1:C0F3 - - - - #include "includes/FshCommands/MAN.asm" + 11 D1:C15C - - - - #include "includes/FshCommands/MAN.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MAN.asm" - 1 D1:C0F3 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 - 2 D1:C0F7 22 00 - - fshcmdMANo: .dw $0022 - 3 D1:C0F9 44 69 73 70 + 1 D1:C15C 4D 41 4E 00 fshcmdMAN: .db "MAN", 0 + 2 D1:C160 22 00 - - fshcmdMANo: .dw $0022 + 3 D1:C162 44 69 73 70 6C 61 79 73 20 4D 41 4E 20 74 65 78 @@ -3656,254 +3681,254 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/MAN.asm" 72 20 63 6F 6D 6D 61 6E 64 00 - - fshcmdMANm: .db "Displays MAN text for command", 0 - 4 D1:C117 4D 41 4E 20 + 4 D1:C180 4D 41 4E 20 3C 63 6F 6D 6D 61 6E 64 3E 00 - - fshcmdMANu: .db "MAN ", 0 - 5 D1:C125 - - - - fshcmdMANf: - 6 D1:C125 - - - - fshcmdMANfCheckArgs: - 7 D1:C125 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:C129 CB 46 - - bit 0, (hl) - 9 D1:C12B 28 10 - - jr z, fshcmdMANfArg0Get - 10 D1:C12D CB 4E - - bit 1, (hl) - 11 D1:C12F 28 24 - - jr z, fshcmdMANfExe - 12 D1:C131 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:C135 CD 5D B3 D1 call ErrSet - 14 D1:C139 CD 10 B3 D1 call ErrCatch - 15 D1:C13D - - - - fshcmdMANfArg0Get: - 16 D1:C13D 21 D2 C1 D1 ld hl, fshcmdMANfPrompt - 17 D1:C141 CD 21 AB D1 call printprompt - 18 D1:C145 - - - - - 19 D1:C145 21 A8 EA D0 ld hl, FshCmdArg0 - 20 D1:C149 11 08 00 00 ld de, FshCmdCmdSize - 21 D1:C14D CD A9 AD D1 call inputstr - 22 D1:C151 CD F0 07 02 call _NewLine - 23 D1:C155 - - - - - 24 D1:C155 - - - - fshcmdMANfExe: - 25 D1:C155 21 A8 EA D0 ld hl, FshCmdArg0 - 26 D1:C159 11 9F EA D0 ld de, FshCmd - 27 D1:C15D CD 6C AC D1 call strcpy - 28 D1:C161 - - - - - 29 D1:C161 21 C1 C1 D1 ld hl, fshcmdMANfPrefix - 30 D1:C165 CD C0 07 02 call _PutS - 31 D1:C169 - - - - - 32 D1:C169 21 9F EA D0 ld hl, FshCmd - 33 D1:C16D CD C0 07 02 call _PutS - 34 D1:C171 CD F0 07 02 call _NewLine - 35 D1:C175 CD F0 07 02 call _NewLine - 36 D1:C179 - - - - - 37 D1:C179 21 9F EA D0 ld hl, FshCmd - 38 D1:C17D CD 11 B7 D1 call manroute - 39 D1:C181 11 00 00 00 ld de, $00 - 40 D1:C185 CD 7A A9 D1 call cpHLDE - 41 D1:C189 CA E7 A8 D1 jp z, Err - 42 D1:C18D - - - - - 43 D1:C18D CD C0 07 02 call _PutS - 44 D1:C191 CD F0 07 02 call _NewLine - 45 D1:C195 CD F0 07 02 call _NewLine - 46 D1:C199 - - - - - 47 D1:C199 21 CA C1 D1 ld hl, fshcmdMANfUsage - 48 D1:C19D CD C0 07 02 call _PutS - 49 D1:C1A1 - - - - - 50 D1:C1A1 21 9F EA D0 ld hl, FshCmd - 51 D1:C1A5 CD 27 B7 D1 call manrouteu - 52 D1:C1A9 11 00 00 00 ld de, $00 - 53 D1:C1AD CD 7A A9 D1 call cpHLDE - 54 D1:C1B1 CA E7 A8 D1 jp z, Err - 55 D1:C1B5 CD C0 07 02 call _PutS - 56 D1:C1B9 CD F0 07 02 call _NewLine - 57 D1:C1BD - - - - - 58 D1:C1BD C3 DF A8 D1 jp Fin - 59 D1:C1C1 - - - - - 60 D1:C1C1 4D 41 4E 2D + 5 D1:C18E - - - - fshcmdMANf: + 6 D1:C18E - - - - fshcmdMANfCheckArgs: + 7 D1:C18E 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C192 CB 46 - - bit 0, (hl) + 9 D1:C194 28 10 - - jr z, fshcmdMANfArg0Get + 10 D1:C196 CB 4E - - bit 1, (hl) + 11 D1:C198 28 24 - - jr z, fshcmdMANfExe + 12 D1:C19A 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:C19E CD 5D B3 D1 call ErrSet + 14 D1:C1A2 CD 10 B3 D1 call ErrCatch + 15 D1:C1A6 - - - - fshcmdMANfArg0Get: + 16 D1:C1A6 21 3B C2 D1 ld hl, fshcmdMANfPrompt + 17 D1:C1AA CD 21 AB D1 call printprompt + 18 D1:C1AE - - - - + 19 D1:C1AE 21 A8 EA D0 ld hl, FshCmdArg0 + 20 D1:C1B2 11 08 00 00 ld de, FshCmdCmdSize + 21 D1:C1B6 CD A9 AD D1 call inputstr + 22 D1:C1BA CD F0 07 02 call _NewLine + 23 D1:C1BE - - - - + 24 D1:C1BE - - - - fshcmdMANfExe: + 25 D1:C1BE 21 A8 EA D0 ld hl, FshCmdArg0 + 26 D1:C1C2 11 9F EA D0 ld de, FshCmd + 27 D1:C1C6 CD 6C AC D1 call strcpy + 28 D1:C1CA - - - - + 29 D1:C1CA 21 2A C2 D1 ld hl, fshcmdMANfPrefix + 30 D1:C1CE CD C0 07 02 call _PutS + 31 D1:C1D2 - - - - + 32 D1:C1D2 21 9F EA D0 ld hl, FshCmd + 33 D1:C1D6 CD C0 07 02 call _PutS + 34 D1:C1DA CD F0 07 02 call _NewLine + 35 D1:C1DE CD F0 07 02 call _NewLine + 36 D1:C1E2 - - - - + 37 D1:C1E2 21 9F EA D0 ld hl, FshCmd + 38 D1:C1E6 CD 7A B7 D1 call manroute + 39 D1:C1EA 11 00 00 00 ld de, $00 + 40 D1:C1EE CD 7A A9 D1 call cpHLDE + 41 D1:C1F2 CA E7 A8 D1 jp z, Err + 42 D1:C1F6 - - - - + 43 D1:C1F6 CD C0 07 02 call _PutS + 44 D1:C1FA CD F0 07 02 call _NewLine + 45 D1:C1FE CD F0 07 02 call _NewLine + 46 D1:C202 - - - - + 47 D1:C202 21 33 C2 D1 ld hl, fshcmdMANfUsage + 48 D1:C206 CD C0 07 02 call _PutS + 49 D1:C20A - - - - + 50 D1:C20A 21 9F EA D0 ld hl, FshCmd + 51 D1:C20E CD 90 B7 D1 call manrouteu + 52 D1:C212 11 00 00 00 ld de, $00 + 53 D1:C216 CD 7A A9 D1 call cpHLDE + 54 D1:C21A CA E7 A8 D1 jp z, Err + 55 D1:C21E CD C0 07 02 call _PutS + 56 D1:C222 CD F0 07 02 call _NewLine + 57 D1:C226 - - - - + 58 D1:C226 C3 DF A8 D1 jp Fin + 59 D1:C22A - - - - + 60 D1:C22A 4D 41 4E 2D 44 42 DF 20 00 - - - fshcmdMANfPrefix: .db "MAN-DB", $DF, ' ', 0 - 61 D1:C1CA 55 73 61 67 + 61 D1:C233 55 73 61 67 65 3A 20 00 fshcmdMANfUsage: .db "Usage: ",0 - 62 D1:C1D2 43 6F 6D 6D + 62 D1:C23B 43 6F 6D 6D 61 6E 64 3D 20 00 - - fshcmdMANfPrompt: .db "Command= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/FshCommands/FshCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" - 50 D1:C1DC - - - - #include "includes/CryptoCommands/CryptoCommand.asm" + 50 D1:C245 - - - - #include "includes/CryptoCommands/CryptoCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm" - 1 D1:C1DC - - - - cryptocmddecode: - 2 D1:C1DC E5 D5 11 16 + 1 D1:C245 - - - - cryptocmddecode: + 2 D1:C245 E5 D5 11 7F C4 D1 CD 59 - AC D1 21 1E + AC D1 21 87 C4 D1 D1 CC 52 AA D1 E1 decodecmdopt(cryptocmdENCRYPT, cryptocmdENCRYPTo) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm" - 3 D1:C1F0 E5 D5 11 CC - C7 D1 CD 59 - AC D1 21 D4 - C7 D1 D1 CC + 3 D1:C259 E5 D5 11 35 + C8 D1 CD 59 + AC D1 21 3D + C8 D1 D1 CC 52 AA D1 E1 decodecmdopt(cryptocmdDECRYPT, cryptocmdDECRYPTo) - 4 D1:C204 C9 - - - ret - 5 D1:C205 - - - - - 6 D1:C205 - - - - cryptocmdroute: - 7 D1:C205 C1 - - - pop bc - 8 D1:C206 11 1E C4 D1 + 4 D1:C26D C9 - - - ret + 5 D1:C26E - - - - + 6 D1:C26E - - - - cryptocmdroute: + 7 D1:C26E C1 - - - pop bc + 8 D1:C26F 11 87 C4 D1 CD 5E AA D1 - CA 8E C4 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) - 9 D1:C212 11 D4 C7 D1 + CA F7 C4 D1 routeoptjp(cryptocmdENCRYPTo, cryptocmdENCRYPTf) + 9 D1:C27B 11 3D C8 D1 CD 5E AA D1 - CA 44 C8 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) - 10 D1:C21E C5 - - - push bc - 11 D1:C21F C9 - - - ret - 12 D1:C220 - - - - - 13 D1:C220 - - - - cryptocmdmanroute: - 14 D1:C220 C1 - - - pop bc - 15 D1:C221 E5 11 16 C4 + CA AD C8 D1 routeoptjp(cryptocmdDECRYPTo, cryptocmdDECRYPTf) + 10 D1:C287 C5 - - - push bc + 11 D1:C288 C9 - - - ret + 12 D1:C289 - - - - + 13 D1:C289 - - - - cryptocmdmanroute: + 14 D1:C289 C1 - - - pop bc + 15 D1:C28A E5 11 7F C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 17 C5 D1 CD + 80 C5 D1 CD 59 AC D1 E1 - 11 1B C5 D1 - CA 24 B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) - 16 D1:C245 E5 11 CC C7 + 11 84 C5 D1 + CA 8D B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTm) + 16 D1:C2AE E5 11 35 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - CD C8 D1 CD + 36 C9 D1 CD 59 AC D1 E1 - 11 D1 C8 D1 - CA 24 B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) - 17 D1:C269 - - - - - 18 D1:C269 E5 11 16 C4 + 11 3A C9 D1 + CA 8D B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTm) + 17 D1:C2D2 - - - - + 18 D1:C2D2 E5 11 7F C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 25 C6 D1 CD + 8E C6 D1 CD 59 AC D1 E1 - 11 29 C6 D1 - CA 24 B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm) - 19 D1:C28D E5 11 CC C7 + 11 92 C6 D1 + CA 8D B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORm) + 19 D1:C2F6 E5 11 35 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - D4 C9 D1 CD + 3D CA D1 CD 59 AC D1 E1 - 11 D8 C9 D1 - CA 24 B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm) - 20 D1:C2B1 - - - - - 21 D1:C2B1 E5 11 16 C4 + 11 41 CA D1 + CA 8D B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORm) + 20 D1:C31A - - - - + 21 D1:C31A E5 11 7F C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 24 C7 D1 CD + 8D C7 D1 CD 59 AC D1 E1 - 11 29 C7 D1 - CA 24 B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) - 22 D1:C2D5 E5 11 CC C7 + 11 92 C7 D1 + CA 8D B7 D1 subroutestrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPm) + 22 D1:C33E E5 11 35 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - E9 CA D1 CD + 52 CB D1 CD 59 AC D1 E1 - 11 EE CA D1 - CA 24 B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPm) - 23 D1:C2F9 - - - - - 24 D1:C2F9 11 16 C4 D1 + 11 57 CB D1 + CA 8D B7 D1 subroutestrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPm) + 23 D1:C362 - - - - + 24 D1:C362 11 7F C4 D1 CD 59 AC D1 - 11 20 C4 D1 - CA 24 B7 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) - 25 D1:C309 11 CC C7 D1 + 11 89 C4 D1 + CA 8D B7 D1 routestrjp(cryptocmdENCRYPT, cryptocmdENCRYPTm) + 25 D1:C372 11 35 C8 D1 CD 59 AC D1 - 11 D6 C7 D1 - CA 24 B7 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) - 26 D1:C319 - - - - - 27 D1:C319 C5 - - - push bc - 28 D1:C31A C9 - - - ret - 29 D1:C31B - - - - - 30 D1:C31B - - - - - 31 D1:C31B - - - - cryptocmdmanrouteu: - 32 D1:C31B C1 - - - pop bc - 33 D1:C31C E5 11 16 C4 + 11 3F C8 D1 + CA 8D B7 D1 routestrjp(cryptocmdDECRYPT, cryptocmdDECRYPTm) + 26 D1:C382 - - - - + 27 D1:C382 C5 - - - push bc + 28 D1:C383 C9 - - - ret + 29 D1:C384 - - - - + 30 D1:C384 - - - - + 31 D1:C384 - - - - cryptocmdmanrouteu: + 32 D1:C384 C1 - - - pop bc + 33 D1:C385 E5 11 7F C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 17 C5 D1 CD + 80 C5 D1 CD 59 AC D1 E1 - 11 52 C5 D1 - CA 3A B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) - 34 D1:C340 E5 11 CC C7 + 11 BB C5 D1 + CA A3 B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdROT, cryptocmdROTu) + 34 D1:C3A9 E5 11 35 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - CD C8 D1 CD + 36 C9 D1 CD 59 AC D1 E1 - 11 08 C9 D1 - CA 3A B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) - 35 D1:C364 - - - - - 36 D1:C364 E5 11 16 C4 + 11 71 C9 D1 + CA A3 B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunROT, cryptocmdunROTu) + 35 D1:C3CD - - - - + 36 D1:C3CD E5 11 7F C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 25 C6 D1 CD + 8E C6 D1 CD 59 AC D1 E1 - 11 4B C6 D1 - CA 3A B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu) - 37 D1:C388 E5 11 CC C7 + 11 B4 C6 D1 + CA A3 B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdXOR, cryptocmdXORu) + 37 D1:C3F1 E5 11 35 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - D4 C9 D1 CD + 3D CA D1 CD 59 AC D1 E1 - 11 FA C9 D1 - CA 3A B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu) - 38 D1:C3AC - - - - - 39 D1:C3AC E5 11 16 C4 + 11 63 CA D1 + CA A3 B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunXOR, cryptocmdunXORu) + 38 D1:C415 - - - - + 39 D1:C415 E5 11 7F C4 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - 24 C7 D1 CD + 8D C7 D1 CD 59 AC D1 E1 - 11 3A C7 D1 - CA 3A B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) - 40 D1:C3D0 E5 11 CC C7 + 11 A3 C7 D1 + CA A3 B7 D1 subrouteustrjp(cryptocmdENCRYPT, cryptocmdHELP, cryptocmdHELPu) + 40 D1:C439 E5 11 35 C8 D1 CD 59 AC D1 21 00 00 00 20 04 21 B1 EA D0 11 - E9 CA D1 CD + 52 CB D1 CD 59 AC D1 E1 - 11 FF CA D1 - CA 3A B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPu) - 41 D1:C3F4 - - - - - 42 D1:C3F4 11 16 C4 D1 + 11 68 CB D1 + CA A3 B7 D1 subrouteustrjp(cryptocmdDECRYPT, cryptocmdunHELP, cryptocmdunHELPu) + 41 D1:C45D - - - - + 42 D1:C45D 11 7F C4 D1 CD 59 AC D1 - 11 69 C4 D1 - CA 3A B7 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) - 43 D1:C404 11 CC C7 D1 + 11 D2 C4 D1 + CA A3 B7 D1 routeustrjp(cryptocmdENCRYPT, cryptocmdENCRYPTu) + 43 D1:C46D 11 35 C8 D1 CD 59 AC D1 - 11 1F C8 D1 - CA 3A B7 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) - 44 D1:C414 - - - - - 45 D1:C414 C5 - - - push bc - 46 D1:C415 C9 - - - ret - 47 D1:C416 - - - - - 48 D1:C416 - - - - #include "includes/CryptoCommands/CryptoCommands.inc" + 11 88 C8 D1 + CA A3 B7 D1 routeustrjp(cryptocmdDECRYPT, cryptocmdDECRYPTu) + 44 D1:C47D - - - - + 45 D1:C47D C5 - - - push bc + 46 D1:C47E C9 - - - ret + 47 D1:C47F - - - - + 48 D1:C47F - - - - #include "includes/CryptoCommands/CryptoCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 1 D1:C416 - - - - #include "includes/CryptoCommands/ENCRYPT.asm" + 1 D1:C47F - - - - #include "includes/CryptoCommands/ENCRYPT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRYPT.asm" - 1 D1:C416 45 4E 43 52 + 1 D1:C47F 45 4E 43 52 59 50 54 00 cryptocmdENCRYPT: .db "ENCRYPT", 0 - 2 D1:C41E 01 02 - - cryptocmdENCRYPTo: .dw $0201 - 3 D1:C420 45 6E 63 72 + 2 D1:C487 01 02 - - cryptocmdENCRYPTo: .dw $0201 + 3 D1:C489 45 6E 63 72 79 70 74 73 20 61 20 73 74 72 69 6E @@ -3922,7 +3947,7 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRY 20 63 79 70 68 65 72 73 00 - - - cryptocmdENCRYPTm: .db "Encrypts a string using a cypher. see 'ENCRYPT HELP' for info on cyphers", 0 - 4 D1:C469 45 4E 43 52 + 4 D1:C4D2 45 4E 43 52 59 50 54 20 3C 43 72 79 70 74 20 43 @@ -3932,64 +3957,64 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRY 70 74 20 41 72 67 73 3E 00 - - - cryptocmdENCRYPTu: .db "ENCRYPT ", 0 - 5 D1:C48E - - - - cryptocmdENCRYPTf: - 6 D1:C48E - - - - cryptocmdENCRYPTfArg0: - 7 D1:C48E 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:C492 CB 46 - - bit 0, (hl) - 9 D1:C494 28 10 - - jr z, cryptocmdENCRYPTfArg0Get - 10 D1:C496 CB 4E - - bit 1, (hl) - 11 D1:C498 28 24 - - jr z, cryptocmdENCRYPTfExe - 12 D1:C49A 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:C49E CD 5D B3 D1 call ErrSet - 14 D1:C4A2 CD 10 B3 D1 call ErrCatch - 15 D1:C4A6 - - - - cryptocmdENCRYPTfArg0Get: - 16 D1:C4A6 21 0E C5 D1 ld hl, cryptocmdENCRYPTfSCypher - 17 D1:C4AA CD 21 AB D1 call printprompt - 18 D1:C4AE 21 A8 EA D0 ld hl, FshCmdArg0 - 19 D1:C4B2 11 2C 00 00 ld de, FshCmdInptSize - 20 D1:C4B6 CD A9 AD D1 call inputstr - 21 D1:C4BA CD F0 07 02 call _NewLine - 22 D1:C4BE - - - - cryptocmdENCRYPTfExe: - 23 D1:C4BE - - - - - 24 D1:C4BE - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf) - 25 D1:C4BE ld hl, FshCmdArg0 - 26 D1:C4BE ld de, CmdX - 27 D1:C4BE call strcmp - 28 D1:C4BE jp z, cmdXf - 29 D1:C4BE #endmacro - 30 D1:C4BE - - - - - 31 D1:C4BE 21 A8 EA D0 - 11 17 C5 D1 + 5 D1:C4F7 - - - - cryptocmdENCRYPTf: + 6 D1:C4F7 - - - - cryptocmdENCRYPTfArg0: + 7 D1:C4F7 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C4FB CB 46 - - bit 0, (hl) + 9 D1:C4FD 28 10 - - jr z, cryptocmdENCRYPTfArg0Get + 10 D1:C4FF CB 4E - - bit 1, (hl) + 11 D1:C501 28 24 - - jr z, cryptocmdENCRYPTfExe + 12 D1:C503 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:C507 CD 5D B3 D1 call ErrSet + 14 D1:C50B CD 10 B3 D1 call ErrCatch + 15 D1:C50F - - - - cryptocmdENCRYPTfArg0Get: + 16 D1:C50F 21 77 C5 D1 ld hl, cryptocmdENCRYPTfSCypher + 17 D1:C513 CD 21 AB D1 call printprompt + 18 D1:C517 21 A8 EA D0 ld hl, FshCmdArg0 + 19 D1:C51B 11 2C 00 00 ld de, FshCmdInptSize + 20 D1:C51F CD A9 AD D1 call inputstr + 21 D1:C523 CD F0 07 02 call _NewLine + 22 D1:C527 - - - - cryptocmdENCRYPTfExe: + 23 D1:C527 - - - - + 24 D1:C527 - - - - #macro cryptocmdENCRYPTcmpjp(cmdX, cmdXf) + 25 D1:C527 ld hl, FshCmdArg0 + 26 D1:C527 ld de, CmdX + 27 D1:C527 call strcmp + 28 D1:C527 jp z, cmdXf + 29 D1:C527 #endmacro + 30 D1:C527 - - - - + 31 D1:C527 21 A8 EA D0 + 11 80 C5 D1 CD 59 AC D1 - CA 71 C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) + CA DA C5 D1 cryptocmdENCRYPTcmpjp(cryptocmdROT, cryptocmdROTf) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ENCRYPT.asm" - 32 D1:C4CE 21 A8 EA D0 - 11 25 C6 D1 + 32 D1:C537 21 A8 EA D0 + 11 8E C6 D1 CD 59 AC D1 - CA 67 C6 D1 cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf) - 33 D1:C4DE 21 A8 EA D0 - 11 24 C7 D1 + CA D0 C6 D1 cryptocmdENCRYPTcmpjp(cryptocmdXOR, cryptocmdXORf) + 33 D1:C547 21 A8 EA D0 + 11 8D C7 D1 CD 59 AC D1 - CA 47 C7 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) - 34 D1:C4EE - - - - - 35 D1:C4EE 21 A8 EA D0 ld hl, FshCmdArg0 - 36 D1:C4F2 11 9F EA D0 ld de, FshCmd - 37 D1:C4F6 CD 6C AC D1 call strcpy - 38 D1:C4FA - - - - - 39 D1:C4FA 21 6C B3 D1 ld hl, ErrCmdNotFoundo - 40 D1:C4FE 11 CE EA D0 ld de, FshCmdErrCode - 41 D1:C502 CD 4A AA D1 call bytecpy - 42 D1:C506 CD 5D B3 D1 call ErrSet - 43 D1:C50A C3 E7 A8 D1 jp Err - 44 D1:C50E - - - - - 45 D1:C50E 43 79 70 68 + CA B0 C7 D1 cryptocmdENCRYPTcmpjp(cryptocmdHELP, cryptocmdHELPf) + 34 D1:C557 - - - - + 35 D1:C557 21 A8 EA D0 ld hl, FshCmdArg0 + 36 D1:C55B 11 9F EA D0 ld de, FshCmd + 37 D1:C55F CD 6C AC D1 call strcpy + 38 D1:C563 - - - - + 39 D1:C563 21 6C B3 D1 ld hl, ErrCmdNotFoundo + 40 D1:C567 11 CE EA D0 ld de, FshCmdErrCode + 41 D1:C56B CD 4A AA D1 call bytecpy + 42 D1:C56F CD 5D B3 D1 call ErrSet + 43 D1:C573 C3 E7 A8 D1 jp Err + 44 D1:C577 - - - - + 45 D1:C577 43 79 70 68 65 72 3D 20 00 - - - cryptocmdENCRYPTfSCypher: .db "Cypher= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 2 D1:C517 - - - - #include "includes/CryptoCommands/ROT.asm" + 2 D1:C580 - - - - #include "includes/CryptoCommands/ROT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ROT.asm" - 1 D1:C517 52 4F 54 00 cryptocmdROT: .db "ROT", 0 - 2 D1:C51B 52 4F 54 3A + 1 D1:C580 52 4F 54 00 cryptocmdROT: .db "ROT", 0 + 2 D1:C584 52 4F 54 3A 20 43 79 70 68 65 72 2C 20 72 6F 74 @@ -4003,7 +4028,7 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ROT.a 73 20 61 20 73 74 72 69 6E 67 00 - cryptocmdROTm: .db "ROT: Cypher, rotates the alphabet and encodes a string", 0 - 3 D1:C552 45 4E 43 52 + 3 D1:C5BB 45 4E 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 @@ -4011,72 +4036,72 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/ROT.a 20 3C 6D 65 73 73 61 67 65 3E 00 - cryptocmdROTu: .db "ENCRYPT ROT ", 0 - 4 D1:C571 - - - - cryptocmdROTf: - 5 D1:C571 - - - - cryptocmdROTfArg1: - 6 D1:C571 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:C575 CB 5E - - bit 3, (hl) - 8 D1:C577 20 32 - - jr nz, cryptocmdROTfArg2 - 9 D1:C579 CB 56 - - bit 2, (hl) - 10 D1:C57B 28 0C - - jr z, cryptocmdROTfArg1Get - 11 D1:C57D 21 F2 B3 D1 ld hl, ErrUsageo - 12 D1:C581 CD 5D B3 D1 call ErrSet - 13 D1:C585 CD 10 B3 D1 call ErrCatch - 14 D1:C589 - - - - cryptocmdROTfArg1Get: - 15 D1:C589 21 0A C6 D1 ld hl, cryptocmdROTfDShift - 16 D1:C58D CD 21 AB D1 call printprompt - 17 D1:C591 21 B1 EA D0 ld hl, FshCmdArg1 - 18 D1:C595 11 03 00 00 ld de, 3 - 19 D1:C599 CD E1 AF D1 call inputnumstr - 20 D1:C59D CD E3 AC D1 call strtow - 21 D1:C5A1 11 B1 EA D0 ld de, FshCmdArg1 - 22 D1:C5A5 EB - - - ex de, hl - 23 D1:C5A6 73 - - - ld (hl), e - 24 D1:C5A7 CD F0 07 02 call _NewLine - 25 D1:C5AB - - - - cryptocmdROTfArg2: - 26 D1:C5AB 21 BA EA D0 ld hl, FshCmdArg2 - 27 D1:C5AF 11 D1 EA D0 ld de, FshScratch - 28 D1:C5B3 CD 6C AC D1 call strcpy - 29 D1:C5B7 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:C5BB CB 66 - - bit 4, (hl) - 31 D1:C5BD 28 10 - - jr z, cryptocmdROTfArg2Get - 32 D1:C5BF CB 6E - - bit 5, (hl) - 33 D1:C5C1 28 24 - - jr z, cryptocmdROTfExe - 34 D1:C5C3 21 F2 B3 D1 ld hl, ErrUsageo - 35 D1:C5C7 CD 5D B3 D1 call ErrSet - 36 D1:C5CB CD 10 B3 D1 call ErrCatch - 37 D1:C5CF - - - - cryptocmdROTfArg2Get: - 38 D1:C5CF 21 12 C6 D1 ld hl, cryptocmdROTfDMessage - 39 D1:C5D3 CD 21 AB D1 call printprompt - 40 D1:C5D7 21 D1 EA D0 ld hl, FshScratch - 41 D1:C5DB 11 10 00 00 ld de, FshScratchSize - 4 - 42 D1:C5DF CD CD AE D1 call inputcharstr - 43 D1:C5E3 CD F0 07 02 call _NewLine - 44 D1:C5E7 - - - - cryptocmdROTfExe: - 45 D1:C5E7 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:C5EB 7E - - - ld a, (hl) - 47 D1:C5EC 21 D1 EA D0 ld hl, FshScratch - 48 D1:C5F0 CD 20 B6 D1 call rotletencrypt - 49 D1:C5F4 E5 - - - push hl - 50 D1:C5F5 21 1C C6 D1 ld hl, cryptocmdROTfDResult - 51 D1:C5F9 CD C0 07 02 call _PutS - 52 D1:C5FD E1 - - - pop hl - 53 D1:C5FE CD C0 07 02 call _PutS - 54 D1:C602 CD F0 07 02 call _NewLine - 55 D1:C606 C3 DF A8 D1 jp Fin - 56 D1:C60A - - - - - 57 D1:C60A 53 68 69 66 + 4 D1:C5DA - - - - cryptocmdROTf: + 5 D1:C5DA - - - - cryptocmdROTfArg1: + 6 D1:C5DA 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C5DE CB 5E - - bit 3, (hl) + 8 D1:C5E0 20 32 - - jr nz, cryptocmdROTfArg2 + 9 D1:C5E2 CB 56 - - bit 2, (hl) + 10 D1:C5E4 28 0C - - jr z, cryptocmdROTfArg1Get + 11 D1:C5E6 21 F2 B3 D1 ld hl, ErrUsageo + 12 D1:C5EA CD 5D B3 D1 call ErrSet + 13 D1:C5EE CD 10 B3 D1 call ErrCatch + 14 D1:C5F2 - - - - cryptocmdROTfArg1Get: + 15 D1:C5F2 21 73 C6 D1 ld hl, cryptocmdROTfDShift + 16 D1:C5F6 CD 21 AB D1 call printprompt + 17 D1:C5FA 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C5FE 11 03 00 00 ld de, 3 + 19 D1:C602 CD E1 AF D1 call inputnumstr + 20 D1:C606 CD E3 AC D1 call strtow + 21 D1:C60A 11 B1 EA D0 ld de, FshCmdArg1 + 22 D1:C60E EB - - - ex de, hl + 23 D1:C60F 73 - - - ld (hl), e + 24 D1:C610 CD F0 07 02 call _NewLine + 25 D1:C614 - - - - cryptocmdROTfArg2: + 26 D1:C614 21 BA EA D0 ld hl, FshCmdArg2 + 27 D1:C618 11 D1 EA D0 ld de, FshScratch + 28 D1:C61C CD 6C AC D1 call strcpy + 29 D1:C620 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:C624 CB 66 - - bit 4, (hl) + 31 D1:C626 28 10 - - jr z, cryptocmdROTfArg2Get + 32 D1:C628 CB 6E - - bit 5, (hl) + 33 D1:C62A 28 24 - - jr z, cryptocmdROTfExe + 34 D1:C62C 21 F2 B3 D1 ld hl, ErrUsageo + 35 D1:C630 CD 5D B3 D1 call ErrSet + 36 D1:C634 CD 10 B3 D1 call ErrCatch + 37 D1:C638 - - - - cryptocmdROTfArg2Get: + 38 D1:C638 21 7B C6 D1 ld hl, cryptocmdROTfDMessage + 39 D1:C63C CD 21 AB D1 call printprompt + 40 D1:C640 21 D1 EA D0 ld hl, FshScratch + 41 D1:C644 11 10 00 00 ld de, FshScratchSize - 4 + 42 D1:C648 CD CD AE D1 call inputcharstr + 43 D1:C64C CD F0 07 02 call _NewLine + 44 D1:C650 - - - - cryptocmdROTfExe: + 45 D1:C650 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:C654 7E - - - ld a, (hl) + 47 D1:C655 21 D1 EA D0 ld hl, FshScratch + 48 D1:C659 CD 89 B6 D1 call rotletencrypt + 49 D1:C65D E5 - - - push hl + 50 D1:C65E 21 85 C6 D1 ld hl, cryptocmdROTfDResult + 51 D1:C662 CD C0 07 02 call _PutS + 52 D1:C666 E1 - - - pop hl + 53 D1:C667 CD C0 07 02 call _PutS + 54 D1:C66B CD F0 07 02 call _NewLine + 55 D1:C66F C3 DF A8 D1 jp Fin + 56 D1:C673 - - - - + 57 D1:C673 53 68 69 66 74 3D 20 00 cryptocmdROTfDShift: .db "Shift= ", 0 - 58 D1:C612 4D 65 73 73 + 58 D1:C67B 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdROTfDMessage: .db "Message= ", 0 - 59 D1:C61C 52 65 73 75 + 59 D1:C685 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdROTfDResult: .db "Result: ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 3 D1:C625 - - - - #include "includes/CryptoCommands/XOR.asm" + 3 D1:C68E - - - - #include "includes/CryptoCommands/XOR.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/XOR.asm" - 1 D1:C625 58 4F 52 00 cryptocmdXOR: .db "XOR", 0 - 2 D1:C629 58 4F 52 3A + 1 D1:C68E 58 4F 52 00 cryptocmdXOR: .db "XOR", 0 + 2 D1:C692 58 4F 52 3A 20 43 79 70 68 65 72 2C 20 61 6E 64 @@ -4085,193 +4110,193 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/XOR.a 20 61 20 73 74 72 69 6E 67 00 - - cryptocmdXORm: .db "XOR: Cypher, and encodes a string", 0 - 3 D1:C64B 45 4E 43 52 + 3 D1:C6B4 45 4E 43 52 59 50 54 20 58 4F 52 20 3C 6B 65 79 3E 20 3C 6D 65 73 73 61 67 65 3E 00 cryptocmdXORu: .db "ENCRYPT XOR ", 0 - 4 D1:C667 - - - - cryptocmdXORf: - 5 D1:C667 - - - - cryptocmdXORfArg1: - 6 D1:C667 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:C66B CB 56 - - bit 2, (hl) - 8 D1:C66D 28 10 - - jr z, cryptocmdXORfArg1Get - 9 D1:C66F CB 5E - - bit 3, (hl) - 10 D1:C671 28 24 - - jr z, cryptocmdXORfArg2 - 11 D1:C673 21 F2 B3 D1 ld hl, ErrUsageo - 12 D1:C677 CD 5D B3 D1 call ErrSet - 13 D1:C67B CD 10 B3 D1 call ErrCatch - 14 D1:C67F - - - - cryptocmdXORfArg1Get: - 15 D1:C67F 21 0B C7 D1 ld hl, cryptocmdXORfDKey - 16 D1:C683 CD 21 AB D1 call printprompt - 17 D1:C687 21 B1 EA D0 ld hl, FshCmdArg1 - 18 D1:C68B 11 08 00 00 ld de, FshCmdCmdSize - 19 D1:C68F CD A9 AD D1 call inputstr - 20 D1:C693 CD F0 07 02 call _NewLine - 21 D1:C697 - - - - cryptocmdXORfArg2: - 22 D1:C697 21 BA EA D0 ld hl, FshCmdArg2 - 23 D1:C69B 11 D1 EA D0 ld de, FshScratch - 24 D1:C69F CD 6C AC D1 call strcpy - 25 D1:C6A3 21 CD EA D0 ld hl, FshCmdArgFlags - 26 D1:C6A7 CB 66 - - bit 4, (hl) - 27 D1:C6A9 28 10 - - jr z, cryptocmdXORfArg2Get - 28 D1:C6AB CB 6E - - bit 5, (hl) - 29 D1:C6AD 28 24 - - jr z, cryptocmdXORfExe - 30 D1:C6AF 21 F2 B3 D1 ld hl, ErrUsageo - 31 D1:C6B3 CD 5D B3 D1 call ErrSet - 32 D1:C6B7 CD 10 B3 D1 call ErrCatch - 33 D1:C6BB - - - - cryptocmdXORfArg2Get: - 34 D1:C6BB 21 11 C7 D1 ld hl, cryptocmdXORfDMessage - 35 D1:C6BF CD 21 AB D1 call printprompt - 36 D1:C6C3 21 D1 EA D0 ld hl, FshScratch - 37 D1:C6C7 11 09 00 00 ld de, FshScratchSize - 1 / 2 - 38 D1:C6CB CD CD AE D1 call inputcharstr - 39 D1:C6CF CD F0 07 02 call _NewLine - 40 D1:C6D3 - - - - cryptocmdXORfExe: - 41 D1:C6D3 21 D1 EA D0 ld hl, FshScratch - 42 D1:C6D7 11 B1 EA D0 ld de, FshCmdArg1 - 43 D1:C6DB CD AE B6 D1 call xorcrypt - 44 D1:C6DF 21 1B C7 D1 ld hl, cryptocmdXORfDResult - 45 D1:C6E3 CD C0 07 02 call _PutS - 46 D1:C6E7 21 D1 EA D0 ld hl, FshScratch - 47 D1:C6EB - - - - cryptocmdXORfPrint: - 48 D1:C6EB 7E - - - ld a, (hl) - 49 D1:C6EC B7 - - - or a, a - 50 D1:C6ED 28 14 - - jr z, cryptocmdXORfPrintEnd - 51 D1:C6EF E5 - - - push hl - 52 D1:C6F0 CD C2 AB D1 call bytetohexstr - 53 D1:C6F4 7E - - - ld a, (hl) - 54 D1:C6F5 CD B8 07 02 call _PutC - 55 D1:C6F9 23 - - - inc hl - 56 D1:C6FA 7E - - - ld a, (hl) - 57 D1:C6FB CD B8 07 02 call _PutC - 58 D1:C6FF E1 - - - pop hl - 59 D1:C700 23 - - - inc hl - 60 D1:C701 18 E8 - - jr cryptocmdXORfPrint - 61 D1:C703 - - - - cryptocmdXORfPrintEnd: - 62 D1:C703 CD F0 07 02 call _NewLine - 63 D1:C707 C3 DF A8 D1 jp Fin - 64 D1:C70B - - - - - 65 D1:C70B 4B 65 79 3D + 4 D1:C6D0 - - - - cryptocmdXORf: + 5 D1:C6D0 - - - - cryptocmdXORfArg1: + 6 D1:C6D0 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C6D4 CB 56 - - bit 2, (hl) + 8 D1:C6D6 28 10 - - jr z, cryptocmdXORfArg1Get + 9 D1:C6D8 CB 5E - - bit 3, (hl) + 10 D1:C6DA 28 24 - - jr z, cryptocmdXORfArg2 + 11 D1:C6DC 21 F2 B3 D1 ld hl, ErrUsageo + 12 D1:C6E0 CD 5D B3 D1 call ErrSet + 13 D1:C6E4 CD 10 B3 D1 call ErrCatch + 14 D1:C6E8 - - - - cryptocmdXORfArg1Get: + 15 D1:C6E8 21 74 C7 D1 ld hl, cryptocmdXORfDKey + 16 D1:C6EC CD 21 AB D1 call printprompt + 17 D1:C6F0 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C6F4 11 08 00 00 ld de, FshCmdCmdSize + 19 D1:C6F8 CD A9 AD D1 call inputstr + 20 D1:C6FC CD F0 07 02 call _NewLine + 21 D1:C700 - - - - cryptocmdXORfArg2: + 22 D1:C700 21 BA EA D0 ld hl, FshCmdArg2 + 23 D1:C704 11 D1 EA D0 ld de, FshScratch + 24 D1:C708 CD 6C AC D1 call strcpy + 25 D1:C70C 21 CD EA D0 ld hl, FshCmdArgFlags + 26 D1:C710 CB 66 - - bit 4, (hl) + 27 D1:C712 28 10 - - jr z, cryptocmdXORfArg2Get + 28 D1:C714 CB 6E - - bit 5, (hl) + 29 D1:C716 28 24 - - jr z, cryptocmdXORfExe + 30 D1:C718 21 F2 B3 D1 ld hl, ErrUsageo + 31 D1:C71C CD 5D B3 D1 call ErrSet + 32 D1:C720 CD 10 B3 D1 call ErrCatch + 33 D1:C724 - - - - cryptocmdXORfArg2Get: + 34 D1:C724 21 7A C7 D1 ld hl, cryptocmdXORfDMessage + 35 D1:C728 CD 21 AB D1 call printprompt + 36 D1:C72C 21 D1 EA D0 ld hl, FshScratch + 37 D1:C730 11 09 00 00 ld de, FshScratchSize - 1 / 2 + 38 D1:C734 CD CD AE D1 call inputcharstr + 39 D1:C738 CD F0 07 02 call _NewLine + 40 D1:C73C - - - - cryptocmdXORfExe: + 41 D1:C73C 21 D1 EA D0 ld hl, FshScratch + 42 D1:C740 11 B1 EA D0 ld de, FshCmdArg1 + 43 D1:C744 CD 17 B7 D1 call xorcrypt + 44 D1:C748 21 84 C7 D1 ld hl, cryptocmdXORfDResult + 45 D1:C74C CD C0 07 02 call _PutS + 46 D1:C750 21 D1 EA D0 ld hl, FshScratch + 47 D1:C754 - - - - cryptocmdXORfPrint: + 48 D1:C754 7E - - - ld a, (hl) + 49 D1:C755 B7 - - - or a, a + 50 D1:C756 28 14 - - jr z, cryptocmdXORfPrintEnd + 51 D1:C758 E5 - - - push hl + 52 D1:C759 CD C2 AB D1 call bytetohexstr + 53 D1:C75D 7E - - - ld a, (hl) + 54 D1:C75E CD B8 07 02 call _PutC + 55 D1:C762 23 - - - inc hl + 56 D1:C763 7E - - - ld a, (hl) + 57 D1:C764 CD B8 07 02 call _PutC + 58 D1:C768 E1 - - - pop hl + 59 D1:C769 23 - - - inc hl + 60 D1:C76A 18 E8 - - jr cryptocmdXORfPrint + 61 D1:C76C - - - - cryptocmdXORfPrintEnd: + 62 D1:C76C CD F0 07 02 call _NewLine + 63 D1:C770 C3 DF A8 D1 jp Fin + 64 D1:C774 - - - - + 65 D1:C774 4B 65 79 3D 20 00 - - cryptocmdXORfDKey: .db "Key= ", 0 - 66 D1:C711 4D 65 73 73 + 66 D1:C77A 4D 65 73 73 61 67 65 3D 20 00 - - cryptocmdXORfDMessage: .db "Message= ", 0 - 67 D1:C71B 52 65 73 75 + 67 D1:C784 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdXORfDResult: .db "Result: ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 4 D1:C724 - - - - #include "includes/CryptoCommands/HELP.asm" + 4 D1:C78D - - - - #include "includes/CryptoCommands/HELP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/HELP.asm" - 1 D1:C724 48 45 4C 50 + 1 D1:C78D 48 45 4C 50 00 - - - cryptocmdHELP: .db "HELP", 0 - 2 D1:C729 48 65 6C 70 + 2 D1:C792 48 65 6C 70 20 66 6F 72 20 63 79 70 68 65 72 73 00 - - - cryptocmdHELPm: .db "Help for cyphers", 0 - 3 D1:C73A 45 4E 43 52 + 3 D1:C7A3 45 4E 43 52 59 50 54 20 48 45 4C 50 00 - - - cryptocmdHELPu: .db "ENCRYPT HELP", 0 - 4 D1:C747 - - - - cryptocmdHELPf: - 5 D1:C747 21 CD EA D0 ld hl, FshCmdArgFlags - 6 D1:C74B CB 56 - - bit 2, (hl) - 7 D1:C74D 28 0C - - jr z, cryptocmdHELPfExe - 8 D1:C74F 21 F2 B3 D1 ld hl, ErrUsageo - 9 D1:C753 CD 5D B3 D1 call ErrSet - 10 D1:C757 CD 10 B3 D1 call ErrCatch - 11 D1:C75B - - - - cryptocmdHELPfExe: - 12 D1:C75B 21 B9 C7 D1 ld hl, cryptocmdHELPfLine1 - 13 D1:C75F CD C0 07 02 call _PutS - 14 D1:C763 CD F0 07 02 call _NewLine - 15 D1:C767 - - - - - 16 D1:C767 - - - - #macro cryptocmdHELPmRow1(cmdXs) - 17 D1:C767 xor a - 18 D1:C767 ld (curCol), a - 19 D1:C767 ld hl, cmdXs - 20 D1:C767 call _PutS - 21 D1:C767 call _NewLine - 22 D1:C767 #endmacro - 23 D1:C767 - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu) - 24 D1:C767 xor a - 25 D1:C767 ld (curCol), a - 26 D1:C767 ld hl, cmdXs - 27 D1:C767 call _PutS - 28 D1:C767 ld a, ':' - 29 D1:C767 call _PutC - 30 D1:C767 ld a, ' ' - 31 D1:C767 call _PutC - 32 D1:C767 ld hl, cmdXu - 33 D1:C767 call _PutS - 34 D1:C767 call _NewLine - 35 D1:C767 #endmacro - 36 D1:C767 - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs) - 37 D1:C767 xor a - 38 D1:C767 ld (curCol), a - 39 D1:C767 ld hl, cmdXs - 40 D1:C767 call _PutS - 41 D1:C767 ld a, 9 - 42 D1:C767 ld (curcol), a - 43 D1:C767 ld hl, cmdYs - 44 D1:C767 call _PutS - 45 D1:C767 call _NewLine - 46 D1:C767 #endmacro - 47 D1:C767 - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs) - 48 D1:C767 xor a - 49 D1:C767 ld (curCol), a - 50 D1:C767 ld hl, cmdXs - 51 D1:C767 call _PutS - 52 D1:C767 ld a, 9 - 53 D1:C767 ld (curcol), a - 54 D1:C767 ld hl, cmdYs - 55 D1:C767 call _PutS - 56 D1:C767 ld a, 19 - 57 D1:C767 ld (curcol), a - 58 D1:C767 ld hl, cmdZs - 59 D1:C767 call _PutS - 60 D1:C767 call _NewLine - 61 D1:C767 #endmacro - 62 D1:C767 - - - - - 63 D1:C767 AF 32 96 05 - D0 21 17 C5 + 4 D1:C7B0 - - - - cryptocmdHELPf: + 5 D1:C7B0 21 CD EA D0 ld hl, FshCmdArgFlags + 6 D1:C7B4 CB 56 - - bit 2, (hl) + 7 D1:C7B6 28 0C - - jr z, cryptocmdHELPfExe + 8 D1:C7B8 21 F2 B3 D1 ld hl, ErrUsageo + 9 D1:C7BC CD 5D B3 D1 call ErrSet + 10 D1:C7C0 CD 10 B3 D1 call ErrCatch + 11 D1:C7C4 - - - - cryptocmdHELPfExe: + 12 D1:C7C4 21 22 C8 D1 ld hl, cryptocmdHELPfLine1 + 13 D1:C7C8 CD C0 07 02 call _PutS + 14 D1:C7CC CD F0 07 02 call _NewLine + 15 D1:C7D0 - - - - + 16 D1:C7D0 - - - - #macro cryptocmdHELPmRow1(cmdXs) + 17 D1:C7D0 xor a + 18 D1:C7D0 ld (curCol), a + 19 D1:C7D0 ld hl, cmdXs + 20 D1:C7D0 call _PutS + 21 D1:C7D0 call _NewLine + 22 D1:C7D0 #endmacro + 23 D1:C7D0 - - - - #macro cryptocmdHELPmRowU(cmdXs, cmdXu) + 24 D1:C7D0 xor a + 25 D1:C7D0 ld (curCol), a + 26 D1:C7D0 ld hl, cmdXs + 27 D1:C7D0 call _PutS + 28 D1:C7D0 ld a, ':' + 29 D1:C7D0 call _PutC + 30 D1:C7D0 ld a, ' ' + 31 D1:C7D0 call _PutC + 32 D1:C7D0 ld hl, cmdXu + 33 D1:C7D0 call _PutS + 34 D1:C7D0 call _NewLine + 35 D1:C7D0 #endmacro + 36 D1:C7D0 - - - - #macro cryptocmdHELPmRow2(cmdXs, cmdYs) + 37 D1:C7D0 xor a + 38 D1:C7D0 ld (curCol), a + 39 D1:C7D0 ld hl, cmdXs + 40 D1:C7D0 call _PutS + 41 D1:C7D0 ld a, 9 + 42 D1:C7D0 ld (curcol), a + 43 D1:C7D0 ld hl, cmdYs + 44 D1:C7D0 call _PutS + 45 D1:C7D0 call _NewLine + 46 D1:C7D0 #endmacro + 47 D1:C7D0 - - - - #macro cryptocmdHELPmRow3(cmdXs, cmdYs, cmdZs) + 48 D1:C7D0 xor a + 49 D1:C7D0 ld (curCol), a + 50 D1:C7D0 ld hl, cmdXs + 51 D1:C7D0 call _PutS + 52 D1:C7D0 ld a, 9 + 53 D1:C7D0 ld (curcol), a + 54 D1:C7D0 ld hl, cmdYs + 55 D1:C7D0 call _PutS + 56 D1:C7D0 ld a, 19 + 57 D1:C7D0 ld (curcol), a + 58 D1:C7D0 ld hl, cmdZs + 59 D1:C7D0 call _PutS + 60 D1:C7D0 call _NewLine + 61 D1:C7D0 #endmacro + 62 D1:C7D0 - - - - + 63 D1:C7D0 AF 32 96 05 + D0 21 80 C5 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 - 02 21 52 C5 + 02 21 BB C5 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdHELPmRowU(cryptocmdROT, cryptocmdROTu) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/HELP.asm" - 64 D1:C78C AF 32 96 05 - D0 21 25 C6 + 64 D1:C7F5 AF 32 96 05 + D0 21 8E C6 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 - 02 21 4B C6 + 02 21 B4 C6 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdHELPmRowU(cryptocmdXOR, cryptocmdXORu) - 65 D1:C7B1 - - - - - 66 D1:C7B1 CD F0 07 02 call _NewLine - 67 D1:C7B5 C3 DF A8 D1 jp Fin - 68 D1:C7B9 - - - - - 69 D1:C7B9 41 76 61 69 + 65 D1:C81A - - - - + 66 D1:C81A CD F0 07 02 call _NewLine + 67 D1:C81E C3 DF A8 D1 jp Fin + 68 D1:C822 - - - - + 69 D1:C822 41 76 61 69 6C 61 62 6C 65 20 43 72 79 70 74 6F 73 3A 00 - cryptocmdHELPfLine1: .db "Available Cryptos:", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 5 D1:C7CC - - - - - 6 D1:C7CC - - - - #include "includes/CryptoCommands/DECRYPT.asm" + 5 D1:C835 - - - - + 6 D1:C835 - - - - #include "includes/CryptoCommands/DECRYPT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRYPT.asm" - 1 D1:C7CC 44 45 43 52 + 1 D1:C835 44 45 43 52 59 50 54 00 cryptocmdDECRYPT: .db "DECRYPT", 0 - 2 D1:C7D4 02 02 - - cryptocmdDECRYPTo: .dw $0202 - 3 D1:C7D6 44 65 63 72 + 2 D1:C83D 02 02 - - cryptocmdDECRYPTo: .dw $0202 + 3 D1:C83F 44 65 63 72 79 70 74 73 20 61 20 73 74 72 69 6E @@ -4290,7 +4315,7 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRY 20 63 79 70 68 65 72 73 00 - - - cryptocmdDECRYPTm: .db "Decrypts a string using a cypher. see 'DECRYPT HELP' for info on cyphers", 0 - 4 D1:C81F 44 45 43 52 + 4 D1:C888 44 45 43 52 59 50 54 20 3C 43 72 79 70 74 20 43 @@ -4300,64 +4325,64 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRY 70 74 20 41 72 67 73 3E 00 - - - cryptocmdDECRYPTu: .db "DECRYPT ", 0 - 5 D1:C844 - - - - cryptocmdDECRYPTf: - 6 D1:C844 - - - - cryptocmdDECRYPTfArg0: - 7 D1:C844 21 CD EA D0 ld hl, FshCmdArgFlags - 8 D1:C848 CB 46 - - bit 0, (hl) - 9 D1:C84A 28 10 - - jr z, cryptocmdDECRYPTfArg0Get - 10 D1:C84C CB 4E - - bit 1, (hl) - 11 D1:C84E 28 24 - - jr z, cryptocmdDECRYPTfExe - 12 D1:C850 21 F2 B3 D1 ld hl, ErrUsageo - 13 D1:C854 CD 5D B3 D1 call ErrSet - 14 D1:C858 CD 10 B3 D1 call ErrCatch - 15 D1:C85C - - - - cryptocmdDECRYPTfArg0Get: - 16 D1:C85C 21 C4 C8 D1 ld hl, cryptocmdDECRYPTfSCypher - 17 D1:C860 CD 21 AB D1 call printprompt - 18 D1:C864 21 A8 EA D0 ld hl, FshCmdArg0 - 19 D1:C868 11 2C 00 00 ld de, FshCmdInptSize - 20 D1:C86C CD A9 AD D1 call inputstr - 21 D1:C870 CD F0 07 02 call _NewLine - 22 D1:C874 - - - - cryptocmdDECRYPTfExe: - 23 D1:C874 - - - - - 24 D1:C874 - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf) - 25 D1:C874 ld hl, FshCmdArg0 - 26 D1:C874 ld de, CmdX - 27 D1:C874 call strcmp - 28 D1:C874 jp z, cmdXf - 29 D1:C874 #endmacro - 30 D1:C874 - - - - - 31 D1:C874 21 A8 EA D0 - 11 CD C8 D1 + 5 D1:C8AD - - - - cryptocmdDECRYPTf: + 6 D1:C8AD - - - - cryptocmdDECRYPTfArg0: + 7 D1:C8AD 21 CD EA D0 ld hl, FshCmdArgFlags + 8 D1:C8B1 CB 46 - - bit 0, (hl) + 9 D1:C8B3 28 10 - - jr z, cryptocmdDECRYPTfArg0Get + 10 D1:C8B5 CB 4E - - bit 1, (hl) + 11 D1:C8B7 28 24 - - jr z, cryptocmdDECRYPTfExe + 12 D1:C8B9 21 F2 B3 D1 ld hl, ErrUsageo + 13 D1:C8BD CD 5D B3 D1 call ErrSet + 14 D1:C8C1 CD 10 B3 D1 call ErrCatch + 15 D1:C8C5 - - - - cryptocmdDECRYPTfArg0Get: + 16 D1:C8C5 21 2D C9 D1 ld hl, cryptocmdDECRYPTfSCypher + 17 D1:C8C9 CD 21 AB D1 call printprompt + 18 D1:C8CD 21 A8 EA D0 ld hl, FshCmdArg0 + 19 D1:C8D1 11 2C 00 00 ld de, FshCmdInptSize + 20 D1:C8D5 CD A9 AD D1 call inputstr + 21 D1:C8D9 CD F0 07 02 call _NewLine + 22 D1:C8DD - - - - cryptocmdDECRYPTfExe: + 23 D1:C8DD - - - - + 24 D1:C8DD - - - - #macro cryptocmdDECRYPTcmpjp(cmdX, cmdXf) + 25 D1:C8DD ld hl, FshCmdArg0 + 26 D1:C8DD ld de, CmdX + 27 D1:C8DD call strcmp + 28 D1:C8DD jp z, cmdXf + 29 D1:C8DD #endmacro + 30 D1:C8DD - - - - + 31 D1:C8DD 21 A8 EA D0 + 11 36 C9 D1 CD 59 AC D1 - CA 1D C9 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) + CA 86 C9 D1 cryptocmdDECRYPTcmpjp(cryptocmdunROT, cryptocmdunROTf) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/DECRYPT.asm" - 32 D1:C884 21 A8 EA D0 - 11 D4 C9 D1 + 32 D1:C8ED 21 A8 EA D0 + 11 3D CA D1 CD 59 AC D1 - CA 0C CA D1 cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf) - 33 D1:C894 21 A8 EA D0 - 11 E9 CA D1 + CA 75 CA D1 cryptocmdDECRYPTcmpjp(cryptocmdunXOR, cryptocmdunXORf) + 33 D1:C8FD 21 A8 EA D0 + 11 52 CB D1 CD 59 AC D1 - CA 0C CB D1 cryptocmdDECRYPTcmpjp(cryptocmdunHELP, cryptocmdunHELPf) - 34 D1:C8A4 - - - - - 35 D1:C8A4 21 A8 EA D0 ld hl, FshCmdArg0 - 36 D1:C8A8 11 9F EA D0 ld de, FshCmd - 37 D1:C8AC CD 6C AC D1 call strcpy - 38 D1:C8B0 - - - - - 39 D1:C8B0 21 6C B3 D1 ld hl, ErrCmdNotFoundo - 40 D1:C8B4 11 CE EA D0 ld de, FshCmdErrCode - 41 D1:C8B8 CD 4A AA D1 call bytecpy - 42 D1:C8BC CD 5D B3 D1 call ErrSet - 43 D1:C8C0 C3 E7 A8 D1 jp Err - 44 D1:C8C4 - - - - - 45 D1:C8C4 43 79 70 68 + CA 75 CB D1 cryptocmdDECRYPTcmpjp(cryptocmdunHELP, cryptocmdunHELPf) + 34 D1:C90D - - - - + 35 D1:C90D 21 A8 EA D0 ld hl, FshCmdArg0 + 36 D1:C911 11 9F EA D0 ld de, FshCmd + 37 D1:C915 CD 6C AC D1 call strcpy + 38 D1:C919 - - - - + 39 D1:C919 21 6C B3 D1 ld hl, ErrCmdNotFoundo + 40 D1:C91D 11 CE EA D0 ld de, FshCmdErrCode + 41 D1:C921 CD 4A AA D1 call bytecpy + 42 D1:C925 CD 5D B3 D1 call ErrSet + 43 D1:C929 C3 E7 A8 D1 jp Err + 44 D1:C92D - - - - + 45 D1:C92D 43 79 70 68 65 72 3D 20 00 - - - cryptocmdDECRYPTfSCypher: .db "Cypher= ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 7 D1:C8CD - - - - #include "includes/CryptoCommands/unROT.asm" + 7 D1:C936 - - - - #include "includes/CryptoCommands/unROT.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unROT.asm" - 1 D1:C8CD 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 - 2 D1:C8D1 52 4F 54 3A + 1 D1:C936 52 4F 54 00 cryptocmdunROT: .db "ROT", 0 + 2 D1:C93A 52 4F 54 3A 20 43 79 70 68 65 72 2C 20 72 6F 74 @@ -4371,79 +4396,79 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unROT 73 20 61 20 73 74 72 69 6E 67 00 - cryptocmdunROTm: .db "ROT: Cypher, rotates the alphabet and Decodes a string", 0 - 3 D1:C908 44 45 43 52 + 3 D1:C971 44 45 43 52 59 50 54 20 52 4F 54 20 3C 73 68 69 66 74 23 3E 00 - - - cryptocmdunROTu: .db "DECRYPT ROT ", 0 - 4 D1:C91D - - - - cryptocmdunROTf: - 5 D1:C91D - - - - cryptocmdunROTfArg1: - 6 D1:C91D 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:C921 CB 5E - - bit 3, (hl) - 8 D1:C923 20 32 - - jr nz, cryptocmdunROTfArg2 - 9 D1:C925 CB 56 - - bit 2, (hl) - 10 D1:C927 28 0C - - jr z, cryptocmdunROTfArg1Get - 11 D1:C929 21 F2 B3 D1 ld hl, ErrUsageo - 12 D1:C92D CD 5D B3 D1 call ErrSet - 13 D1:C931 CD 10 B3 D1 call ErrCatch - 14 D1:C935 - - - - cryptocmdunROTfArg1Get: - 15 D1:C935 21 B6 C9 D1 ld hl, cryptocmdunROTfDShift - 16 D1:C939 CD 21 AB D1 call printprompt - 17 D1:C93D 21 B1 EA D0 ld hl, FshCmdArg1 - 18 D1:C941 11 03 00 00 ld de, 3 - 19 D1:C945 CD E1 AF D1 call inputnumstr - 20 D1:C949 CD E3 AC D1 call strtow - 21 D1:C94D 11 B1 EA D0 ld de, FshCmdArg1 - 22 D1:C951 EB - - - ex de, hl - 23 D1:C952 73 - - - ld (hl), e - 24 D1:C953 CD F0 07 02 call _NewLine - 25 D1:C957 - - - - cryptocmdunROTfArg2: - 26 D1:C957 21 BA EA D0 ld hl, FshCmdArg2 - 27 D1:C95B 11 D1 EA D0 ld de, FshScratch - 28 D1:C95F CD 6C AC D1 call strcpy - 29 D1:C963 21 CD EA D0 ld hl, FshCmdArgFlags - 30 D1:C967 CB 66 - - bit 4, (hl) - 31 D1:C969 28 10 - - jr z, cryptocmdunROTfArg2Get - 32 D1:C96B CB 6E - - bit 5, (hl) - 33 D1:C96D 28 24 - - jr z, cryptocmdunROTfExe - 34 D1:C96F 21 F2 B3 D1 ld hl, ErrUsageo - 35 D1:C973 CD 5D B3 D1 call ErrSet - 36 D1:C977 CD 10 B3 D1 call ErrCatch - 37 D1:C97B - - - - cryptocmdunROTfArg2Get: - 38 D1:C97B 21 BE C9 D1 ld hl, cryptocmdunROTfDMessage - 39 D1:C97F CD 21 AB D1 call printprompt - 40 D1:C983 21 D1 EA D0 ld hl, FshScratch - 41 D1:C987 11 10 00 00 ld de, FshScratchSize - 4 - 42 D1:C98B CD CD AE D1 call inputcharstr - 43 D1:C98F CD F0 07 02 call _NewLine - 44 D1:C993 - - - - cryptocmdunROTfExe: - 45 D1:C993 21 B1 EA D0 ld hl, FshCmdArg1 - 46 D1:C997 7E - - - ld a, (hl) - 47 D1:C998 21 D1 EA D0 ld hl, FshScratch - 48 D1:C99C CD 45 B6 D1 call rotletdecrypt - 49 D1:C9A0 E5 - - - push hl - 50 D1:C9A1 21 CB C9 D1 ld hl, cryptocmdunROTfDResult - 51 D1:C9A5 CD C0 07 02 call _PutS - 52 D1:C9A9 E1 - - - pop hl - 53 D1:C9AA CD C0 07 02 call _PutS - 54 D1:C9AE CD F0 07 02 call _NewLine - 55 D1:C9B2 C3 DF A8 D1 jp Fin - 56 D1:C9B6 - - - - - 57 D1:C9B6 53 68 69 66 + 4 D1:C986 - - - - cryptocmdunROTf: + 5 D1:C986 - - - - cryptocmdunROTfArg1: + 6 D1:C986 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:C98A CB 5E - - bit 3, (hl) + 8 D1:C98C 20 32 - - jr nz, cryptocmdunROTfArg2 + 9 D1:C98E CB 56 - - bit 2, (hl) + 10 D1:C990 28 0C - - jr z, cryptocmdunROTfArg1Get + 11 D1:C992 21 F2 B3 D1 ld hl, ErrUsageo + 12 D1:C996 CD 5D B3 D1 call ErrSet + 13 D1:C99A CD 10 B3 D1 call ErrCatch + 14 D1:C99E - - - - cryptocmdunROTfArg1Get: + 15 D1:C99E 21 1F CA D1 ld hl, cryptocmdunROTfDShift + 16 D1:C9A2 CD 21 AB D1 call printprompt + 17 D1:C9A6 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:C9AA 11 03 00 00 ld de, 3 + 19 D1:C9AE CD E1 AF D1 call inputnumstr + 20 D1:C9B2 CD E3 AC D1 call strtow + 21 D1:C9B6 11 B1 EA D0 ld de, FshCmdArg1 + 22 D1:C9BA EB - - - ex de, hl + 23 D1:C9BB 73 - - - ld (hl), e + 24 D1:C9BC CD F0 07 02 call _NewLine + 25 D1:C9C0 - - - - cryptocmdunROTfArg2: + 26 D1:C9C0 21 BA EA D0 ld hl, FshCmdArg2 + 27 D1:C9C4 11 D1 EA D0 ld de, FshScratch + 28 D1:C9C8 CD 6C AC D1 call strcpy + 29 D1:C9CC 21 CD EA D0 ld hl, FshCmdArgFlags + 30 D1:C9D0 CB 66 - - bit 4, (hl) + 31 D1:C9D2 28 10 - - jr z, cryptocmdunROTfArg2Get + 32 D1:C9D4 CB 6E - - bit 5, (hl) + 33 D1:C9D6 28 24 - - jr z, cryptocmdunROTfExe + 34 D1:C9D8 21 F2 B3 D1 ld hl, ErrUsageo + 35 D1:C9DC CD 5D B3 D1 call ErrSet + 36 D1:C9E0 CD 10 B3 D1 call ErrCatch + 37 D1:C9E4 - - - - cryptocmdunROTfArg2Get: + 38 D1:C9E4 21 27 CA D1 ld hl, cryptocmdunROTfDMessage + 39 D1:C9E8 CD 21 AB D1 call printprompt + 40 D1:C9EC 21 D1 EA D0 ld hl, FshScratch + 41 D1:C9F0 11 10 00 00 ld de, FshScratchSize - 4 + 42 D1:C9F4 CD CD AE D1 call inputcharstr + 43 D1:C9F8 CD F0 07 02 call _NewLine + 44 D1:C9FC - - - - cryptocmdunROTfExe: + 45 D1:C9FC 21 B1 EA D0 ld hl, FshCmdArg1 + 46 D1:CA00 7E - - - ld a, (hl) + 47 D1:CA01 21 D1 EA D0 ld hl, FshScratch + 48 D1:CA05 CD AE B6 D1 call rotletdecrypt + 49 D1:CA09 E5 - - - push hl + 50 D1:CA0A 21 34 CA D1 ld hl, cryptocmdunROTfDResult + 51 D1:CA0E CD C0 07 02 call _PutS + 52 D1:CA12 E1 - - - pop hl + 53 D1:CA13 CD C0 07 02 call _PutS + 54 D1:CA17 CD F0 07 02 call _NewLine + 55 D1:CA1B C3 DF A8 D1 jp Fin + 56 D1:CA1F - - - - + 57 D1:CA1F 53 68 69 66 74 3D 20 00 cryptocmdunROTfDShift: .db "Shift= ", 0 - 58 D1:C9BE 43 79 70 68 + 58 D1:CA27 43 79 70 68 65 72 54 65 78 74 3D 20 00 - - - cryptocmdunROTfDMessage: .db "CypherText= ", 0 - 59 D1:C9CB 52 65 73 75 + 59 D1:CA34 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdunROTfDResult: .db "Result: ", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 8 D1:C9D4 - - - - #include "includes/CryptoCommands/unXOR.asm" + 8 D1:CA3D - - - - #include "includes/CryptoCommands/unXOR.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unXOR.asm" - 1 D1:C9D4 58 4F 52 00 cryptocmdunXOR: .db "XOR", 0 - 2 D1:C9D8 58 4F 52 3A + 1 D1:CA3D 58 4F 52 00 cryptocmdunXOR: .db "XOR", 0 + 2 D1:CA41 58 4F 52 3A 20 43 79 70 68 65 72 2C 20 61 6E 64 @@ -4452,188 +4477,188 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unXOR 20 61 20 73 74 72 69 6E 67 00 - - cryptocmdunXORm: .db "XOR: Cypher, and decodes a string", 0 - 3 D1:C9FA 44 45 43 52 + 3 D1:CA63 44 45 43 52 59 50 54 20 58 4F 52 20 3C 6B 65 79 3E 00 - - cryptocmdunXORu: .db "DECRYPT XOR ", 0 - 4 D1:CA0C - - - - cryptocmdunXORf: - 5 D1:CA0C - - - - cryptocmdunXORfArg1: - 6 D1:CA0C 21 CD EA D0 ld hl, FshCmdArgFlags - 7 D1:CA10 CB 56 - - bit 2, (hl) - 8 D1:CA12 28 10 - - jr z, cryptocmdunXORfArg1Get - 9 D1:CA14 CB 5E - - bit 3, (hl) - 10 D1:CA16 28 24 - - jr z, cryptocmdunXORfArg2 - 11 D1:CA18 21 F2 B3 D1 ld hl, ErrUsageo - 12 D1:CA1C CD 5D B3 D1 call ErrSet - 13 D1:CA20 CD 10 B3 D1 call ErrCatch - 14 D1:CA24 - - - - cryptocmdunXORfArg1Get: - 15 D1:CA24 21 B9 CA D1 ld hl, cryptocmdunXORfDKey - 16 D1:CA28 CD 21 AB D1 call printprompt - 17 D1:CA2C 21 B1 EA D0 ld hl, FshCmdArg1 - 18 D1:CA30 11 08 00 00 ld de, FshCmdCmdSize - 19 D1:CA34 CD A9 AD D1 call inputstr - 20 D1:CA38 CD F0 07 02 call _NewLine - 21 D1:CA3C - - - - cryptocmdunXORfArg2: - 22 D1:CA3C 21 BA EA D0 ld hl, FshCmdArg2 - 23 D1:CA40 11 D1 EA D0 ld de, FshScratch - 24 D1:CA44 CD 6C AC D1 call strcpy - 25 D1:CA48 21 CD EA D0 ld hl, FshCmdArgFlags - 26 D1:CA4C CB 66 - - bit 4, (hl) - 27 D1:CA4E 20 45 - - jr nz, cryptocmdunXORfExe - 28 D1:CA50 - - - - cryptocmdunXORfArg2Get: - 29 D1:CA50 21 D9 CA D1 ld hl, cryptocmdunXORfStringPBuffer - 30 D1:CA54 06 0F - - ld b, $0F - 31 D1:CA56 3E 00 - - ld a, $00 - 32 D1:CA58 CD 6B AA D1 call memset - 33 D1:CA5C 21 BF CA D1 ld hl, cryptocmdunXORfDMessage - 34 D1:CA60 CD 21 AB D1 call printprompt - 35 D1:CA64 21 D1 EA D0 ld hl, FshScratch - 36 D1:CA68 11 10 00 00 ld de, FshScratchSize - 4 - 37 D1:CA6C CD A9 AD D1 call inputstr - 38 D1:CA70 01 D9 CA D1 ld bc, cryptocmdunXORfStringPBuffer - 39 D1:CA74 - - - - cryptocmdunXORfArg2GetLoop: - 40 D1:CA74 7E - - - ld a, (hl) - 41 D1:CA75 B7 - - - or a, a - 42 D1:CA76 28 19 - - jr z, cryptocmdunXORfArg2GetLoopEnd - 43 D1:CA78 32 D5 CA D1 ld (cryptocmdunXORfStringBuffer), a - 44 D1:CA7C 23 - - - inc hl - 45 D1:CA7D 7E - - - ld a, (hl) - 46 D1:CA7E 32 D6 CA D1 ld (cryptocmdunXORfStringBuffer + 1), a - 47 D1:CA82 E5 - - - push hl - 48 D1:CA83 21 D5 CA D1 ld hl, cryptocmdunXORfStringBuffer - 49 D1:CA87 CD 1C AC D1 call hexToA - 50 D1:CA8B E1 - - - pop hl - 51 D1:CA8C 02 - - - ld (bc), a - 52 D1:CA8D 23 - - - inc hl - 53 D1:CA8E 03 - - - inc bc - 54 D1:CA8F 18 E3 - - jr cryptocmdunXORfArg2GetLoop - 55 D1:CA91 - - - - cryptocmdunXORfArg2GetLoopEnd: - 56 D1:CA91 CD F0 07 02 call _NewLine - 57 D1:CA95 - - - - cryptocmdunXORfExe: - 58 D1:CA95 21 D9 CA D1 ld hl, cryptocmdunXORfStringPBuffer - 59 D1:CA99 11 B1 EA D0 ld de, FshCmdArg1 - 60 D1:CA9D CD AE B6 D1 call xorcrypt - 61 D1:CAA1 21 CC CA D1 ld hl, cryptocmdunXORfDResult - 62 D1:CAA5 CD C0 07 02 call _PutS - 63 D1:CAA9 21 D9 CA D1 ld hl, cryptocmdunXORfStringPBuffer - 64 D1:CAAD CD C0 07 02 call _PutS - 65 D1:CAB1 CD F0 07 02 call _NewLine - 66 D1:CAB5 C3 DF A8 D1 jp Fin - 67 D1:CAB9 - - - - - 68 D1:CAB9 4B 65 79 3D + 4 D1:CA75 - - - - cryptocmdunXORf: + 5 D1:CA75 - - - - cryptocmdunXORfArg1: + 6 D1:CA75 21 CD EA D0 ld hl, FshCmdArgFlags + 7 D1:CA79 CB 56 - - bit 2, (hl) + 8 D1:CA7B 28 10 - - jr z, cryptocmdunXORfArg1Get + 9 D1:CA7D CB 5E - - bit 3, (hl) + 10 D1:CA7F 28 24 - - jr z, cryptocmdunXORfArg2 + 11 D1:CA81 21 F2 B3 D1 ld hl, ErrUsageo + 12 D1:CA85 CD 5D B3 D1 call ErrSet + 13 D1:CA89 CD 10 B3 D1 call ErrCatch + 14 D1:CA8D - - - - cryptocmdunXORfArg1Get: + 15 D1:CA8D 21 22 CB D1 ld hl, cryptocmdunXORfDKey + 16 D1:CA91 CD 21 AB D1 call printprompt + 17 D1:CA95 21 B1 EA D0 ld hl, FshCmdArg1 + 18 D1:CA99 11 08 00 00 ld de, FshCmdCmdSize + 19 D1:CA9D CD A9 AD D1 call inputstr + 20 D1:CAA1 CD F0 07 02 call _NewLine + 21 D1:CAA5 - - - - cryptocmdunXORfArg2: + 22 D1:CAA5 21 BA EA D0 ld hl, FshCmdArg2 + 23 D1:CAA9 11 D1 EA D0 ld de, FshScratch + 24 D1:CAAD CD 6C AC D1 call strcpy + 25 D1:CAB1 21 CD EA D0 ld hl, FshCmdArgFlags + 26 D1:CAB5 CB 66 - - bit 4, (hl) + 27 D1:CAB7 20 45 - - jr nz, cryptocmdunXORfExe + 28 D1:CAB9 - - - - cryptocmdunXORfArg2Get: + 29 D1:CAB9 21 42 CB D1 ld hl, cryptocmdunXORfStringPBuffer + 30 D1:CABD 06 0F - - ld b, $0F + 31 D1:CABF 3E 00 - - ld a, $00 + 32 D1:CAC1 CD 6B AA D1 call memset + 33 D1:CAC5 21 28 CB D1 ld hl, cryptocmdunXORfDMessage + 34 D1:CAC9 CD 21 AB D1 call printprompt + 35 D1:CACD 21 D1 EA D0 ld hl, FshScratch + 36 D1:CAD1 11 10 00 00 ld de, FshScratchSize - 4 + 37 D1:CAD5 CD A9 AD D1 call inputstr + 38 D1:CAD9 01 42 CB D1 ld bc, cryptocmdunXORfStringPBuffer + 39 D1:CADD - - - - cryptocmdunXORfArg2GetLoop: + 40 D1:CADD 7E - - - ld a, (hl) + 41 D1:CADE B7 - - - or a, a + 42 D1:CADF 28 19 - - jr z, cryptocmdunXORfArg2GetLoopEnd + 43 D1:CAE1 32 3E CB D1 ld (cryptocmdunXORfStringBuffer), a + 44 D1:CAE5 23 - - - inc hl + 45 D1:CAE6 7E - - - ld a, (hl) + 46 D1:CAE7 32 3F CB D1 ld (cryptocmdunXORfStringBuffer + 1), a + 47 D1:CAEB E5 - - - push hl + 48 D1:CAEC 21 3E CB D1 ld hl, cryptocmdunXORfStringBuffer + 49 D1:CAF0 CD 1C AC D1 call hexToA + 50 D1:CAF4 E1 - - - pop hl + 51 D1:CAF5 02 - - - ld (bc), a + 52 D1:CAF6 23 - - - inc hl + 53 D1:CAF7 03 - - - inc bc + 54 D1:CAF8 18 E3 - - jr cryptocmdunXORfArg2GetLoop + 55 D1:CAFA - - - - cryptocmdunXORfArg2GetLoopEnd: + 56 D1:CAFA CD F0 07 02 call _NewLine + 57 D1:CAFE - - - - cryptocmdunXORfExe: + 58 D1:CAFE 21 42 CB D1 ld hl, cryptocmdunXORfStringPBuffer + 59 D1:CB02 11 B1 EA D0 ld de, FshCmdArg1 + 60 D1:CB06 CD 17 B7 D1 call xorcrypt + 61 D1:CB0A 21 35 CB D1 ld hl, cryptocmdunXORfDResult + 62 D1:CB0E CD C0 07 02 call _PutS + 63 D1:CB12 21 42 CB D1 ld hl, cryptocmdunXORfStringPBuffer + 64 D1:CB16 CD C0 07 02 call _PutS + 65 D1:CB1A CD F0 07 02 call _NewLine + 66 D1:CB1E C3 DF A8 D1 jp Fin + 67 D1:CB22 - - - - + 68 D1:CB22 4B 65 79 3D 20 00 - - cryptocmdunXORfDKey: .db "Key= ", 0 - 69 D1:CABF 43 79 70 68 + 69 D1:CB28 43 79 70 68 65 72 54 65 78 74 3D 20 00 - - - cryptocmdunXORfDMessage: .db "CypherText= ", 0 - 70 D1:CACC 52 65 73 75 + 70 D1:CB35 52 65 73 75 6C 74 3A 20 00 - - - cryptocmdunXORfDResult: .db "Result: ", 0 - 71 D1:CAD5 00 00 00 00 cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00 - 72 D1:CAD9 00 00 00 00 + 71 D1:CB3E 00 00 00 00 cryptocmdunXORfStringBuffer: .db $00, $00, $00, $00 + 72 D1:CB42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cryptocmdunXORfStringPBuffer: .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" - 9 D1:CAE9 - - - - #include "includes/CryptoCommands/unHELP.asm" + 9 D1:CB52 - - - - #include "includes/CryptoCommands/unHELP.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unHELP.asm" - 1 D1:CAE9 48 45 4C 50 + 1 D1:CB52 48 45 4C 50 00 - - - cryptocmdunHELP: .db "HELP", 0 - 2 D1:CAEE 48 65 6C 70 + 2 D1:CB57 48 65 6C 70 20 66 6F 72 20 63 79 70 68 65 72 73 00 - - - cryptocmdunHELPm: .db "Help for cyphers", 0 - 3 D1:CAFF 44 45 43 52 + 3 D1:CB68 44 45 43 52 59 50 54 20 48 45 4C 50 00 - - - cryptocmdunHELPu: .db "DECRYPT HELP", 0 - 4 D1:CB0C - - - - cryptocmdunHELPf: - 5 D1:CB0C 21 CD EA D0 ld hl, FshCmdArgFlags - 6 D1:CB10 CB 56 - - bit 2, (hl) - 7 D1:CB12 28 0C - - jr z, cryptocmdunHELPfExe - 8 D1:CB14 21 F2 B3 D1 ld hl, ErrUsageo - 9 D1:CB18 CD 5D B3 D1 call ErrSet - 10 D1:CB1C CD 10 B3 D1 call ErrCatch - 11 D1:CB20 - - - - cryptocmdunHELPfExe: - 12 D1:CB20 21 7E CB D1 ld hl, cryptocmdunHELPfLine1 - 13 D1:CB24 CD C0 07 02 call _PutS - 14 D1:CB28 CD F0 07 02 call _NewLine - 15 D1:CB2C - - - - - 16 D1:CB2C - - - - #macro cryptocmdunHELPmRow1(cmdXs) - 17 D1:CB2C xor a - 18 D1:CB2C ld (curCol), a - 19 D1:CB2C ld hl, cmdXs - 20 D1:CB2C call _PutS - 21 D1:CB2C call _NewLine - 22 D1:CB2C #endmacro - 23 D1:CB2C - - - - #macro cryptocmdunHELPmRowU(cmdXs, cmdXu) - 24 D1:CB2C xor a - 25 D1:CB2C ld (curCol), a - 26 D1:CB2C ld hl, cmdXs - 27 D1:CB2C call _PutS - 28 D1:CB2C ld a, ':' - 29 D1:CB2C call _PutC - 30 D1:CB2C ld a, ' ' - 31 D1:CB2C call _PutC - 32 D1:CB2C ld hl, cmdXu - 33 D1:CB2C call _PutS - 34 D1:CB2C call _NewLine - 35 D1:CB2C #endmacro - 36 D1:CB2C - - - - #macro cryptocmdunHELPmRow2(cmdXs, cmdYs) - 37 D1:CB2C xor a - 38 D1:CB2C ld (curCol), a - 39 D1:CB2C ld hl, cmdXs - 40 D1:CB2C call _PutS - 41 D1:CB2C ld a, 9 - 42 D1:CB2C ld (curcol), a - 43 D1:CB2C ld hl, cmdYs - 44 D1:CB2C call _PutS - 45 D1:CB2C call _NewLine - 46 D1:CB2C #endmacro - 47 D1:CB2C - - - - #macro cryptocmdunHELPmRow3(cmdXs, cmdYs, cmdZs) - 48 D1:CB2C xor a - 49 D1:CB2C ld (curCol), a - 50 D1:CB2C ld hl, cmdXs - 51 D1:CB2C call _PutS - 52 D1:CB2C ld a, 9 - 53 D1:CB2C ld (curcol), a - 54 D1:CB2C ld hl, cmdYs - 55 D1:CB2C call _PutS - 56 D1:CB2C ld a, 19 - 57 D1:CB2C ld (curcol), a - 58 D1:CB2C ld hl, cmdZs - 59 D1:CB2C call _PutS - 60 D1:CB2C call _NewLine - 61 D1:CB2C #endmacro - 62 D1:CB2C - - - - - 63 D1:CB2C AF 32 96 05 - D0 21 CD C8 + 4 D1:CB75 - - - - cryptocmdunHELPf: + 5 D1:CB75 21 CD EA D0 ld hl, FshCmdArgFlags + 6 D1:CB79 CB 56 - - bit 2, (hl) + 7 D1:CB7B 28 0C - - jr z, cryptocmdunHELPfExe + 8 D1:CB7D 21 F2 B3 D1 ld hl, ErrUsageo + 9 D1:CB81 CD 5D B3 D1 call ErrSet + 10 D1:CB85 CD 10 B3 D1 call ErrCatch + 11 D1:CB89 - - - - cryptocmdunHELPfExe: + 12 D1:CB89 21 E7 CB D1 ld hl, cryptocmdunHELPfLine1 + 13 D1:CB8D CD C0 07 02 call _PutS + 14 D1:CB91 CD F0 07 02 call _NewLine + 15 D1:CB95 - - - - + 16 D1:CB95 - - - - #macro cryptocmdunHELPmRow1(cmdXs) + 17 D1:CB95 xor a + 18 D1:CB95 ld (curCol), a + 19 D1:CB95 ld hl, cmdXs + 20 D1:CB95 call _PutS + 21 D1:CB95 call _NewLine + 22 D1:CB95 #endmacro + 23 D1:CB95 - - - - #macro cryptocmdunHELPmRowU(cmdXs, cmdXu) + 24 D1:CB95 xor a + 25 D1:CB95 ld (curCol), a + 26 D1:CB95 ld hl, cmdXs + 27 D1:CB95 call _PutS + 28 D1:CB95 ld a, ':' + 29 D1:CB95 call _PutC + 30 D1:CB95 ld a, ' ' + 31 D1:CB95 call _PutC + 32 D1:CB95 ld hl, cmdXu + 33 D1:CB95 call _PutS + 34 D1:CB95 call _NewLine + 35 D1:CB95 #endmacro + 36 D1:CB95 - - - - #macro cryptocmdunHELPmRow2(cmdXs, cmdYs) + 37 D1:CB95 xor a + 38 D1:CB95 ld (curCol), a + 39 D1:CB95 ld hl, cmdXs + 40 D1:CB95 call _PutS + 41 D1:CB95 ld a, 9 + 42 D1:CB95 ld (curcol), a + 43 D1:CB95 ld hl, cmdYs + 44 D1:CB95 call _PutS + 45 D1:CB95 call _NewLine + 46 D1:CB95 #endmacro + 47 D1:CB95 - - - - #macro cryptocmdunHELPmRow3(cmdXs, cmdYs, cmdZs) + 48 D1:CB95 xor a + 49 D1:CB95 ld (curCol), a + 50 D1:CB95 ld hl, cmdXs + 51 D1:CB95 call _PutS + 52 D1:CB95 ld a, 9 + 53 D1:CB95 ld (curcol), a + 54 D1:CB95 ld hl, cmdYs + 55 D1:CB95 call _PutS + 56 D1:CB95 ld a, 19 + 57 D1:CB95 ld (curcol), a + 58 D1:CB95 ld hl, cmdZs + 59 D1:CB95 call _PutS + 60 D1:CB95 call _NewLine + 61 D1:CB95 #endmacro + 62 D1:CB95 - - - - + 63 D1:CB95 AF 32 96 05 + D0 21 36 C9 D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 - 02 21 08 C9 + 02 21 71 C9 D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdunHELPmRowU(cryptocmdunROT, cryptocmdunROTu) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unHELP.asm" - 64 D1:CB51 AF 32 96 05 - D0 21 D4 C9 + 64 D1:CBBA AF 32 96 05 + D0 21 3D CA D1 CD C0 07 02 3E 3A CD B8 07 02 3E 20 CD B8 07 - 02 21 FA C9 + 02 21 63 CA D1 CD C0 07 02 CD F0 07 02 - - - cryptocmdunHELPmRowU(cryptocmdunXOR, cryptocmdunXORu) - 65 D1:CB76 - - - - - 66 D1:CB76 CD F0 07 02 call _NewLine - 67 D1:CB7A C3 DF A8 D1 jp Fin - 68 D1:CB7E - - - - - 69 D1:CB7E 41 76 61 69 + 65 D1:CBDF - - - - + 66 D1:CBDF CD F0 07 02 call _NewLine + 67 D1:CBE3 C3 DF A8 D1 jp Fin + 68 D1:CBE7 - - - - + 69 D1:CBE7 41 76 61 69 6C 61 62 6C 65 20 43 72 79 70 74 6F @@ -4641,70 +4666,70 @@ Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/unHEL Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/CryptoCommands/CryptoCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" - 51 D1:CB91 - - - - #include "includes/PrgmCommands/PrgmCommand.asm" + 51 D1:CBFA - - - - #include "includes/PrgmCommands/PrgmCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm" - 1 D1:CB91 - - - - prgmcmddecode: - 2 D1:CB91 E5 D5 11 DB - CB D1 CD 59 - AC D1 21 E0 - CB D1 D1 CC + 1 D1:CBFA - - - - prgmcmddecode: + 2 D1:CBFA E5 D5 11 44 + CC D1 CD 59 + AC D1 21 49 + CC D1 D1 CC 52 AA D1 E1 decodecmdopt(prgmcmdPRGM, prgmcmdPRGMo) Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm" - 3 D1:CBA5 C9 - - - ret - 4 D1:CBA6 - - - - - 5 D1:CBA6 - - - - prgmcmdroute: - 6 D1:CBA6 C1 - - - pop bc - 7 D1:CBA7 11 E0 CB D1 + 3 D1:CC0E C9 - - - ret + 4 D1:CC0F - - - - + 5 D1:CC0F - - - - prgmcmdroute: + 6 D1:CC0F C1 - - - pop bc + 7 D1:CC10 11 49 CC D1 CD 5E AA D1 - CA EC CB D1 routeoptjp(prgmcmdPRGMo, prgmcmdPRGMf) - 8 D1:CBB3 C5 - - - push bc - 9 D1:CBB4 C9 - - - ret - 10 D1:CBB5 - - - - - 11 D1:CBB5 - - - - prgmcmdmanroute: - 12 D1:CBB5 C1 - - - pop bc - 13 D1:CBB6 11 DB CB D1 + CA 55 CC D1 routeoptjp(prgmcmdPRGMo, prgmcmdPRGMf) + 8 D1:CC1C C5 - - - push bc + 9 D1:CC1D C9 - - - ret + 10 D1:CC1E - - - - + 11 D1:CC1E - - - - prgmcmdmanroute: + 12 D1:CC1E C1 - - - pop bc + 13 D1:CC1F 11 44 CC D1 CD 59 AC D1 - 11 E2 CB D1 - CA 24 B7 D1 routestrjp(prgmcmdPRGM, prgmcmdPRGMm) - 14 D1:CBC6 C5 - - - push bc - 15 D1:CBC7 C9 - - - ret - 16 D1:CBC8 - - - - - 17 D1:CBC8 - - - - - 18 D1:CBC8 - - - - prgmcmdmanrouteu: - 19 D1:CBC8 C1 - - - pop bc - 20 D1:CBC9 11 DB CB D1 + 11 4B CC D1 + CA 8D B7 D1 routestrjp(prgmcmdPRGM, prgmcmdPRGMm) + 14 D1:CC2F C5 - - - push bc + 15 D1:CC30 C9 - - - ret + 16 D1:CC31 - - - - + 17 D1:CC31 - - - - + 18 D1:CC31 - - - - prgmcmdmanrouteu: + 19 D1:CC31 C1 - - - pop bc + 20 D1:CC32 11 44 CC D1 CD 59 AC D1 - 11 E7 CB D1 - CA 3A B7 D1 routeustrjp(prgmcmdPRGM, prgmcmdPRGMu) - 21 D1:CBD9 C5 - - - push bc - 22 D1:CBDA C9 - - - ret - 23 D1:CBDB - - - - - 24 D1:CBDB - - - - #include "includes/PrgmCommands/PrgmCommands.inc" + 11 50 CC D1 + CA A3 B7 D1 routeustrjp(prgmcmdPRGM, prgmcmdPRGMu) + 21 D1:CC42 C5 - - - push bc + 22 D1:CC43 C9 - - - ret + 23 D1:CC44 - - - - + 24 D1:CC44 - - - - #include "includes/PrgmCommands/PrgmCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommands.inc" - 1 D1:CBDB - - - - #include "includes/PrgmCommands/PRGM.asm" + 1 D1:CC44 - - - - #include "includes/PrgmCommands/PRGM.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PRGM.asm" - 1 D1:CBDB 50 52 47 4D + 1 D1:CC44 50 52 47 4D 00 - - - prgmcmdPRGM: .db "PRGM", 0 - 2 D1:CBE0 00 01 - - prgmcmdPRGMo: .dw $0100 - 3 D1:CBE2 68 65 6C 70 + 2 D1:CC49 00 01 - - prgmcmdPRGMo: .dw $0100 + 3 D1:CC4B 68 65 6C 70 00 - - - prgmcmdPRGMm: .db "help", 0 - 4 D1:CBE7 50 52 47 4D + 4 D1:CC50 50 52 47 4D 00 - - - prgmcmdPRGMu: .db "PRGM", 0 - 5 D1:CBEC - - - - prgmcmdPRGMf: - 6 D1:CBEC - - - - - 7 D1:CBEC 21 F8 CB D1 ld hl, prgmcmdPRGMSprgm - 8 D1:CBF0 CD 20 03 02 call _Mov9ToOP1 - 9 D1:CBF4 - - - - - 10 D1:CBF4 C3 34 B5 D1 jp prgmasm - 11 D1:CBF8 - - - - - 12 D1:CBF8 05 43 48 41 - 52 00 - - prgmcmdPRGMSprgm: .db ProgObj, "CHAR", 0 + 5 D1:CC55 - - - - prgmcmdPRGMf: + 6 D1:CC55 - - - - + 7 D1:CC55 21 61 CC D1 ld hl, prgmcmdPRGMSprgm + 8 D1:CC59 CD 20 03 02 call _Mov9ToOP1 + 9 D1:CC5D - - - - + 10 D1:CC5D C3 34 B5 D1 jp prgmrun + 11 D1:CC61 - - - - + 12 D1:CC61 05 45 41 53 + 45 00 - - prgmcmdPRGMSprgm: .db ProgObj, "EASE", 0 Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommands.inc" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/PrgmCommands/PrgmCommand.asm" Listing for file "/home/pi/Documents/asm/fsh-shell/includes/Command.asm" Listing for file "FSHa.asm" - 77 D1:CBFE - - - - - 78 D1:CBFE 45 4E 44 46 + 77 D1:CC67 - - - - + 78 D1:CC67 45 4E 44 46 53 48 41 - .db "ENDFSHA" - 79 D1:CC05 - - - - - 80 D1:CC05 - - - - .end + 79 D1:CC6E - - - - + 80 D1:CC6E - - - - .end diff --git a/includes/PrgmCommands/PRGM.asm b/includes/PrgmCommands/PRGM.asm index 065b607..d770d80 100644 --- a/includes/PrgmCommands/PRGM.asm +++ b/includes/PrgmCommands/PRGM.asm @@ -7,6 +7,6 @@ prgmcmdPRGMf: ld hl, prgmcmdPRGMSprgm call _Mov9ToOP1 - jp prgmasm + jp prgmrun -prgmcmdPRGMSprgm: .db ProgObj, "CHAR", 0 +prgmcmdPRGMSprgm: .db ProgObj, "EASE", 0 diff --git a/includes/lib/prgm/Prgm.asm b/includes/lib/prgm/Prgm.asm index b7929d8..0c6847a 100644 --- a/includes/lib/prgm/Prgm.asm +++ b/includes/lib/prgm/Prgm.asm @@ -1,8 +1,6 @@ #define prgmmovsize prgmmov_end - prgmmov_start -prgmbasic: - -prgmasm: +prgmrun: call _HomeUp call _RunIndicOn call _APDSetup @@ -31,59 +29,86 @@ prgmloader: call _DrawStatusBar ;ld hl,(prgmNamePtr) ;call NamePtrToOP1 - ;bit isBasic,(iy+pgrmStatus) - ;jp nz,RunBasicProgram - ld a, 's' - call _PutC - call prgm_to_usermem; the program is now stored at userMem -- Now we need to check and see what kind of file it is - C or assembly - push hl + call prgm_to_usermem + ld hl, userMem + 1 + ld a, (hl) + cp a,tAsm84CECmp + jr nz,RunBasicProgram ; is it a basic program ld hl, prgmunloader call _PushErrorHandler ld hl, prgmunloader push hl jp userMem ; simply call userMem to execute the program -RunBasicProgram: +runBasicProgram: call _RunIndicOn - call DeleteTempProgramGetName - ;ld hl,(actualSizePrgm) + ;call DeleteTempProgramGetName + ;ld hl,(asm_prgm_size);actualSizePrgm) ;push hl ;call _CreateProg ; create a temp program so we can execute ;inc de ;inc de ;pop bc ;call _ChkBCIs0 - ;jr z,InROM ; there's nothing to copy - ;ld hl,(prgmDataPtr) +; jr z,InROM ; there's nothing to copy +; ld hl,(userMem) ;ldi ;jp po,InROM ;ldir -InROM: call _OP4ToOP1 +InROM: ;call _OP4ToOP1 GoodInRAM: ;ld de,apperr1 ;ld hl,StopError ;ld bc,StopErrorEnd-StopError ;ldir - ;set graphdraw,(iy+graphFlags) - ;ld hl,ErrCatchBASIC - ;call _PushErrorHandler - ;set progExecuting,(iy+newdispf) - ;set allowProgTokens,(iy+newDispF) - ;set cmdExec,(iy+cmdFlags);settheseflagsto execute BASIC prgm - ;res onInterrupt,(iy+onflags) - ;ld hl,ReturnHereBASIC - ;push hl - ;sub a,a - ;ld (kbdGetKy),a + set graphdraw,(iy+graphFlags) + ld hl,prgmerrunloader;ErrCatchBASIC + call _PushErrorHandler + set progExecuting,(iy+newdispf) + set allowProgTokens,(iy+newDispF) + set cmdExec,(iy+cmdFlags) ;settheseflagsto execute BASIC prgm + res onInterrupt,(iy+onflags) + ld hl, prgmunloader + push hl + sub a,a + ld (kbdGetKy),a ei jp _ParseInp ; run program + +ErrCatchBASIC: + call _boot_ClearVRAM + call _DrawStatusBar + call _DispErrorScreen + set textInverse, (iy + textFlags) + ld hl,1 + ld (curRow),hl + ld hl,QuitStr1 + call _PutS + ld hl,QuitStr2 + res textInverse, (iy + textFlags) + call _PutS + call _GetKey + jr +_ + + prgmunloader: - ld hl, prgmFsh + call _PopErrorHandler +_: ld hl, prgmFsh call _Mov9ToOP1 + call _ChkFindSym + call _ChkInRam + ex de,hl + jr z,ExistsInRAM + ld de,9 + add hl,de + ld e,(hl) + add hl,de + inc hl +ExistsInRAM: ; HL->totalPrgmSize bytes call prgm_to_usermem call _RunIndicOff - jp Fin + jp userMem prgm_to_usermem: ld a, 09h ; 'add hl,bc' diff --git a/includes/static/define.inc b/includes/static/define.inc index 663850a..af84804 100644 --- a/includes/static/define.inc +++ b/includes/static/define.inc @@ -25,6 +25,8 @@ FshCmdErrCode equ FshCmdArgFlags + 1 FshCmdOP equ FshCmdErrCode + 1 FshScratch equ FshCmdOP + 2 +prgmDataPtr equ SafeSScreen - 5 + SafeSScreen equ RamVars + FshVarsSize + FshCmdInptSize + FshPrgmSize + 10 .list