Skip to content

ELF II SD Card Detailed Assembly Notes

Andrew Wasson edited this page May 6, 2024 · 71 revisions

Assembly Manual

ELF II SD Card Image

Notes

The ELF II SD Card board was designed to “VIP an ELF”, a reference coined in the late 1970’s to describe the process of modifying an ELF type computer to become the equivalent of an RCA VIP computer that runs the VIP software library and uses the Chip8 programming language.

The ELF II SD Card board, VIP Keypad for ELF II and firmware provide a non-permanent, plug and play method to swap keyboards and turn your AVI ELF II into a VIP computer. It includes an SD Card for storing your software library and accurately mimics the VIP computer. It also includes screens for reviewing, loading and running software on the SD Card. In addition, the ELF II SD Card board can be connected to a host computer with a terminal emulator like Teraterm to access and review the software in the SD Card.

In order to VIP your ELF II computer, you will need:

  • An AVI ELF II main board with a CDP1861 "Pixie" Display Chip and at least one 86 pin expansion socket for the ELF II SD Card board.
  • The VIP Keyboard for AVI ELF II and the mezzanine connectors to insert the VIP Keyboard for AVI ELF II board in place of the standard ELF II Hex keypad.

Reference Docs:

SD Card Firmware

Download the SD Card Firmware and burn it to the 27C256 EPROM in position U14.

Gerber files

Download the zipped archive of Gerber Files to produce your ELF II SD Card Expansion Card. You can send this zipped archive to most PC Board Fabricators to have a set of boards created at a reasonable cost.

Bill of Materials (BOM)

Please download the ELF II SD Card Expansion Card Bill of Materials Excel spreadsheet to help you to acquire all of the components for the board. We have included links to all of the components that we were able to source from known electronics parts houses and have included notes for the components that may be difficult to find.

Socket Your IC's

We suggest that all integrated circuits for your ELF II SD expansion card are installed with high quality sockets. We have found that "cheap" turned pin machine sockets have failed us on more than one occasion. If you can't find affordable high quality machine sockets, then we suggest you rely on dual leaf sockets which are rarely known to fail.

Board Assembly

Start Small

The easiest way to build the ELF II SD expansion card is to start small and move up. Begin your build with the smallest components and then start moving up to larger components. The entries below detail the order of component installation we have chosen for ease of construction.

1 - SD Drive Socket

Generally on a PC board build, we would suggest starting with diodes, resistors and capacitors before installing a socket however due to the surface mount nature of the SD Socket and the positioning of components around it, we have chosen to install the SD Card Socket first.

In this example build, I have used non-corrosive solder paste on the PC board pads and used small strips of painter's tape to hold the socket in place for soldering. You will want a very fine tipped soldering iron and small gauge solder; I used 0.5mm diameter solder.

IMG_0643

After ensuring that the alignment was perfect, I soldered the metal tabs at the top of the socket to the board and then soldered the 11 conductors to the pads on the PC board. I used a toothpick to clean up any left over solder paste.

IMG_0646

2 - Diodes

Next up in this build, we installed the 7-1N914 diodes. I bent the leads at 90 degrees with with small needle nose pliers, then inserted the diodes and taped them in place on the top of the board with painter's tape to hold them in place. After soldering them in I removed the tape. Solder the diodes as quickly as possible to avoid overheating and damaging them.

Note: If 1N914 diodes are unavailable, for our purposes 1N4148 diodes are a suitable substitute.

IMG_0647

3 - Resistors

After the diodes, resistors are the next smallest components so they are next to be installed. Use the same method you used to install the diodes as you use with the 12 resistors on the board.

Note: There is 1 resistor networks to install on the board but we tend to install resistor networks later during the build after all of the lower profile components have been installed.

IMG_0649

4 - Capacitors

The 19 capacitors that populate the board are the next smallest components after the resistors so they are the next components to install.

The shape of the capacitors make them a little tricky to solder in vertically but with some care and attention they should be reasonably simple to install. Take care not to overheat the capacitors when you install them. It should only take a fraction of a second to solder each end with a good soldering iron and good quality solder.

Note: There are 5 tantalum 1uf capacitors that support the MAX232 chip. In this example build, I chose to install 3 SMD (surface mount) 1uf tantalum capacitors and 2 through-hole 1uf tantalum capacitors. This was just personal preference and there is no performance advantage using SMD over through-hole parts. Install the style of capacitors that you are most comfortable working with.

IMG_0650 2

5 - Resistor Network

Install the resistor network component next (RN1). These resistor networks have a common pin which is often marked on the resistor network with a circle or solid dot. If in doubt, use an ohm meter to assess which pin is the common pin and take care when placing it to make sure that you have them oriented in the correct direction. RN1 has the common pin located on the first pin on the left of the device.

IMG_0691

6 - Status LED’s

Install the 8 LED's for Boot ROM, Status and Communications, taking care to make sure that they are oriented correctly. Typically, the negative lead of the LED is dignified by the flat side of the otherwise rounded lens and the negative lead is generally slightly shorter than the positive lead.

IMG_0693

7 - IC Sockets

We have taken care with the SD Card Expansion Card board to orient all IC's consistently. All IC's are oriented vertically with the notch locating pin #1 up. Please take care to install your IC sockets and IC's accordingly.

IMG_0694

8 - 78L33 3.3V 100MA Voltage Regulator

IMG_0696

9 - Jumper Pin Headers

The jumper pins are made up from Breakaway Male Pins Headers that come in rows of 40 conductors that are easily snapped into headers of however many conductors you need. In this case we are using some that were purchased from Digikey but they are commonly available from most electronic supply houses.

Note: For JP1 (BOOT) and JP2 (SD Card Enable), we are using a micro sized SPDT switches. This allows us to easily switch BOOT on and between SD Card Enable, ALWAYS and BOOT. We purchased these switches from Amazon. They were describes as: "uxcell uxcell55 Pcs 3 Terminals PCB Mount 2 Position SPDT Mini Slide Switch"

IMG_0698

10 - DB9 Serial Plug Connector

The final component is the DB9 Serial port connector. The connector will snap in place and you can then solder the friction connectors on each side of the plug to the board as well as the connections for the 9 pins.

IMG_0699

Final Checkout and Testing

ELF II SD Card Image

Carefully inspect your SD Card board for shorts, solder bridges and cold solder joints and when you are satisfied with your work, install the board on your AVI ELF II computer without any of the integrated circuits or jumpers so that you can ensure that there are no shorts. Turn on your ELF II and check that it is functioning correctly. Check that the LED data displays are operating at normal illumination. Check the LM3905 voltage regulator to insure that it is just slightly warm. Run a demo program to make sure that your ELF II is operating correctly. If all goes well, turn off power to your ELF II computer, remove the SD Card board and populate it with the integrated circuit “chips” taking care to install the chips in their correct orientation.

Using the ELF II SD Card Board

Jumper Settings

In order to run the ELF II SD Card and Firmware, you will need to set jumpers on the AVI ELF II main board as follows:

  • Set J3 to "I61" by placing a shorting jumper on the left and middle pins of J3.
  • Set J9 to "EF1" by placing a shorting jumper on the lower and middle pins of J9.
  • Set J11 to "I69" by placing a shorting jumper on the top and middle pins of J11.

The ELF II SD Card Jumpers should be set as follows:

  • Set JP1 (BOOT) to ON
  • Set JP2 (SD CARD ENABLE) to ALWAYS
  • Set JP4/JP5 to COM1 RS232 by placing a shorting jumper vertically on JP4 and placing a shorting jumper vertically on JP5

Note: If you’ve inserted the tiny slide switches in place of J1 and J2 on the ELF II SD Card board you can toggle the switches to BOOT [ON] and SD CARD ENABLE [ALWAYS].

The VIP Keyboard for AVI ELF II jumpers should be set to use EF3 for the VIP style keyboard.

Compatible SD Card Types

For consistency, we have designed the firmware for the ELF II SD Card to work with a narrow group of cards that we know work well. The cards that will work with the ELF II SD Card board are Type C2 SD Cards that do not exceed 2GB. Your SD Card must be formatted for MS FAT-16.

Set up SD Card

Format your SD card as MS FAT-16 and copy over the VIP files that you wish to run. You will need to load Chip8.hex in order to run most VIP software so make sure that you include Chip8.hex in the files that you copy to your SD Card.

Note: You can find a library of VIP programs and the Chip8.hex interpreter in the Data files of the EMMA 02 COSMAC 1802 Emulator. Get the EMMA 02 Emulator at the official EMMA 02 Website.

QuickStart Guide With Composite Video (CDP1861)

IMG_0872

The goal for the ELF II SD Card is to provide a dependable and easy to operate COSMAC VIP compatible system using the AVI ELF II as the foundation. The following is a QuickStart summary of how to achieve this goal. You will need the following:

  • An AVI ELF II with a functioning CDP1861 or AVI1861 “Pixie” Display Chip, connected to a composite monitor or a composite video adapter connected to a computer monitor.
  • A VIP Keypad for ELF II (as described in the Wiki).
  • The ELF II SD Card with a compatible SD Card, formatted Fat-16 and loaded with VIP programs and the Chip8.hex file. As noted above, you can find a library of VIP programs and the Chip8.hex interpreter in the Data files of the EMMA 02 COSMAC 1802 Emulator. Get the EMMA 02 Emulator at the official EMMA 02 Website.

NOTE: The ELF II main board settings must be set as follows

  • Set J3 to "I61" by placing a shorting jumper on the left and middle pins of J3.
  • Set J9 to "EF1" by placing a shorting jumper on the lower and middle pins of J9.
  • Set J11 to "I69" by placing a shorting jumper on the top and middle pins of J11.

When you toggle the ELF II from RESET to RUN, the Data displays will show the value 31 and the AVI ELF II VIP firmware will poll the system to ensure that the RAM, VIP Keypad and Pixie Chip are available. All going well, you will be greeted with the following welcome screen on your composite monitor:

IMG_0872

NOTE: If you have removed the “mute” jumper on your VIP Keypad for ELF II, you will hear the VIP beeping tones.

Press 1 on the VIP Keypad to continue:

IMG_0873

Press D on the VIP Keypad to read the SD Card:

IMG_0875

Press F on the VIP Keypad to page down the SD Card directory and press E on the VIP Keypad to page up the SD Card directory. Choose a program to load by selecting it’s number (1 to 5) in the listing.

IMG_0882

I selected Animal Race ANIMAL.HEX and loaded it by pressing the 1 charcter on the VIP Keypad:

IMG_0878

NOTE: After the program has been loaded into memory, don’t run it yet. You will need to load the Chip8.hex interpreter in order to run the program.

To prevent the newly loaded program from being run before you load the Chip8 interpreter, press the number 0 on the VIP Keypad until you are back at the main action screen and press D to load the directory again:

After the SD Card has been read, use the E and F keys on the VIP Keypad to find and load the Chip8.hex program.

IMG_0876

After the Chip8.hex program has been loaded, you can run it by pressing the number 0 on the VIP Keypad until you are back at the main action screen and press C to run in VIP mode:

IMG_0873 IMG_0887 IMG_0891

This QuickStart Guide has been an introduction to the features of the AVI ELF II SD Card board and firmware to quickly get you up and running but there is so much more to discover. Equipped with the SD Card and VIP Keypad, your ELF II is functionally compatible with the original RCA COSMAC VIP and you should be able to run any VIP programs you may find or create.

QuickStart Guide With Serial Terminal Connection

In addition to using your AVI ELF II as a COSMAC VIP computer, you can use the ELF II SD Card for loading and running other 1802 programs via the DB9 serial connector or COM1 header on the ELF II SD Card board connected to a Windows, MAC or Linux PC. Your PC will need to run a terminal emulator like Teraterm, Realterm, Minicom, or any terminal program that provides a serial connection to your adapter or serial cable and the port setting in your terminal program will need to be set to 9600 BAUD (8N1 - 8 bit, Parity None, 1 stop bit with no flow control).

NOTE: The ELF II main board settings must be set as follows:

  • Set J3 to "I61" by placing a shorting jumper on the left and middle pins of J3.
  • Set J9 to "EF1" by placing a shorting jumper on the lower and middle pins of J9.
  • Set J11 to "I69" by placing a shorting jumper on the top and middle pins of J11.

With the SD Card connected to a PC serial connector or TTL/USB Serial Adapter and installed in an expansion slot of your AVI ELF II, configured as described above, you can boot into a serial session between the ELF II and the PC when you toggle the ELF II from RESET to RUN.

When in RUN mode, the terminal screen will immediately respond with:

AVI ELF II - VIP v0.2

The SD Card firmware will then poll the ELF II and SD Card hardware to check for the CDP1861 or equivalent, the keyboard type (ELF II / VIP) and the RAM. After the system check has run, the a message of the results will be returned to the terminal screen:

PIXIE-PRESENT
SYS RAM-GOOD
VIP KEYPAD
<Any> to cancel PIXIE and run Serial Interface only

After you press a key on the terminal, the firmware will check the SD Card and provide information on the card:

Init SD Type#2 ACMD41+MBR S Type:06 PBR S VOL=VIPELF      SYS=FAT16   .......
MAIN-RAM
Enter Command
>

Pressing the Return key on your terminal will provide a list of commands:

DIR-DIRECTORY
CD-CHANGE DIRECTORY [|..]
X-EXECUTE MAIN RAM [/R] (BootRAM)
S-SECTOR READ [/C] (Cluster)
L-LOAD FILE [A|B|H] (Ascii|Binary|Hex) /R (BootRAM)
V-VIEW FILE [A|B|H]
E-EDIT RAM
D-DUMP RAM [/S] (Shadow RAM)
B-BOOT RAM
M-MAIN RAM
H-HEX UPLOAD

>

For instance, DIR will provide a directory, file listing of the SD Card:

 >DIR
Volume: ALife..
0-CHIP8.HEX     1-KALEID.HEX    10-SNA~1.HEX    13-HI-LO.HEX    15-DOT~1.HEX
16-MAZE2.HEX    18-SHO~1.HEX    2-VIPD~1.HEX    20-CAR~1.HEX    3-WIPE~1.HEX
4-SPAC~1.HEX    5-PICT~1.BIN    7-TICTAC.HEX    8-SPOOKY.HEX    9-JACK~1.HEX
ANIMAL.HEX      BLAKJACK.HEX    LUNAR-LD.HEX    PINBALL.HEX     SPACEF.BIN
STARS.HEX       SWORDF~1.BIN
22 FILES
>

Use the commands to navigate the SD Card and view or load software.

If you Eject the SD Card while the system is running, the Terminal will respond with a message indicating that the card was ejected:

Card Removed

>

When the SD Card is reinserted or another card is inserted, it will be read and accessible again.

Card Inserted

Init SD Type#1 ACMD41+MBR S Type:04 PBR S VOL=NO NAME     SYS=FAT16   ..
>DIR
Volume: VIPELFII
CURSES.BIN      CURSES~1.BIN    DRAGON.BIN      PICTURE.BIN
4 FILES
>

In this way, you can have several catalogues of software that you can review and load.

Troubleshooting

At this time the only issues that we have run into have been with SD Cards that were incompatible with the firmware. We have found some older Camera SD Cards have worked well and we have found that SanDisk Ultra II SD Cards that are 2GB or less have worked well in the SD Card. Other than that, we have not run into any issues that have required troubleshooting but this document is being actively maintained and we will update it with any troubleshooting issues and fixes as we come across them.