apple ][ RAM test Utility v1.4
Debuted at kFest on July 20, 2018 — see session video YouTube

  • This program tests RAM on any apple II looking for stuck bits
    • identifies host as ][, ][+, //e, //c, IIgs, clone
    • looks for 16k Bank Switched RAM (BSR) compliant with a Language Card
    • looks for 64k Auxiliary RAM compliant with Enhanced 80-Column Card
    • looks for RamWorks compliant RAM up to 4 MB
  • It runs on all flavors of apple from ][ on up to IIgs; although, not tested on //c nor clones.
  • It identifies unique instances of BSR, AUX RAM and RamWorks pages
    • by writing and reading back unique byte values
    • that aren't necessarily consecutive
  • It groups all instances of 64k memory into logical segments used by Base memory
    • ¼k - $00..$FF - zero page - used with indirect addressing
    • ¼k - $100..$1FF - stack - used by the 6502 accumulator and program counter
    • ¼k - $200..$2FF - input buffer - used for buffering keyboard input
    • ¼k - $300..$3FF - vector space and small assembly code space
    • 1k - $400..$7FF - Text and LoRes Graphics page 1 (GR)
    • 1k - $800-$BFF - Text and LoRes Graphics page 2 / start of BASIC code
    • 1k - $C00-$FFF - Text and LoRes Graphics page 3 (not visible)
    • 4k - $1000-$1FFF - code space
    • 8k - $2000-$3FFF - High Res Page #1 (HGR)
    • 8k - $4000-$5FFF - High Res Page #2 (HGR2)
    • 8k - $6000-$7FFF - High Res Page #3 (not visible) / code space
    • 4k x 4 - $8000, $9000, $A000, $B000 - code space & DOS 3.3
    • 4k - $C000-$CFFF - soft-switches & peripheral space
    • 12k - $D000-$FFFF - system ROM vs. 16k Bank Switched RAM
  • It is non-destructive
    • When it tests RAM it saves the byte being tested, then restores it
    • When it has to relocate the test engine code into BSR, it saves / restores that memory
  • It has NOT been written to work with interrupts
  • It is NOT setup to test RAM in native IIgs mode - just 8-bit emulation
  • It has help screens
    • pressing the '?' key will bring up general help
    • press-[OpenApple][Key] to get help for that [Key] function
    • on a ][+ press paddle-button-0[Key] get help for that [Key]
  • How the test engine works...
    • It writes then reads a 00 value to test for bits stuck high
    • It writes then reads a FF value to test for bits stuck low
    • Because each bit is on a different DRAM chip on a ][, ][+, //e it doesn't read/write bit patterns
    • The test engine uses indexed addressing when testing zero page
    • The test engine uses indirect, indexed addressing for all other tests
    • The test engine relocates to BSR1 $D900 when testing AUX & RamWorks 48k RAM
    • The test engine relocates to $300 when testing RAM in its own code space
  • As for all the other RAM cards...

You can download the utility from the kfest website, or, from here:


Looking for more apple II utilities?