X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=ROM2%2Fmain_basic.c;h=a63c8583679f496cb604408a1de063ab8ccc283e;hb=553a00f8973a9009bc1f409b1e0d0d6424e8c873;hp=3896b3e8d4777d0194f547c3d615ecba5c7c41fd;hpb=2e98bf59fc918f4e3d0dcfda51b381c8ef853746;p=uccvend-snackrom.git diff --git a/ROM2/main_basic.c b/ROM2/main_basic.c index 3896b3e..a63c858 100644 --- a/ROM2/main_basic.c +++ b/ROM2/main_basic.c @@ -4,7 +4,7 @@ * and snacks. */ -#define VERSION_STRING "V 20040624" +#define VERSION_STRING "X 20040625" #include "display_basic.h" #include "keypad.h" @@ -82,10 +82,11 @@ void dispense_something() { send_string("102 Vend all motors starting." CRLF); for (motor[0] = '0'; motor[0] <= '9'; motor[0]++) { for (motor[1] = '0'; motor[1] <= '9'; motor[1]++) { + if (motor[1] == '5') continue; /* there is now row 5 */ send_string("101 Vending "); send_string(motor); send_string(CRLF); - motor_reply(dispense_motor(motor[0]*10+motor[1])); + motor_reply(dispense_motor((motor[0]-'0')*10+(motor[1]-'0'))); } } send_string("102 Vend all motors complete." CRLF); @@ -235,7 +236,7 @@ void do_silence() { send_string("511 Unknown silence duration." CRLF); return; } - send_string("500 Silence started." CRLF); + send_string("501 Silence started." CRLF); return; } @@ -416,7 +417,7 @@ void help() { " ECHO {ON|OFF} turn echo on or off" CRLF " GETROM download the ROM source code using xmodem" CRLF " H[...] this help screen" CRLF - "*JUMPxxxx jumps to a subroute at location xxxx" CRLF + "*JUMPxxxx jumps to a subroutine at location xxxx" CRLF "*PEEKxxxx returns the value of the byte at location xxxx" CRLF "*POKExxxxyy sets the value of location xxxx to yy" CRLF " PING pongs" CRLF @@ -424,6 +425,7 @@ void help() { "+Vnn vend an item" CRLF "+VALL vend all items" CRLF "*Wxxxxxxxxxxxx set a new password for authenticated vends. xxx=16 chars" CRLF + " password will be converted to uppercase" CRLF "" CRLF "Very few functions are available when the machine is in standalone " CRLF "mode (DIP SW 1 is set)" CRLF @@ -441,12 +443,16 @@ void getrom() { return; } char s[4]; + + u16 rom_addr; + rom_addr = (u16)(&_rom_src_data); + send_string("Writing to serial port (maybe). Size is 0x"); send_string(u82hex(_rom_src_len >> 8)); send_string(u82hex(_rom_src_len & 0xff)); send_string("@0x"); - send_string(u82hex((u16)(&_rom_src_data) >> 8)); - send_string(u82hex((u16)(&_rom_src_data) & 0xff)); + send_string(u82hex(rom_addr >> 8)); + send_string(u82hex(rom_addr & 0xff)); send_string(" with signature "); s[0] = _rom_src_data[0]; s[1] = _rom_src_data[1]; @@ -538,8 +544,6 @@ int main() { send_string("5N4X0RZ R US" CRLF); - mic_challenge = 0; - last_standalone = is_standalone(); if (last_standalone) cur_motor[0] = 0xff; @@ -583,6 +587,7 @@ int main() { } if (sci_have_packet) { + send_string(CRLF); switch (sci_rx_buf[0]) { case '\0': case '#':