mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-28 11:18:06 +11:00
c8be290b88
I do this by adding an inverted version of all glyphs in the upper range of the pattern memory. This is a big waste of the pattern space (only one inverted character is needed at once), but it's the simplest way to proceed. I'll change this if I ever need more pattern space. Also, remove _blank. It was wastefully blanking the whole memory. Only the name table needs to be blanked on initialization.
45 lines
1.2 KiB
Forth
45 lines
1.2 KiB
Forth
( xcomp using the Text Mode if the VDP. Only works on actual
|
|
SMS. The Megadrive's VDP doesn't have TMS9918 modes in it. )
|
|
( 8K of onboard RAM )
|
|
0xdd00 CONSTANT RS_ADDR
|
|
( Memory register at the end of RAM. Must not overwrite )
|
|
0xddca CONSTANT PS_ADDR
|
|
RS_ADDR 0x80 - CONSTANT SYSVARS
|
|
0xc000 CONSTANT HERESTART
|
|
0xbf CONSTANT TMS_CTLPORT
|
|
0xbe CONSTANT TMS_DATAPORT
|
|
SYSVARS 0x70 + CONSTANT GRID_MEM
|
|
SYSVARS 0x73 + CONSTANT CPORT_MEM
|
|
0x3f CONSTANT CPORT_CTL
|
|
0xdc CONSTANT CPORT_D1
|
|
0xdd CONSTANT CPORT_D2
|
|
SYSVARS 0x74 + CONSTANT PS2_MEM
|
|
5 LOAD ( z80 assembler )
|
|
: ZFILL, ( u ) 0 DO 0 A, LOOP ;
|
|
262 LOAD ( xcomp )
|
|
523 LOAD ( font compiler )
|
|
282 LOAD ( boot.z80.decl )
|
|
270 LOAD ( xcomp overrides )
|
|
|
|
DI, 0x100 JP, 0x62 ZFILL, ( 0x66 )
|
|
RETN, 0x98 ZFILL, ( 0x100 )
|
|
( All set, carry on! )
|
|
CURRENT @ XCURRENT !
|
|
0x100 BIN( !
|
|
283 335 LOADR ( boot.z80 )
|
|
353 LOAD ( xcomp core low )
|
|
CREATE ~FNT CPFNT5x7
|
|
470 472 LOADR ( TMS9918 )
|
|
402 404 LOADR ( Grid )
|
|
625 626 LOADR ( SMS ports )
|
|
620 LOAD ( PAD ) : (ps2kc) (ps2kcA) ; 411 414 LOADR
|
|
622 LOAD ( SPI )
|
|
1 CONSTANT SDC_DEVID 423 436 LOADR ( SDC )
|
|
390 LOAD ( xcomp core high )
|
|
(entry) _
|
|
( Update LATEST )
|
|
PC ORG @ 8 + !
|
|
," TMS$ GRID$ PS2$ BLK$ ' SDC@ BLK@* ! (im1) " EOT,
|
|
ORG @ 0x100 - 256 /MOD 2 PC! 2 PC!
|
|
H@ 256 /MOD 2 PC! 2 PC!
|