Thanks for the tips so far everyone.
I think I've made some significant process, but I'm still not quite there yet, and I refuse to be beaten!

It has been quite an enjoyable project learning how the older processors used to work.
I was wondering if I could ask for some further advice on a particular section of code please? I'm not entirely sure what it is doing.
Any help or guidance would be great.
I found a particular sub-routine (L0DA5) that seems to validate/lookup the first character of a command string. For example; a command string might be "F12.4HZ". It seems to take the first character, e.g. 'F' and then checks a look-up table to ensure that it exists.
It is clearly a loop routine, counting down from 10 in decimal (A in hex). I believe it adds 3 to the D register on every loop to increase the HL pair.
I believe the HL pair refers to a particular address within the program, starting from 0DFE. Looking at this particular section of code, this seems to back up my understanding of what is going on.
My question is this: If/When it does the look-up, does it take any notice of the op-codes, such as "F
mov b,m" or is it simply ignored?
I'm trying to work out what value is used later on in the program.
L0DA50DA5 L0DA5: ; ##### Validation/Lookup(?) Routine: This is only called from L0C59 when a command is in memory. ####
0DA5 : 0E 0A " " mvi c,00AH ; L0DAD is loop and this initialises it as a countdown from 10.
0DA7 L0DA7:
0DA7 : 21 FE 0D "! " lxi h,00DFEH ; Start of look-up table address?
0DAA : 11 03 00 " " lxi d,00003H
0DAD L0DAD: ; ### Loop - This seems to be validating the first command character. ###
0DAD : BE " " cmp m ; 'F'/46, 'A'/41, 'O'/4F, 'W'/57, 'M'/4D, 'N'/4E, 'Y'/59, 'S'/52, etc.
0DAE : C8 " " rz ; Returns if zero. i.e. the character is a match.
0DAF : 19 " " dad d
0DB0 : 0D " " dcr c ; Decrements the countdown loop from 10 dec / A Hex.
0DB1 : C2 AD 0D " " jnz L0DAD ; If it reaches zero, then we know we have an error. I think.
0DB4 : F6 80 " " ori 080H ; Only reaches here if invalid command.
0DB6 : C9 " " ret
0DFE0DFE : 46 "F" mov b,m
0DFF : 20 " " rim
0E00 : 01 41 21 " A!" lxi b,02141H
0E03 : 01 4F 22 " O"" lxi b,0224FH
0E06 : 01 57 23 " W#" lxi b,02357H
0E09 : 04 " " inr b
0E0A : 4D "M" mov c,l
0E0B : 27 "'" daa
0E0C : 03 " " inx b
0E0D : 4E "N" mov c,m
0E0E : 2C "," inr l
0E0F : 02 " " stax b
0E10 : 59 "Y" mov e,c
0E11 : 30 "0" sim
0E12 : 02 " " stax b
0E13 : 52 "R" mov d,d
0E14 : 2E 00 ". " mvi l,000H
0E16 : 53 "S" mov d,e
0E17 : 2D "-" dcr l
0E18 : 00 " " nop
0E19 : 5A "Z" mov e,d
Thanks for your help.
