Okay... shock... new version.
HLDE has been renamed to DEHL, and ACC32 has been renamed to A32
I've also added the new TEST $XX opcode
And I've added SAVEBIN "filename",start,len
and I've added SAVESNA "filename",PC [,STACK]
'*' as current drive now working properly
swapnib ED 23 A bits 7-4 swap with A bits 3-0
mul ED 30 multiply HL*DE = HLDE (no flags set)
add hl,a ED 31 Add A to HL (no flags set)
add de,a ED 32 Add A to DE (no flags set)
add bc,a ED 33 Add A to BC (no flags set)
add hl,$0000 ED 34 LO HI Add A to HL (no flags set)
add de,$0000 ED 35 LO HI Add A to DE (no flags set)
add bc,$0000 ED 36 LO HI Add A to BC (no flags set)
outinb ED 90 out (c),(hl), hl++
ldix ED A4 As LDI, but if byte==A does not copy
ldirx ED B4 As LDIR, but if byte==A does not copy
lddx ED AC As LDD, but if byte==A does not copy, and DE is incremented
lddrx ED BC As LDDR, but if byte==A does not copy
fillde ED B5 Using A fill from DE for BC bytes
ld hl,sp ED 25 transfer SP to HL
ld acc32,hlde ED 20 transfer HLDE into ACC32
ld hlde,acc32 ED 21 transfer ACC32 into HLDE
ex acc32,hlde ED 22 swap ACC32 with HLDE
inc hlde ED 37 increment 32bit HLDE
dec hlde ED 38 increment 32bit HLDE
add hlde,a ED 39 Add A to 32bit HLDE
add hlde,bc ED 3A Add BC to 32bit HLDE
add hlde,$0000 ED 3B LO HI Add $0000 to 32bit HLDE
sub hlde,a ED 3C Subtract A from 32bit HLDE
sub hlde,bc ED 3D Subtract BC from 32bit HLDE
mirror a ED 24 mirror the bits in A
mirror de ED 26 mirror the bits in DE
push $0000 ED 8A LO HI push 16bit immidiate value
popx ED 8B pop value and disguard
nextreg reg,val ED 91 reg,val Set a NEXT register (like doing out($243b),reg then out($253b),val )
nextreg reg,a ED 92 reg Set a NEXT register using A (like doing out($243b),reg then out($253b),A )
pixeldn ED 93 Move down a line on the ULA screen
pixelad ED 94 using D,E (as Y,X) calculate the ULA screen address and store in HL
setae ED 95 Using the lower 3 bits of E (X coordinate), set the correct bit value in A
test $00 ED 27 And A with $XX and set all flags. A is not affected.