I’m working on making the menu more useable. It’s starting to take a while to load the program on the Arduino. But it takes 11 seconds just to copy 16k into flash natively. I could turn the flash activate into assembly to speed it up quite a bit.

I have also added a menu item that just lets me run from RAM. It asks for a RAM bank, puts into bank 1, copies 0-3fff to 4000, then puts it into bank 0 restoring the original bank 1.

The separate copy RAM and copy flash are now one menu item that looks at the banks to decide how to copy.

I added GPIO access.

Also, I am in the process of adding a diagnostic system. This will let me set up diagnostic points that will either output data on the SPI bus or modify GPIO pins. I’ll be able to activate and deactivate them. This should help me debug with the scope.

Finally, as can be seen below, I am adding build times for the libraries and application.

 1 Mark Hamann's Z80 Computer
 2 
 3 App Build: 21:04:14 Sep 15 2015
 4 BSP Build: 21:04:13 Sep 15 2015
 5 C Lib Build: 08:14:07 Sep 15 2015
 6 Menu
 7 
 8 1) run from RAM
 9 2) dump mem
10 3) copy block
11 4) erase sectors
12 5) program byte
13 6) write byte
14 7) bank switch
15 8) program intel hex
16 9) set diagnostics
17 10) gpio
18 > 1

And now I have a menu item (not shown above) that lets me swap a flash bank into bank 0 and run from 0. When I do that, I need to hit enter to see the initial menu–so something is still a not quite right, But it’s close….