Have FILL use indirect memory access
This allows SMS xcomp to use ALLOT0 instead of ZFILL,
This commit is contained in:
parent
e5a983ab7f
commit
55a7726f70
@ -13,15 +13,14 @@ SYSVARS 0x73 + CONSTANT CPORT_MEM
|
|||||||
0xdd CONSTANT CPORT_D2
|
0xdd CONSTANT CPORT_D2
|
||||||
SYSVARS 0x74 + CONSTANT PAD_MEM
|
SYSVARS 0x74 + CONSTANT PAD_MEM
|
||||||
5 LOAD ( z80 assembler )
|
5 LOAD ( z80 assembler )
|
||||||
: ZFILL, ( u ) 0 DO 0 C,* LOOP ;
|
|
||||||
262 LOAD ( xcomp )
|
262 LOAD ( xcomp )
|
||||||
524 LOAD ( font compiler )
|
524 LOAD ( font compiler )
|
||||||
165 LOAD ( Sega ROM signer )
|
165 LOAD ( Sega ROM signer )
|
||||||
282 LOAD ( boot.z80.decl )
|
282 LOAD ( boot.z80.decl )
|
||||||
270 LOAD ( xcomp overrides )
|
270 LOAD ( xcomp overrides )
|
||||||
|
|
||||||
DI, 0x100 JP, 0x62 ZFILL, ( 0x66 )
|
DI, 0x100 JP, 0x62 ALLOT0 ( 0x66 )
|
||||||
RETN, 0x98 ZFILL, ( 0x100 )
|
RETN, 0x98 ALLOT0 ( 0x100 )
|
||||||
( All set, carry on! )
|
( All set, carry on! )
|
||||||
CURRENT @ XCURRENT !
|
CURRENT @ XCURRENT !
|
||||||
0x100 BIN( !
|
0x100 BIN( !
|
||||||
|
@ -14,15 +14,14 @@ SYSVARS 0x73 + CONSTANT CPORT_MEM
|
|||||||
0xdd CONSTANT CPORT_D2
|
0xdd CONSTANT CPORT_D2
|
||||||
SYSVARS 0x74 + CONSTANT PS2_MEM
|
SYSVARS 0x74 + CONSTANT PS2_MEM
|
||||||
5 LOAD ( z80 assembler )
|
5 LOAD ( z80 assembler )
|
||||||
: ZFILL, ( u ) 0 DO 0 C,* LOOP ;
|
|
||||||
262 LOAD ( xcomp )
|
262 LOAD ( xcomp )
|
||||||
524 LOAD ( font compiler )
|
524 LOAD ( font compiler )
|
||||||
165 LOAD ( Sega ROM signer )
|
165 LOAD ( Sega ROM signer )
|
||||||
282 LOAD ( boot.z80.decl )
|
282 LOAD ( boot.z80.decl )
|
||||||
270 LOAD ( xcomp overrides )
|
270 LOAD ( xcomp overrides )
|
||||||
|
|
||||||
DI, 0x100 JP, 0x62 ZFILL, ( 0x66 )
|
DI, 0x100 JP, 0x62 ALLOT0 ( 0x66 )
|
||||||
RETN, 0x98 ZFILL, ( 0x100 )
|
RETN, 0x98 ALLOT0 ( 0x100 )
|
||||||
( All set, carry on! )
|
( All set, carry on! )
|
||||||
CURRENT @ XCURRENT !
|
CURRENT @ XCURRENT !
|
||||||
0x100 BIN( !
|
0x100 BIN( !
|
||||||
|
@ -15,15 +15,14 @@ SYSVARS 0x73 + CONSTANT CPORT_MEM
|
|||||||
0xdd CONSTANT CPORT_D2
|
0xdd CONSTANT CPORT_D2
|
||||||
SYSVARS 0x74 + CONSTANT PS2_MEM
|
SYSVARS 0x74 + CONSTANT PS2_MEM
|
||||||
5 LOAD ( z80 assembler )
|
5 LOAD ( z80 assembler )
|
||||||
: ZFILL, ( u ) 0 DO 0 C,* LOOP ;
|
|
||||||
262 LOAD ( xcomp )
|
262 LOAD ( xcomp )
|
||||||
524 LOAD ( font compiler )
|
524 LOAD ( font compiler )
|
||||||
165 LOAD ( Sega ROM signer )
|
165 LOAD ( Sega ROM signer )
|
||||||
282 LOAD ( boot.z80.decl )
|
282 LOAD ( boot.z80.decl )
|
||||||
270 LOAD ( xcomp overrides )
|
270 LOAD ( xcomp overrides )
|
||||||
|
|
||||||
DI, 0x100 JP, 0x62 ZFILL, ( 0x66 )
|
DI, 0x100 JP, 0x62 ALLOT0 ( 0x66 )
|
||||||
RETN, 0x98 ZFILL, ( 0x100 )
|
RETN, 0x98 ALLOT0 ( 0x100 )
|
||||||
( All set, carry on! )
|
( All set, carry on! )
|
||||||
CURRENT @ XCURRENT !
|
CURRENT @ XCURRENT !
|
||||||
0x100 BIN( !
|
0x100 BIN( !
|
||||||
|
@ -15,15 +15,14 @@ SYSVARS 0x73 + CONSTANT CPORT_MEM
|
|||||||
0xdd CONSTANT CPORT_D2
|
0xdd CONSTANT CPORT_D2
|
||||||
SYSVARS 0x74 + CONSTANT PS2_MEM
|
SYSVARS 0x74 + CONSTANT PS2_MEM
|
||||||
5 LOAD ( z80 assembler )
|
5 LOAD ( z80 assembler )
|
||||||
: ZFILL, ( u ) 0 DO 0 C,* LOOP ;
|
|
||||||
262 LOAD ( xcomp )
|
262 LOAD ( xcomp )
|
||||||
523 LOAD ( font compiler )
|
523 LOAD ( font compiler )
|
||||||
165 LOAD ( Sega ROM signer )
|
165 LOAD ( Sega ROM signer )
|
||||||
282 LOAD ( boot.z80.decl )
|
282 LOAD ( boot.z80.decl )
|
||||||
270 LOAD ( xcomp overrides )
|
270 LOAD ( xcomp overrides )
|
||||||
|
|
||||||
DI, 0x100 JP, 0x62 ZFILL, ( 0x66 )
|
DI, 0x100 JP, 0x62 ALLOT0 ( 0x66 )
|
||||||
RETN, 0x98 ZFILL, ( 0x100 )
|
RETN, 0x98 ALLOT0 ( 0x100 )
|
||||||
( All set, carry on! )
|
( All set, carry on! )
|
||||||
CURRENT @ XCURRENT !
|
CURRENT @ XCURRENT !
|
||||||
0x100 BIN( !
|
0x100 BIN( !
|
||||||
|
9
blk.fs
9
blk.fs
@ -1741,14 +1741,13 @@ with "390 LOAD"
|
|||||||
: / /MOD NIP ;
|
: / /MOD NIP ;
|
||||||
: MOD /MOD DROP ;
|
: MOD /MOD DROP ;
|
||||||
: ALLOT HERE +! ;
|
: ALLOT HERE +! ;
|
||||||
: FILL ( a n b -- )
|
|
||||||
SWAP 2 PICK + ( a b a+n ) ROT ( b a+n a ) DO ( b )
|
|
||||||
DUP I C!
|
|
||||||
LOOP DROP ;
|
|
||||||
: ALLOT0 ( n -- ) H@ OVER 0 FILL ALLOT ;
|
|
||||||
SYSVARS 0x3e + :** C@*
|
SYSVARS 0x3e + :** C@*
|
||||||
SYSVARS 0x40 + :** C!*
|
SYSVARS 0x40 + :** C!*
|
||||||
SYSVARS 0x42 + :** C,*
|
SYSVARS 0x42 + :** C,*
|
||||||
|
: FILL ( a n b -- )
|
||||||
|
ROT> OVER ( b a n a ) + SWAP ( b a+n a ) DO ( b )
|
||||||
|
DUP I C!* LOOP DROP ;
|
||||||
|
: ALLOT0 ( n -- ) H@ OVER 0 FILL ALLOT ;
|
||||||
( ----- 356 )
|
( ----- 356 )
|
||||||
SYSVARS 0x53 + :** EMIT
|
SYSVARS 0x53 + :** EMIT
|
||||||
: STYPE C@+ ( a len ) 0 DO C@+ EMIT LOOP DROP ;
|
: STYPE C@+ ( a len ) 0 DO C@+ EMIT LOOP DROP ;
|
||||||
|
Loading…
Reference in New Issue
Block a user