I've spent a bit of time untangling the arbitrary programme HEX loading story,
and have assembled a bit of "how to" mainly so I don't forget what to do.
WRKSPC .EQU 8120H ; <<<< BASIC Work space origin
USR .EQU WRKSPC+3H ; "USR (x)" jumppoke &h8124, &h00
poke &h8215, 0h30--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/32692d96-9f17-4d81-810f-f762ce5db732%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I had a little bit of time earlier today and gave this a quick test. It works great :-)
Also, just a quick tip, instead of have to poke 2 values in, I usedDOKE &h8124, &hA000(My code was located at 0xA000 - but it's a little bit more readable this way)
I had a little bit of time earlier today and gave this a quick test. It works great :-)Good to hear it is useful for you.
Hi Philip,
Many thanks for this, it's great and will definitely speed up my development process!
One thing I've seen though is selecting cold reset prints a load of garbage to the serial, then pressing the reset button a second time brings you to BASIC correctly. (See attached screenshot)
Have you seen this behaviour? I tried assembling myself and using your hex file, both behaved the same.
thanks,
EdMany thanks for this, it's great and will definitely speed up my development process!
One thing I've seen though is selecting cold reset prints a load of garbage to the serial, then pressing the reset button a second time brings you to BASIC correctly. (See attached screenshot)
Have you seen this behaviour? I tried assembling myself and using your hex file, both behaved the same.
What do you do with the AM9511A? What's the intention?
I made only first steps with this ALU ... unfortunately I don't see all the secrets of this chip.
On average the Am9511A APU (at 1.966MHz) produces a hardware floating point divide in 165.9 cycles (of a 2MHz 8080 processor).Converted to my Am9511A implementation (at 2.304MHz), we have the equivalent in 141.5 cycles of the 2MHz 8080.Converted to best case modern Z180 terms (overclocked to 36.864MHz) this is 2,609 CPU cycles to return a hardware floating point divide.To produce an equivalent software floating point divide, using the LLL floating point library, requires 13,080 cycles.This means that floating point on the 40 year old AM9511A APU is still 5.0 times faster than an overclocked Z180.Sweet!
Z80 VECTOR ADDRESS TABLE
Label Value Label Value Label Value
------------------ ------------------ ------------------
NULL_RET_ADDR 0040 NULL_INT_ADDR 0060 NULL_NMI_ADDR 0062
RST_08_ADDR 8002 RST_10_ADDR 8006 RST_18_ADDR 800A
RST_20_ADDR 800E RST_28_ADDR 8012 RST_30_ADDR 8016
INT_00_ADDR 801A INT_NMI_ADDR 801E