help
This commit is contained in:
parent
46b083a251
commit
f993fb057f
BIN
bin/FSHa.8xp
BIN
bin/FSHa.8xp
Binary file not shown.
3515
bin/FSHa.lst
3515
bin/FSHa.lst
File diff suppressed because it is too large
Load Diff
|
|
@ -1,35 +1,21 @@
|
||||||
#define prgmloadersize prgmloaderend - prgmloader
|
#define prgmloadersize prgmloaderend - prgmloader
|
||||||
#define prgmunloadersize prgmunloaderend - prgmunloader
|
#define prgmunloadersize prgmunloaderend - prgmunloader
|
||||||
|
#define prgm_to_usermem_size prgm_to_usermem - prgm_to_usermem_end
|
||||||
prgmloaderloc equ SafeSScreen
|
prgmloaderloc equ SafeSScreen
|
||||||
prgmunloaderloc equ SafeSScreen + prgmloadersize
|
prgmunloaderloc equ SafeSScreen + prgmloadersize
|
||||||
|
prgm_to_usermem_loc equ SafeSScreen + prgmloadersize + prgmunloadersize
|
||||||
|
|
||||||
|
|
||||||
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:
|
|
||||||
call prgm_to_usermem
|
|
||||||
ld hl, prgmunloaderloc
|
|
||||||
push hl
|
|
||||||
set appautoscroll,(iy + appflags)
|
|
||||||
jp usermem
|
|
||||||
prgmloaderend:
|
|
||||||
|
|
||||||
prgmunloader:
|
|
||||||
ld hl, fsh
|
|
||||||
ld de, op1
|
|
||||||
call strcpy
|
|
||||||
call prgm_to_usermem
|
|
||||||
call _runindicoff
|
|
||||||
jp Fin
|
|
||||||
prgmunloaderend:
|
|
||||||
|
|
||||||
prgminstallload:
|
prgminstallload:
|
||||||
ld hl, prgmloader
|
ld hl, prgmloader
|
||||||
ld de, prgmloaderloc
|
ld de, prgmloaderloc
|
||||||
|
|
@ -39,9 +25,37 @@ prgminstallload:
|
||||||
ld de, prgmunloaderloc
|
ld de, prgmunloaderloc
|
||||||
ld bc, prgmunloadersize
|
ld bc, prgmunloadersize
|
||||||
ldir
|
ldir
|
||||||
|
ld hl, prgm_to_usermem
|
||||||
|
ld de, prgm_to_usermem_loc
|
||||||
|
ld bc, prgm_to_usermem_size
|
||||||
|
ldir
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
prgmmov_start:
|
||||||
|
|
||||||
|
;.org SafeSScreen
|
||||||
|
|
||||||
|
prgmmov:
|
||||||
|
|
||||||
|
prgmloader:
|
||||||
|
call prgm_to_usermem_loc
|
||||||
|
ld hl, prgmunloaderloc
|
||||||
|
push hl
|
||||||
|
set appAutoScroll,(iy + appflags)
|
||||||
|
jp userMem
|
||||||
|
prgmloaderend:
|
||||||
|
|
||||||
|
prgmunloader:
|
||||||
|
ld hl, Fsh
|
||||||
|
ld de, OP1
|
||||||
|
call strcpy
|
||||||
|
call prgm_to_usermem_loc
|
||||||
|
call _RunIndicOff
|
||||||
|
jp Fin
|
||||||
|
prgmunloaderend:
|
||||||
|
|
||||||
prgm_to_usermem:
|
prgm_to_usermem:
|
||||||
ld a,$9 ; 'add hl,bc'
|
ld a,$9 ; 'add hl,bc'
|
||||||
ld (prgm_to_usermem.smc),a
|
ld (prgm_to_usermem.smc),a
|
||||||
|
|
@ -75,4 +89,9 @@ prgm_to_usermem.in_ram: ; hl -> size bytes
|
||||||
prgm_to_usermem.smc equ $
|
prgm_to_usermem.smc equ $
|
||||||
add hl,bc ; if not in ram smc it so it doesn't execute
|
add hl,bc ; if not in ram smc it so it doesn't execute
|
||||||
ldir ; copy the program to userMem
|
ldir ; copy the program to userMem
|
||||||
ret ; return
|
ret
|
||||||
|
prgm_to_usermem_end:
|
||||||
|
|
||||||
|
prgmmov_end:
|
||||||
|
|
||||||
|
;.org prgmmov_start+prgmmov_end-prgmmov
|
||||||
|
|
|
||||||
|
|
@ -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 RanVars + FshVarsSize + FshCmdInptSize + FshPrgmSize + 10
|
SafeSScreen equ RamVars + FshVarsSize + FshCmdInptSize + FshPrgmSize + 10
|
||||||
|
|
||||||
.list
|
.list
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue