From c94725152b4bb2e46f94a32d0dbee68f47de343b Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 14 Apr 2021 13:27:22 -0400 Subject: Save 45 bytes --- console.s | 7 ++++++- taipan.c | 50 +++++++++++++++++--------------------------------- 2 files changed, 23 insertions(+), 34 deletions(-) diff --git a/console.s b/console.s index 2793e6a..875dcf3 100644 --- a/console.s +++ b/console.s @@ -2,7 +2,7 @@ .include "atari.inc" .include "conio/mul40.s" - .export _clrtobot, _clrtoeol, _clr_screen, _clrtoline, _cspaces, _cblank, _cblankto, _backspace, _cprint_pipe, _cprint_bang, _cspace, _cputc_s, _comma_space, _cprint_colon_space, _cprint_question_space, _cprint_period, _cprint_taipan_prompt, _plus_or_space, _gotox0y22, _gotox0y3, _gotox0y, _cputc0, _set_orders + .export _clrtobot, _clrtoeol, _clr_screen, _clrtoline, _cspaces, _cblank, _cblankto, _backspace, _cprint_pipe, _cprint_bang, _cspace, _cputc_s, _comma_space, _cprint_colon_space, _cprint_question_space, _cprint_period, _cprint_taipan_prompt, _plus_or_space, _gotox0y22, _gotox0y3, _gotox0y, _gotox0y3_clrtoeol,_cputc0, _set_orders .export _rvs_on, _rvs_off .importzp tmp3 ; ditto @@ -249,6 +249,11 @@ _gotox0y: sta COLCRS rts +; extern void gotox0y3_clrtoeol(void); +_gotox0y3_clrtoeol: + jsr _gotox0y3 + jmp _clrtoeol + ; extern void set_orders(void); ;_set_orders: ; jsr _timed_getch diff --git a/taipan.c b/taipan.c index 3acc81f..174ca39 100644 --- a/taipan.c +++ b/taipan.c @@ -138,6 +138,7 @@ extern void __fastcall__ gotox0y(char y); save us 43 bytes. */ extern void __fastcall__ gotox0y3(void); /* same as gotoxy(0,3) */ extern void __fastcall__ gotox0y22(void); /* same as gotoxy(0,22) */ +extern void __fastcall__ gotox0y3_clrtoeol(void); /* same as gotoxy(0,3); clrtoeol(); */ /* each prints one specific character */ extern void crlf(void); @@ -1125,8 +1126,7 @@ char sea_battle(char id, int num_ships) { set_orders(); if(!orders) { turbo = 0; - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); cprint_taipan_comma(); // cputs("what shall we do??\n(Fight, Run, Throw cargo)"); print_msg(M_what_shall_we_do); @@ -1135,7 +1135,7 @@ char sea_battle(char id, int num_ships) { while(!orders) set_orders(); gotox0y3(); - cblank(80); + cblank(80); /* clears 2 lines */ } } @@ -1146,15 +1146,13 @@ char sea_battle(char id, int num_ships) { ok = 3; ik = 1; - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("Aye, we'll fight 'em"); print_msg(M_aye_fight); cprint_taipan_period(); set_orders(); - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("We're firing on 'em"); print_msg(M_were_firing); cprint_taipan_bang(); @@ -1218,8 +1216,7 @@ char sea_battle(char id, int num_ships) { tjsleep(10); } } - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); if(sk > 0) { // cputs("Sunk "); print_msg(M_sunk); @@ -1243,8 +1240,7 @@ char sea_battle(char id, int num_ships) { num_ships -= ran; fight_stats(num_ships, orders); - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); cprintuint(ran); // cputs(" ran away"); print_msg(M_ran_away); @@ -1271,8 +1267,7 @@ char sea_battle(char id, int num_ships) { set_orders(); } } else if ((orders == 1) && (guns == 0)) { - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("We have no guns"); print_msg(M_we_have_no_guns); cprint_taipan_bangbang(); @@ -1344,8 +1339,7 @@ char sea_battle(char id, int num_ships) { cblank(120); if(total > 0) { - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("Let's hope we lose 'em"); print_msg(M_hope_we_lose_em); cprint_taipan_bang(); @@ -1365,8 +1359,7 @@ char sea_battle(char id, int num_ships) { set_orders(); } else { - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("There's nothing there"); print_msg(M_nothing_there); cprint_taipan_bang(); @@ -1378,8 +1371,7 @@ char sea_battle(char id, int num_ships) { if((orders == 2) || (orders == 3)) { if(orders == 2) { - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("Aye, we'll run"); print_msg(M_aye_run); cprint_taipan_period(); @@ -1387,9 +1379,8 @@ char sea_battle(char id, int num_ships) { } ok += ik++; + gotox0y3_clrtoeol(); if(randi()%ok > randi()%num_ships) { - gotox0y3(); - clrtoeol(); // cputs("We got away from 'em"); print_msg(M_we_got_away); cprint_taipan_bang(); @@ -1400,8 +1391,6 @@ char sea_battle(char id, int num_ships) { timed_getch(); num_ships = 0; } else { - gotox0y3(); - clrtoeol(); // cputs("Couldn't lose 'em."); print_msg(M_couldnt_lose_em); set_orders(); @@ -1412,8 +1401,7 @@ char sea_battle(char id, int num_ships) { num_ships -= lost; fight_stats(num_ships, orders); - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("But we escaped from "); print_msg(M_but_we_escaped); cprintuint(lost); @@ -1441,8 +1429,7 @@ char sea_battle(char id, int num_ships) { } if(num_ships > 0) { - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("They're firing on us"); print_msg(M_theyre_firing); cprint_taipan_bang(); @@ -1453,8 +1440,7 @@ char sea_battle(char id, int num_ships) { fight_stats(num_ships, orders); plus_or_space(num_ships > num_on_screen); - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("We've been hit"); print_msg(M_weve_been_hit); cprint_taipan_bangbang(); @@ -1475,8 +1461,7 @@ char sea_battle(char id, int num_ships) { guns--; hold += 10; fight_stats(num_ships, orders); - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("The buggers hit a gun"); print_msg(M_buggers_hit_gun); cprint_taipan_bangbang(); @@ -1540,8 +1525,7 @@ char sea_battle(char id, int num_ships) { if(orders == 1) { fight_stats(num_ships, orders); - gotox0y3(); - clrtoeol(); + gotox0y3_clrtoeol(); // cputs("We got 'em all"); print_msg(M_we_got_em_all); cprint_taipan_bang(); -- cgit v1.2.3