drogon wrote:
Well, right now, it's a dead-end as I don't seem to be able to program the flash. I've tried my own flashing code both in Basic and assembler and even remembered I'd had a brief message from the late Andrew Jacobs (BitWise) and even tried his code on the board (although his was for a different board it's the same flash device), so I've either got the wrong handle on this, or a duff Flash chip - and I don't have an external programmer right now to test it with. There is an LED on the chip-select pin, so I know I'm reading/writing it and I'm sending it the right magic codes to unlock and write, but... nothing.
However it's been a mix of fun and frustrations but using my TinyBasic to test it was fun - being able to call the assembly code from it - I have worked out how to vector and interrupt to a basic subroutine too, should I ever want to (latency would be high compared to asm) and added a new command: old - which Acorn users will recognise - beats the cold/warm start prompt...
-Gordon
Just a follow-up...
I did have better things to do, but decided to spend time on it because it really started to bug me so after some time going through the data sheet, schematic and ROM listing in as much detail as I could, using an external programmer (after spending an hour searching for it) for the Flash device, I have eventually worked out how the damn thing works.
At least programming the Flash EEPROM, anyway.
A combination of many things had thwarted me including lack of a simple document that might have said: If you want to re-program the flash in-situ, you do this, and if you want to program it in a programmer, you do that. (Because oh-no, just putting it in a programmer and writing data into it from address 0 would be too easy - you have to do it another way because, surprise! Address 0 in the flash device is not address $8000 in the 6502 memory map...) and other silly issues like writing to the register that has the 4 on-board LEDs is also the 32K bank select register for the flash EEPROM (which is 128KB arranged as 4 banks of 32KB)
I'll write all this up soon, but now I have to replace (re-write) their somewhat dated ROM monitor with something usable, for no reason other than if I want my own serial routines and more zero page, and to do this, I need to take-over the interrupts, throw away their time of day clock and alarm which I don't need and all the other code in there.
-Gordon
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/