diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | PORTSTAT.DAT | bin | 640 -> 600 bytes | |||
| -rw-r--r-- | mkportstats.c | 2 | ||||
| -rw-r--r-- | portstat.s | 9 | ||||
| -rw-r--r-- | taipan.c | 35 | 
5 files changed, 28 insertions, 20 deletions
@@ -293,7 +293,7 @@ taifont: convfont romfont font  # the H: device enabled, pointed at the current directory, and set  # to writable.  PORTSTAT.DAT: mkportstats.xex -	atari800 -nobasic mkportstats.xex +	atari800 -H1 . -hreadwrite -nobasic mkportstats.xex  	touch portstat.s  # Host tool that builds our custom font from the data ripped out of diff --git a/PORTSTAT.DAT b/PORTSTAT.DAT Binary files differindex 0af616c..10c9f4a 100644 --- a/PORTSTAT.DAT +++ b/PORTSTAT.DAT diff --git a/mkportstats.c b/mkportstats.c index 0d4d374..d4358cc 100644 --- a/mkportstats.c +++ b/mkportstats.c @@ -48,7 +48,7 @@ int main(void) {  	char *screenmem = PEEK(88)+256*PEEK(89);  	FILE *f = fopen("H:PORTSTAT.DAT", "wb");  	port_stats(); -	fwrite(screenmem, 40, 16, f); +	fwrite(screenmem + 40, 40, 15, f);  	fclose(f);  	cgetc();  	return 0; @@ -29,17 +29,22 @@ partial = <screenlen  ; compared to using memcpy().  ; void redraw_port_stat(void);  _redraw_port_stat: - lda _port_stat_dirty - beq @done + ;lda _port_stat_dirty + ;beq @done   lda #<_port_stat_screen   sta srcptr   lda #>_port_stat_screen   sta srcptr+1 + ; add 40 because PORTSTAT.DAT no longer contains the all-blank + ; first line.   lda SAVMSC + clc + adc #$28   sta dstptr   lda SAVMSC+1 + adc #$00   sta dstptr+1   ; copy screenpages pages @@ -1677,24 +1677,27 @@ unsigned int warehouse_in_use() {  void port_stats(void) {  	int i, in_use, status = get_ship_status(); -	if(port_stat_dirty) bank_dirty = 1; - -	/* all the static text that used to be in port_stats() has -		been moved to mkportstats.c, which creates a .xex file which -		will get prepended to taipan.xex and loaded into a chunk of memory -		cc65 won't use. When it's time to print it, it'll get copied -		into *SAVMSC. */ -	redraw_port_stat(); +	if(port_stat_dirty) { +		bank_dirty = 1; + +		/* all the static text that used to be in port_stats() has +			been moved to mkportstats.c, which creates a .xex file which +			will get prepended to taipan.xex and loaded into a chunk of memory +			cc65 won't use. When it's time to print it, it'll get copied +			into *SAVMSC. */ +		redraw_port_stat(); + +		gotoxy(0, 0); +		cspaces(firmpos); +		// cputs("Firm: "); +		cprint_firm_colon(); +		cputs(firm); +		comma_space(); +		// cputs(location[1]); +		print_msg(M_hong_kong); +	}  	/* dynamic stuff: */ -	gotoxy(firmpos, 0); -	// cputs("Firm: "); -	cprint_firm_colon(); -	cputs(firm); -	comma_space(); -	// cputs(location[1]); -	print_msg(M_hong_kong); -  	gotoxy(21, 4);  	in_use = warehouse_in_use();  	cprintuint(in_use);  | 
