2020-05-15 08:41:09 +10:00
|
|
|
0xff00 CONSTANT RS_ADDR
|
2020-05-12 11:08:24 +10:00
|
|
|
0xfffa CONSTANT PS_ADDR
|
2021-01-03 06:20:50 +11:00
|
|
|
RS_ADDR 0xa0 - CONSTANT SYSVARS
|
2020-06-29 09:45:28 +10:00
|
|
|
0 CONSTANT HERESTART
|
2020-09-22 07:51:08 +10:00
|
|
|
5 LOAD ( z80 assembler )
|
2020-04-23 11:49:44 +10:00
|
|
|
262 LOAD ( xcomp )
|
2020-06-27 11:41:17 +10:00
|
|
|
282 LOAD ( boot.z80.decl )
|
2020-05-14 03:33:24 +10:00
|
|
|
270 LOAD ( xcomp overrides )
|
2020-06-27 11:41:17 +10:00
|
|
|
283 335 LOADR ( boot.z80 )
|
2020-05-16 12:44:49 +10:00
|
|
|
353 LOAD ( xcomp core low )
|
2020-05-09 11:47:03 +10:00
|
|
|
: (emit) 0 PC! ;
|
Make KEY non-blocking
... and rename it to KEY?. Then, add KEY from KEY? for its blocking
version.
I need this for an upcoming Remote Shell feature. If a Collapse OS
system remotely controls another shell, it needs to be able to poll
both the remote system and the local keyboard at the same time. A
blocking KEY is incompatible with this.
In some places, the polling mechanism doesn't make sense, so this
new KEY? always returns a character. In some places, I just haven't
implemented the mechanism yet, so I kept the old blocking code and
added a "always 1" flag as a temporary shim.
I have probably broken something, but in emulators, Collapse OS runs
fine. It's an important reminder of what will be lost with the new
"dogfooding" approach (see recent mailing list message): without
emulators, it's much harder to to sweeping changes like this without
breaking stuff.
It's fine, I don't expect many more of these core changes to the
system. It's nearly feature-complete.
2021-01-02 00:05:29 +11:00
|
|
|
: (key?) 0 PC@ 1 ;
|
2020-05-15 00:49:24 +10:00
|
|
|
: EFS@
|
2020-06-22 20:29:00 +10:00
|
|
|
1 3 PC! ( read )
|
|
|
|
256 /MOD 3 PC! 3 PC! ( blkid )
|
|
|
|
BLK( 256 /MOD 3 PC! 3 PC! ( dest )
|
2020-05-15 00:49:24 +10:00
|
|
|
;
|
|
|
|
: EFS!
|
2020-06-22 20:29:00 +10:00
|
|
|
2 3 PC! ( write )
|
|
|
|
256 /MOD 3 PC! 3 PC! ( blkid )
|
|
|
|
BLK( 256 /MOD 3 PC! 3 PC! ( dest )
|
2020-05-15 00:49:24 +10:00
|
|
|
;
|
2020-05-24 10:15:28 +10:00
|
|
|
: COLS 80 ; : LINES 32 ;
|
|
|
|
: AT-XY 6 PC! ( y ) 5 PC! ( x ) ;
|
2020-05-15 00:49:24 +10:00
|
|
|
|
2020-10-29 09:06:58 +11:00
|
|
|
390 LOAD ( xcomp core high )
|
2020-04-24 05:14:14 +10:00
|
|
|
(entry) _
|
2020-04-26 12:02:44 +10:00
|
|
|
( Update LATEST )
|
2020-04-28 23:15:17 +10:00
|
|
|
PC ORG @ 8 + !
|
2020-05-15 00:49:24 +10:00
|
|
|
," BLK$ "
|
2020-05-16 01:34:35 +10:00
|
|
|
," ' EFS@ BLK@* ! "
|
|
|
|
," ' EFS! BLK!* ! "
|
|
|
|
EOT,
|
2020-05-06 10:10:04 +10:00
|
|
|
ORG @ 256 /MOD 2 PC! 2 PC!
|
2020-04-24 05:14:14 +10:00
|
|
|
H@ 256 /MOD 2 PC! 2 PC!
|