~rabbits/dexe

04fd3938c89e50b5d520fe944f13ad61ea0e8f6d — neauoire 10 months ago 48ba65a
Wider view
2 files changed, 20 insertions(+), 16 deletions(-)

M src/assets.tal
M src/dexe.tal
M src/assets.tal => src/assets.tal +5 -3
@@ 14,10 14,12 @@
	387c fefe fe7c 3800
@touch-table
	0000 0101 0202 0203
	0303 0404 0505 0606
	0607 0707 0000 0000
	0303 0404 0505 0506
	0607 0707 0808 0909
	090a 0a0b 0b0b 0c0c
	0d0d 0d0e 0e0f 0f0f
@dash-icn
	5500 0000 0000 0000
	aa00 0000 0000 0000

@font ( msx816 )
	0000 0000 0000 0000 0000 0000 0000 0000

M src/dexe.tal => src/dexe.tal +15 -13
@@ 45,19 45,19 @@
	;untrap JSR2

	( set size )
	#0150 .Screen/width DEO2
	#0230 .Screen/width DEO2
	#0188 .Screen/height DEO2

	( frame )
	#0010 DUP2 .frame/x STZ2
		#0130 ADD2 .frame/x2 STZ2
		.Screen/width DEI2 SWP2 SUB2 .frame/x2 STZ2
	#0024 .frame/y STZ2
		.Screen/height DEI2 #0008 SUB2 .frame/y2 STZ2
	.Screen/height DEI2 #0020 SUB2 #0028 SUB2 #04 SFT2 .frame/rows STZ2

	( byte frame )
	.frame/x LDZ2
		DUP2 .byte-frame/x STZ2 #0098 ADD2 .byte-frame/x2 STZ2
		DUP2 .byte-frame/x STZ2 #0138 ADD2 .byte-frame/x2 STZ2
	.frame/y LDZ2 .byte-frame/y STZ2
	.frame/y2 LDZ2 #0020 SUB2 .byte-frame/y2 STZ2



@@ 67,16 67,18 @@
	.byte-frame/y LDZ2 .tile-frame/y STZ2
	.byte-frame/y2 LDZ2 .tile-frame/y2 STZ2

	( char frame )
	.tile-frame/x2 LDZ2 #0040 ADD2
		DUP2 .char-frame/x STZ2 #003f ADD2 .char-frame/x2 STZ2
	.byte-frame/y LDZ2 .char-frame/y STZ2
	.byte-frame/y2 LDZ2 .char-frame/y2 STZ2
	( disassembly frame )
	.tile-frame/x2 LDZ2 #0008 ADD2
		DUP2 .asm-frame/x STZ2 #002f ADD2 .asm-frame/x2 STZ2
	.byte-frame/y LDZ2 .asm-frame/y STZ2
	.byte-frame/y2 LDZ2 .asm-frame/y2 STZ2

	( char frame )
	.asm-frame/x2 LDZ2 #0008 ADD2
		DUP2 .char-frame/x STZ2 #003f ADD2 .char-frame/x2 STZ2
	.byte-frame/y LDZ2 .char-frame/y STZ2
	.byte-frame/y2 LDZ2 .char-frame/y2 STZ2

	( menu frame )
	.frame/x LDZ2
		.options-frame/x STZ2 .frame/x2 LDZ2 .options-frame/x2 STZ2


@@ 283,7 285,7 @@ BRK
@on-touch-byte ( x* y* -> )

	( stash addr* )
	.byte-frame/y LDZ2 SUB2 #34 SFT2 NIP STH
	.byte-frame/y LDZ2 SUB2 #44 SFT2 NIP STH
	.byte-frame/x LDZ2 SUB2 #03 SFT2 ;touch-table ADD2 LDA STHr ADD
	#00 SWP .selection/key LDZ2 ADD2
	STH2


@@ 596,7 598,7 @@ JMP2r

	.frame/rows LDZ2 #0000
	&loop
		( addr ) DUP2 #30 SFT2 .selection/key LDZ2 ADD2 STH2
		( addr ) DUP2 #40 SFT2 .selection/key LDZ2 ADD2 STH2
		( y ) DUP2 #40 SFT2 .byte-frame/y LDZ2 ADD2
		STH2r ,draw-row JSR
		INC2 GTH2k ,&loop JCN


@@ 613,7 615,7 @@ JMP2
	.frame/x LDZ2 .Screen/x DEO2
	;&y LDA2 .Screen/y DEO2

	#0800
	#1000
	&bytes-loop
		( color ) #00 OVR ;&row LDA2 ADD2 ;get-byte-color JSR2 STH
		( byte ) #00 OVR ;&row LDA2 ADD2 LDA


@@ 627,11 629,11 @@ JMP2

	.char-frame/x LDZ2 .Screen/x DEO2

	#0800
	#1000
	&chars-loop
		( color ) #00 OVR ;&row LDA2 ADD2 ;get-byte-color JSR2 STH
		( byte ) #00 OVR ;&row LDA2 ADD2 LDA
		( dot invalids ) LIT ". OVR DUP #1f GTH SWP #7e [ LTH AND JMP SWP POP ]
		( dot invalids ) LIT ". OVR DUP #1f GTH SWP #7e LTH AND JMP [ SWP POP ]
			STHr ;draw-char JSR2
		INC GTHk ,&chars-loop JCN
	POP2