This reverts commit e8eaff3.
Cleaned up debug code. Added speech synthesis for removal of item. Added 'left' after inventory query.
Display update procedures now clear the screen before starting. Added string outputs to serial. Implemented price setting via serial.
Fixed keypad polling in transaction mode. Bugfix: NEAR PTR calls to FAR procedures. Bugfix: Now properly blanks display before showing data. Bugfix: Add amount when change is given. Implemented proper handling for case when amount paid < amount owed.
Made pens cheaper. Fixed indentation in EQU cluster. Added aliases for extra words. Test & LEDs with a loop instead of 6 statements. Clear LEDs when exiting a state. Attempted mutexing of keypad queue. Transaction: Fixed cost of purchase & added total cost speech. Mutex resetting of sound queue within ADD_SOUND_QUEUE. Fix synthesis of '0's within numbers. Fix synthesis of monetary values' Dollar(s) and Cent(s) elements.
Clear DX before starting, as DX:AX is divided by 100. Removed copy from AX to BX. Handle case with 0 cents.
Re-enabled serial receive interrupt & implemented rudimentary procedure. Implemented ADD_SOUND_QUEUE. Re-enabled serial outputs. Moved 2FAR JMP labels around. Update session tally when commiting a chunk. Fixed sound queue bugs, HEAD and TAIL are now reset only by SPEECH_SYNTH. Attempt to clear DAC outputs on clip end.
Push/pop bugfixes in display & sound code. Fixed price retrieval from LUT: DW arrays require 2xIndex. Added sane defaults for price & quantity info.