# The Brain Board with Wozanium Pack

#

### The Brain Board

See my firmware board page for information on a prototype version of this board.
The brain board is a firmware board for your Apple II/Apple II plus or Apple IIe computer. The board uses inexpensive and readily available 27c128 or 27c256 PROMs. Because of the denser PROMs used, 6 sockets are replaced with one and the resulting size of the board is reduced to under 3 by 4 inches. The original Apple firmware board was able to replace motherboard ROM functionality with it’s own ROM’s. This allowed an Apple II to have Applesoft in ROM or an Apple II plus to have Integer basic in ROM. A softswitch (flip-flop) is included which allows for switching between the firmware card and motherboard ROMs through software control. The board also includes a little known and seldom used capability that allows multiple firmware cards to coexist in the same system as long as they are in adjacent slots. Firmware cards were normally located in slot 0, but they could be located in any slot.
Later on in time, a 16K ram (language) card was developed that had the same functionality, except the appropriate BASIC was loaded into the language card from disk when DOS was booted. The multiple card support was dropped.
The base design of the Brain Board includes all the capability of the Applesoft/Integer Basic Firmware ROM board that Apple Computer released around 1978 including:

- a switch for enable/disable
- a software controlled switch (soft switch) for changing between motherboard ROMs
- firmware board ROMs jumper for enabling monitor ROM F8 - this was a solder pad jumper in the Apple design
- daisy chain enable functionality via DMA bus connections for multiple card support

In addition, I have added several enhancements in order to maximize usefulness of the board.

- The modified design will allow booting a ROM-less motherboard into DOS, which is not possible with the original firmware board 27C256 PROMs allow support of two complete ROM images on the Brain Board. Images of both Applesoft and Integer BASIC with matching monitors could be installed and used from the single PROM.
- An extra soft switch is used to select whether the high or low half of the PROM is in use. This soft switch can be configured by external switch, through software control or by jumper.
- The Apple II peripheral bus I/O select signal is connected to the lowest 256 bytes of the PROM bank that is currently selected by the bank select flip flop. I/O select is connected to a different address depending upon the slot the board is located in. Slot 0 does not have a I/O select signal, so this feature cannot be used if the Brain Board is installed in slot 0. The starting address for these 256 bytes is computed by multiplying 0x100 by the slot number and adding 0xC000. Thus slot 1 is 0xC100, slot 2 is 0xC200, etc.

### Wozanium Pack

The low bank of the PROM provided with the Brain Board optionally includes a special program that will transform your Apple II into a operating facsimile of an original Apple 1 with 16K of expanded memory. This expanded memory was an authentic modification made to a number of original Apple 1s. If the Brain Board is installed in slot 1, you will also obtain access to an authentic Apple Cassette Interface (ACI) driver located at address C100, just like the original Apple 1. Input and output to your transformed Apple is now limited to the keyboard, video and cassette interfaces, also just like an original Apple 1. Software in PROM is limited to a ported version of the orignal Apple 1 monitor and the latest known version of Apple 1 BASIC (the so called Huston Basic) which is located at the same address in memory (E000) as it would be located at, in an actual Apple 1.
Your transformed Apple will be able to run most original Apple 1 assembly and BASIC programs. Programs must either be keyed in through the monitor or loaded via the ACI (Apple Cassette Interface). No other options are standard, though you could add drivers for serial ports or other expansion cards, if you wished to. More details are provided in the manual.

### Example Wozanium Pack - User Driver

The Wozanium Pack provides a capability for user device drivers for input and output. Applications that directly access the Apple 1 PIA for keyboard input may or may not access the hooks that are used to enable these drivers depending upon how they are implemented. Here is a simple example driver for the Super Serial Board (slot 2 only). This driver should be loaded into locations 6000. 605B using the cassette interface. Once loaded type 6000R to initialize the driver. Here is an AIF encoded version of this driver ready for loading onto your digital music player.
PROCESSOR 6502
LIST ON
ACIASTAT EQU $C0A9
ACIADATA EQU $C0A8
ACIACMD EQU $C0AA
ACIACTRL EQU $C0AB
READVECTOR EQU $BC02
WRITEVECTOR EQU $BC04
RETTOMON EQU $FF1F
ORG $6000
INIT
LDA #$2B ;ODD PARITY, NO ECHO, RTS LOW/W NO INT, IRQ DISABLED, DTR LOW
STA ACIACMD ;
LDA #$3E ;1 STOP BIT, 7 DATA BITS, 9600 BAUD
STA ACIACTRL ;
;SAVE OLD VECTORS
LDA READVECTOR
STA READRET
LDA READVECTOR+1
STA READRET+1
LDA WRITEVECTOR
STA WRITERET
LDA WRITEVECTOR+1
STA WRITERET+1
;OVERWRITE VECTORS WITH NEW FUNCTIONS
LDA #<READ
STA READVECTOR
LDA #>READ
STA READVECTOR+1
LDA #<WRITE
STA WRITEVECTOR
LDA #>WRITE
STA WRITEVECTOR+1
JMP RETTOMON
WRITE:
PHA ;SAVE BYTE TO WRITE
WRITE2:
LDA ACIASTAT ;READ STATUS REGISTER
AND #$10 ;TRANSMIT REGISTER EMPTY?
BEQ WRITE2 ;WAIT FOR EMPTRY
PLA ;CHARACTER TO WRITE
STA ACIADATA ;WRITE IT
; RTS ; RETURN, WITHOUT DISPLAY
JMP (WRITERET) ; RETURN, AND DISPLAY
READ2
JMP (READRET) ;ALLOW KEYBOARD INPUT TO OCCUR
READ
LDA ACIASTAT ;READ STATUS REGISTER
AND #$08 ;READ READISTER FULL
BEQ READ2 ;NO, WAIT FOR CHAR TO ARRIVE
LDA ACIADATA ;FETCH CHARACTER
ORA #$80 ;SET MS BIT - APPLE 1 ASSUMES THIS
READ3
RTS ;RETURN
WRITERET DC.W 1
READRET DC.W 1

### Video Demo of the Wozanium Pack

See the first public demo of the "BRAIN BOARD" on my video podcast #24
http://www.willegal.net/feed.xml

### Follow My Blog Posts Related to the Brain Board/Wozanium Pack

http://www.willegal.net/blog/?cat=14

### Brain Board with Wozanium Pack Assembly and Operations Guide

Click here to download Version 5.3.1 of the manual in PDF format.

### Wozanium Pack Source Code

Build with the 6502 DASM cross assembler.
Use the following command line:dasm a2a1emulv5_1.asm -DBLD4ROMBD=0 -DHUSTNBASIC=0 -oa2a1rbh.o -la2a1rbh.lst
Included in this zip is

- a1basic-universal.asm - Apple 1 BASIC modified to run on Brainboard/Wozanium (note copyright at beginning of this file)
- COPYING.txt - GNU lincense
- a2a1emulv5_1.asm - Wozanium source code
- a2a1emulv5_1.lst - Listing
- a2a1emulv5_1.o - Object file
- a2a1emulv5_1.rom - 12K rom file that can be used with A2 emulators, such as Virtual II.

Click a2a1emulv5_1.zip to download Version 5.1.
Also included in this zip package, is a ROM file suitable for emulators, such as Virtual II. This allows you to run and debug Apple 1 software in the Apple II emulator environment. Just select the .ROM file as the ROM for your machine and reset your virtual machine. Just as in the Brain Board, right arrow will clear the screen. Using the emulated cassette interface built into Virtual II, you can download AIF files of A1 basic and assembly language programs and run them in your emulated Apple II. Note that this ROM version does not include the ACI driver at C100, so you must enter the cassette driver by entering “D000R”, instead.

### Obtaining Your Own Brain Board Kit

I no longer sell Brain Board kits, but you can get your own boards made with the design files that can be downloaded. I will assume no liability for any use of the files. You are on your own. Do be aware of this grounding issue which I never resolved.
download Gerber Files
download Osmond PCB File

Back to Mike's Hobby Home Page