Articles

FE3 Inspector

FE3 INSPECTOR is a memory browser/manipulator for the Final Expansion 3 (FE3). The Final Expansion 3 is a cartridge with 512KB RAM and FLASH ROM on board. With Finspector you can do the following:

  • browse FE3 memory (both RAM and FLASH ROM)
  • switch/cycle through all possible FE3 memory modes
  • edit / overwrite RAM and FLASH memory (both in char and hex mode)
  • erase/reset the entire FLASH chip (512KB)
  • erase/reset one of the 8 FLASH chip sectors (64KB each)

FE3 has two memory modes: banked and block modes. Cycle though both types of modes with keys 'n' and 'm'. In banked mode the normal 'character' layout looks like this:

Top right is the selected memory mode. Top left is the current VIC memory location. This maps to the memory address on the FE3 below right. Below left are the raw contents of the two FE3 registers $9c02/$9c03. 'Hide': displays the visibility for BLK0/1/2/3/5.

In block mode the address location is replaced by the current memory page. Also the selected modes for BLK0/1/2/3/5 become visible. The behaviour of these BLK modes is different for each block mode.

 This is the same screen in hex mode. 'left arrow' toggles you in or out of edit mode, where you can change individual bytes (in char mode you may type characters).

Caveat with editing flash memory: in  flash memory you can only 'turn bits off'. Erased flash memory is populated with 'FF FF FF FF'. You can change these values to whatever you like, but you can only change them back to FF trough a flash erase cycle. This behavior works on the bit level, so you can for example change '38' to '30', but not the other way around.

 

Flash erase screen. In flash mode you can choose to erase a flash sector of 64kb (there are obviously 8 of them) or the entire chip (512kb). Use keys S or A. This will of course destroy all or parts of your flash contents, so use with care! If you want to toy with this keep a copy of the official firmware on the built-in uIEC drive, so that you can quickly re-install it.

The official firmware is installed on flash memory location $005000-$007FFF which is located in in sector 0. So you can safely erase sector 1-7 without destroying the firmware itself.

FE3 memory modes

#BANK MODES:

FEMOD_ROM       = $40  ;MODE EEPROM (READ EEPROM, WRITE RAM)
FEMOD_ROM_P     = $20  ;MODE FLASH EEPROM (READ EEPROM, WRITE EEPROM)
FEMOD_SRAM      = $A0  ;MODE BIG SRAM (SRAM 512KB, BANK 0 TO 15)

#BLOCK MODES:

FEMOD_RAMROM    = $60   ;MODE RAM/ROM  (READ EEPROM, WRITE RAM)
FEMOD_RAM       = $80   ;MODE SRAM (SRAM 40KB, BANK 0 and BANK 1)
FEMOD_RAM2      = $C0   ;MODE RAM 2 (SRAM 512KB, BANK 0 TO 15)
FEMOD_START     = $00   ;START MODE

(This information is also contained in source file inc/fe3_registers.a.)

Downloads

Download finspector10.zip compiled + source from the file directory (see link on top of this page).

FE3 Inspector needs at least some expanded memory enabled. It will load from $1201 to $1c04 which is within 'standard' VIC-20 memory, so you can't swap it out by mistake. When loaded with the FE3 wedge turned on, the program may be unresponsive and registers are locked on '$9c/9c'. Please press runstop+restore and run again.

Thanks go out to the creators of this excellent device, most of all diddl. I also built on the code of his firmware flasher, and of course needed the documentation on his site vc20final.t-winkler.net/.
Last Updated on Sunday, 02 May 2010 22:56