i’ve been on vacation and busy with some other things, so i didn’t have a chance to work on the 8-bit project for a couple of weeks. but the last two weekends i’ve been working on the XMIT command, and finally finished it up. as usual, there were a couple of stupid little bugs in the assembler that i didn’t catch. one was properly loading up the X register with the number of full pages to transmit, and the other was not having copied the data location information into the alternate location for use as a counter.
coding XMIT actually wasn’t all that difficult – i just started by copying the code for RECV and switching the sense from receiving to transmitting. i also needed to update my PC-side utility to allow it to receive as well as transmit data.
the form of the command is
where ‘a$’ and ‘l$’ represent the starting address and length of the data to be sent, respectively. both arguments are required, and the order must be as shown – because i’m taking a shortcut and ignoring the letters and assuming that the arguments are in this order. i also skip the $s and assume that the value is in hex – decimal simply isn’t allowed. i justify this because a) it works and b) i do intend, if i ever manage to complete this project and get it running on my own hardware design, to at that point go back and flesh out the firmware to provide a better user experience.
the format of the transmitted data is identical to that for the RECV command.
with XMIT and RECV now both working, i think the next step is to go back to the hardware side and integrate the serial hardware onto my breadboard, bypassing the SSC.