i no work
This commit is contained in:
parent
c55af400e4
commit
46b083a251
2
FSHa.asm
2
FSHa.asm
|
|
@ -15,6 +15,8 @@ Setup:
|
||||||
|
|
||||||
CALL fshvarreset
|
CALL fshvarreset
|
||||||
|
|
||||||
|
call prgminstallload
|
||||||
|
|
||||||
CALL drawstatusbar
|
CALL drawstatusbar
|
||||||
|
|
||||||
CALL printmotd
|
CALL printmotd
|
||||||
|
|
|
||||||
BIN
bin/FSHa.8xp
BIN
bin/FSHa.8xp
Binary file not shown.
7618
bin/FSHa.lst
7618
bin/FSHa.lst
File diff suppressed because it is too large
Load Diff
|
|
@ -19,6 +19,7 @@ commanddecode:
|
||||||
|
|
||||||
call fshcmddecode
|
call fshcmddecode
|
||||||
call cryptocmddecode
|
call cryptocmddecode
|
||||||
|
call prgmcmddecode
|
||||||
;Extention Point
|
;Extention Point
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
@ -36,6 +37,7 @@ commandroute:
|
||||||
|
|
||||||
call fshcmdroute
|
call fshcmdroute
|
||||||
call cryptocmdroute
|
call cryptocmdroute
|
||||||
|
call prgmcmdroute
|
||||||
;Extention Point
|
;Extention Point
|
||||||
|
|
||||||
ld hl, ErrCmdNotFoundo
|
ld hl, ErrCmdNotFoundo
|
||||||
|
|
@ -46,3 +48,4 @@ commandroute:
|
||||||
|
|
||||||
#include "includes/FshCommands/FshCommand.asm"
|
#include "includes/FshCommands/FshCommand.asm"
|
||||||
#include "includes/CryptoCommands/CryptoCommand.asm"
|
#include "includes/CryptoCommands/CryptoCommand.asm"
|
||||||
|
#include "includes/PrgmCommands/PrgmCommand.asm"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
prgmcmdPRGM: .db "PRGM", 0
|
||||||
|
prgmcmdPRGMo: .dw $0100
|
||||||
|
prgmcmdPRGMm: .db "help", 0
|
||||||
|
prgmcmdPRGMu: .db "PRGM", 0
|
||||||
|
prgmcmdPRGMf:
|
||||||
|
|
||||||
|
ld hl, prgmcmdPRGMSprgm
|
||||||
|
ld de, OP1
|
||||||
|
call strcpy
|
||||||
|
|
||||||
|
call prgmasm
|
||||||
|
|
||||||
|
prgmcmdPRGMSprgm: .db "NOS1", 0
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
prgmcmddecode:
|
||||||
|
decodecmdopt(prgmcmdPRGM, prgmcmdPRGMo)
|
||||||
|
ret
|
||||||
|
|
||||||
|
prgmcmdroute:
|
||||||
|
pop bc
|
||||||
|
routeoptjp(prgmcmdPRGMo, prgmcmdPRGMf)
|
||||||
|
push bc
|
||||||
|
ret
|
||||||
|
|
||||||
|
prgmcmdmanroute:
|
||||||
|
pop bc
|
||||||
|
routestrjp(prgmcmdPRGM, prgmcmdPRGMm)
|
||||||
|
push bc
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
prgmcmdmanrouteu:
|
||||||
|
pop bc
|
||||||
|
routeustrjp(prgmcmdPRGM, prgmcmdPRGMu)
|
||||||
|
push bc
|
||||||
|
ret
|
||||||
|
|
||||||
|
#include "includes/PrgmCommands/PrgmCommands.inc"
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
#include "includes/PrgmCommands/PRGM.asm"
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
;STRINGS -------------------------
|
;STRINGS -------------------------
|
||||||
|
Fsh: .db "FSHA", 0
|
||||||
FshName: .db "Fsh SHell", 0
|
FshName: .db "Fsh SHell", 0
|
||||||
FshBy: .db "By pixiys", 0
|
FshBy: .db "By pixiys", 0
|
||||||
FshSite: .db "stephenltoth.com/fsh-shell", 0
|
FshSite: .db "stephenltoth.com/fsh-shell", 0
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,78 @@
|
||||||
|
#define prgmloadersize prgmloaderend - prgmloader
|
||||||
|
#define prgmunloadersize prgmunloaderend - prgmunloader
|
||||||
|
prgmloaderloc equ SafeSScreen
|
||||||
|
prgmunloaderloc equ SafeSScreen + prgmloadersize
|
||||||
|
|
||||||
prgmbasic:
|
prgmbasic:
|
||||||
|
|
||||||
prgmasm:
|
prgmasm:
|
||||||
call _ClrTxtShdw
|
call _clrtxtshdw
|
||||||
call _HomeUp
|
call _homeup
|
||||||
call _RunIndicOn
|
call _runindicon
|
||||||
call _APDSetup
|
call _apdsetup
|
||||||
call _EnableAPD
|
call _enableapd
|
||||||
;jp prgmloaderloc
|
jp prgmloaderloc
|
||||||
|
|
||||||
prgmloader:
|
prgmloader:
|
||||||
;load prgm to userMem
|
call prgm_to_usermem
|
||||||
;ld hl, prgmunloaderloc
|
ld hl, prgmunloaderloc
|
||||||
;push hl
|
push hl
|
||||||
set appAutoScroll,(iy + appflags)
|
set appautoscroll,(iy + appflags)
|
||||||
jp userMem
|
jp usermem
|
||||||
prgmloaderend:
|
prgmloaderend:
|
||||||
#define prgmloadersize prgmloaderend - prgmloader
|
|
||||||
|
|
||||||
prgmunloader:
|
prgmunloader:
|
||||||
;ld FSHA to userMem
|
ld hl, fsh
|
||||||
call _RunIndicOff
|
ld de, op1
|
||||||
|
call strcpy
|
||||||
|
call prgm_to_usermem
|
||||||
|
call _runindicoff
|
||||||
jp Fin
|
jp Fin
|
||||||
prgmunloaderend:
|
prgmunloaderend:
|
||||||
#define prgmunloadersize prgmunloaderend - prgmunloader
|
|
||||||
|
|
||||||
|
|
||||||
prgminstallload:
|
prgminstallload:
|
||||||
|
ld hl, prgmloader
|
||||||
|
ld de, prgmloaderloc
|
||||||
|
ld bc, prgmloadersize
|
||||||
|
ldir
|
||||||
|
ld hl, prgmunloader
|
||||||
|
ld de, prgmunloaderloc
|
||||||
|
ld bc, prgmunloadersize
|
||||||
|
ldir
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
prgm_to_usermem:
|
||||||
|
ld a,$9 ; 'add hl,bc'
|
||||||
|
ld (prgm_to_usermem.smc),a
|
||||||
|
call _ChkFindSym
|
||||||
|
call _ChkInRam
|
||||||
|
ex de,hl
|
||||||
|
jr z, prgm_to_usermem.in_ram
|
||||||
|
xor a,a
|
||||||
|
ld (prgm_to_usermem.smc),a
|
||||||
|
ld de,9
|
||||||
|
add hl,de
|
||||||
|
ld e,(hl)
|
||||||
|
add hl,de
|
||||||
|
inc hl
|
||||||
|
prgm_to_usermem.in_ram: ; hl -> size bytes
|
||||||
|
call _LoadDEInd_s
|
||||||
|
inc hl
|
||||||
|
inc hl ; bypass tExtTok, tAsm84CECmp
|
||||||
|
push hl
|
||||||
|
push de
|
||||||
|
ex de,hl
|
||||||
|
call _ErrNotEnoughMem ; check and see if we have enough memory
|
||||||
|
pop hl
|
||||||
|
ld (asm_prgm_size),hl ; store the size of the program
|
||||||
|
ld de,userMem
|
||||||
|
push de
|
||||||
|
call _InsertMem ; insert memory into usermem
|
||||||
|
pop de
|
||||||
|
pop hl ; hl -> start of program
|
||||||
|
ld bc,(asm_prgm_size) ; load size of current program
|
||||||
|
prgm_to_usermem.smc equ $
|
||||||
|
add hl,bc ; if not in ram smc it so it doesn't execute
|
||||||
|
ldir ; copy the program to userMem
|
||||||
|
ret ; return
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,6 @@ FshCmdErrCode equ FshCmdArgFlags + 1
|
||||||
FshCmdOP equ FshCmdErrCode + 1
|
FshCmdOP equ FshCmdErrCode + 1
|
||||||
FshScratch equ FshCmdOP + 2
|
FshScratch equ FshCmdOP + 2
|
||||||
|
|
||||||
SafeSScreen equ FshVarsSize + FshCmdInptSize + FshPrgmSize + 10
|
SafeSScreen equ RanVars + FshVarsSize + FshCmdInptSize + FshPrgmSize + 10
|
||||||
|
|
||||||
.list
|
.list
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue