Pocketerm

The PockeTerm is a 4″ X 2.5″ single board terminal that uses a VGA monitor and a PS/2 keyboard for its input and output. Dual serial ports gives the user the option of transferring data to/from a PC while still connected to the host device. This terminal was designed to work with vintage computers but is compatible with most systems including Unix and Linux systems. A low cost color choice terminal that has VT-100 compatible commands for controlling cursor and screen functions. Want to program the propeller microcontroller or install an update to the firmware? No problem, just connect the PockeTerm to your PC, run the Propeller Tools software and you can program it from your PC, no expensive Prop Plug required.

The PockeTerm has a full featured screen with Function key status at the bottom of the screen. Click on the image for a full size photograph of the screenshot.

CTRL-F1 Selects Baud Rate
CTRL-F2 Changes text color of the main display section
CTRL-F3 Turns on/off the 2nd serial port that connects to a PC.
CTRL-F4 Force incoming data to 7 bit ASCII. Strips the 8th bit, required for some systems
CTRL=F5 Change cursor type. Choose from underscore, solid block, or none. Also, choose from blinking or not.
CTRL-F6 Add line-feed to carriage returns

Documents

Pocketerm Setup and Users Manual 2009
Pocketerm Setup and Users Manual V3 2009
Pocketerm Circuit diagram
Pocketerm Bill Of Materials
Pocketerm Firmware
Pocketerm CD

PS/2 keyboards

I have succesfully assembled the kit, the manual guided me just fine through the steps. Took me just over an hour.
The PockeTerm worked right away. Thanks to mfortuna’s tip, put jumpers in 1&2 and 5&6, and testing is independent of cables and computers to connect.

A standard keyboard with PS/2 worked. What did not work was my mini-USB keyboard (standard PC keyboard without numerical pad, and smaller size, like notebook keyboards) connected via an USB to PS/2 converter. The USB keyboard is ok, works with the PC’s and the Apple 1 kits via the USB-PS/2 dongle. I bought it because the smaller size looks better with the small computers and takes less desk space With the scope I found the PS/2 clock/data line (cant remember which one), to be open, as if nothing connected. So something is missing to make the USB device come alive. I googled around and found this: http://www.parallax.com/Portals/0/Downloads/docs/prod/edu/28060-PS2Adapter-v1.0.pdf
In it I saw a schematic how to connect a Parallax mini PS/2 keyboard, and it was different from the PockeTerm PS/2 interface. It has additional 10k pull-ups connected to the PS/2 clock and data. I soldered in the two 10k’s and the mini keyboard came alive!

Program the Propeller Notes by Vince Briel

  1. Go download propeller tools from parallax here: http://www.parallax.com/Portals/0/Downloads/sw/propeller/Setup-Propeller-Tool-v1.2.7-(R2).exe
  2. Install propeller tools
  3. Place the firmware directory from your PockeTerm CD onto your hard drive here:
    C:\program files\parallax inc\propeller tool v1.2.7 (r2)\
  4. Connect your PockeTerm to the RS232 port labled PC and turn on your PockeTerm.
  5. Under the propeller tools program click on the section File and find the firmware directory you just copied onto your hard drive and select the file
    PockeTermV.905.spin
  6. Press F11 on your PC keyboard and the propeller tools will compile and attempt to find a Propeller chip connected to a serial port on your PC. If your
    connection is good it will program the RAM first on your Propeller chip then program the EEPROM.

The PockeTerm makes a really good development board for learning how to program the Propeller chip. For more information on programming the Propeller,
please visit the Parallax forums here: http://forums.parallax.com/forums/default.aspx?f=25
The above steps will program the Propeller with the code that is now resident on the EEPROM onboard the PockeTerm. Change step 3 to the location of the program you wish to insert onto the PockeTerm.








Replica 1 software and hardware articles

A collection of articles and projects around the Replica 1.

Rebus

REBUS Replica 1 Hardware Extensions
ACIA, Flash, Apple II sound
Ken Wessen
Apple II sound circuit
Replica Quick reference by Jeff Trenter
Krusader Ken Wessen’s assember IDE
Archive with many variants, sources, versions
Krusader 1.2.1 source for use with an ACIA
Applesoft Lite archive
EWoz extended WOZ monitor with hex file upload
Jeff Tranter’s large collection of 6502 articles
Micro-KIM, Replica 1, and much more. A real treasure collection, original here!

EEPROM programmer circuit (as featured on the Multi I/O board)
EEPROM circuit
Here’s a 1 chip EEPROM programmer for somebody wishing to copy their EEPROM or create their own data. In keeping with the replica 1 theme, it is a down and dirty solution requiring few connections. All the connections listed on the EEPROM go to their listed connections. A 74LS00 is all that is required to program an EEPROM.

This attaches to address A000-BFFF and is direct addressing. Simply write to the address to store the data. You should give a slight delay after your write since it takes 200ns to write a byte into an EEPROM. I do a short loop in basic

FOR I=1 TO 2:NEXT I

That does the trick. I tested this circuit out and had 0 errors when writing.

Replica 1 Cassette Interface

In 2007 Vince Briel tried to get a replica of the Cassette board, as designed by Steve Wozniak, operational. Another example of the genius Steve Wozniak, minimal hardware, 256 byte program. Two revisions, he did not have much luck with this. Reports indicate this has to do with insufficient quality of the power supply lines.

Original Apple 1 Cassette Interface Manual
A real userguide as can be found at the site of San Bergmans
Mimeo Cassette Interface and Operations Guide

Software
Archive with disassembly and source files of the Apple 1 Cassette Interface.



post

Replica 1 Multi I/O Board

The Multi I/O Board, 2007, gives 2 8 bit bi-directional ports with 4 handshaking lines, a 6522 VIA,, a true RS232 serial port, a 6551 ACIA, with speeds up to 19,200 BAUD, and a 8K EEPROM programmer to store data or programs. There is a socket to add your own Speakjet voice chip that works in conjunction with the serial port to make your Replica 1 or Apple 1 speak!
Software included to let the WOZmon operate over serial.

Multi I/O board Setup and users Manual
multiboard_schematics.pdf


Replica 1 slot expanders

Three slot expander

Available first in 2006 for the SE and continued to the Plus. One side for the 40 pin connector, the other side a real Apple 1 slot.

Note that sometimes the 40 pin flatcable connection is not reliable and gives CFFA1 I/O errors. A thick extra ground wire between the Replica 1 and the slot expander solves this.


Slot Expander I board manual

One slot expander

A single slot expander, one Apple 1 slot, to be placed upon the 40 pin box connector.

Replica 1 TE

Replica 1 TE improvements (2008)

  • Apple 1 compatible 44 pin slot
  • Apple 1 compatible 44 pin edge connector
  • Bread board area for hobby experiments
  • Elimination of jumpers
  • Improved video display using Parallax Propeller (works with most TV’s and monitors)
  • No need for Apple 1 slot adapter because Apple 1 slot now onboard as well as original replica 1 connector
  • User firmware updates. User can download firmware updates and install. No need to send in for new chips.

The use of the Propeller instead of the ATMega IC’s makes the TE more compact, it handles video and PS/2 interfacing.

Replica 1 TE Setup and users Manual
Replica 1 TE schematic

Downloads:
Replica 1 TE CD


post

Junior by Philippe Roca

Philippe Roca sent me photos and Gerber PCB files from his Junior system.

From scratch, reading the original Elektor articles, he designed and built a complete Junior system.

Faithfull to the original and with even the ‘problem’ parts such as the 2708 EPROM on the main PCB and the 82S33 PROM on the interface card. For those devices he built programmers!

Still working on building and testing (January 2021), here photos and Gerbers of finished and working cards.

Junior


Interface card

Programmers

PCB’s

Gerbers download

Junior PCB gerber
Display print gerber
Power supply gerber


CFFA1

CFFA1 – CompactFlash Interface for Apple 1
R&D Automation

The CFFA1, designed and sold by Rich Dreher adds a mass storage device to the Apple 1, clones and the Replica’s. And also 32K SRAM storage is possible, which is meaningful for the Apple 1, the Replica’s have already RAM extended. The firmware is in a EEPROM which can be reprogrammed in place from the Apple 1. Check Rich Dreher’s site for availability.


CFFA1 Manual 1.0
CFFA1 Manual 1.1
CFFA1 QuickStart 1.0.pdf

Downloads:
CFFA1 cdrom V1.0: manuals, diskimages, firmware, utilities
CFFA1 cdrom v1.1
V1.0 Support such as Flash the EEPROM and the API source V1.0
ULTIMATE APPLE1 CFFA 3.2 disk image
ULTIMATE APPLE1 CFFA 3.3 disk image

Some disk images with Apple 1 software are in the CDROM archives.
The Ultimate disk images contain all known Apple 1 programs, Basic programs, Applesoft for Apple 1, Forth, Microchess, EHBASIC, Krusader and much more.
Reading and writing of disk images is possible with the excellent Ciderpress program.

The CFA A1 is accessed via a menu driven program or via an API.

9000R
9000: 4C

 CFFA1 MENU (1.0)
 ----------
 C - CATALOG      P - PREFIX
 L - LOAD         N - NEW DIRECTORY
 S - SAVE (BASIC) W - WRITE FILE
 R - RENAME       D - DELETE
^F - FORMAT       T - TERSE
 B - READ BLOCK   M - MEMORY DISPLAY
 Q - QUIT

CFFA1>

CFFA1 API (see the CDROM v1.1 for the V1.1 API)

]
;------------------------------------------------------------------------------
; CFFA1_API.s  Version 1.0 - 05/22/2007
;
; Equates for calling the CFFA1 API -- Firmware version 1.0 ($01)
;------------------------------------------------------------------------------
CFFA1_ID1           = $AFFC   ; contains $CF when CFFA1 card is present
CFFA1_ID2           = $AFFD   ; contains $FA when CFFA1 card is present
FirmwareVersion     = $01
;------------------------------------------------------------------------------
; Entry points to the CFFA1 firmware:
;
; MenuExitToMonitor
;   JMP here to display the CFFA1 menu.
;   Quit puts the user into the monitor.
;
; MenuExitToBASIC
;   JMP here to display the CFFA1 menu.
;   Quit puts the user into BASIC.
;
; Menu
;   JSR here to display the CFFA1 menu.
;   Quit returns control to your code.
;
; CFBlockDriver
;   JSR here to read or write a block, after setting up pdCommandCode
;   and other inputs (see below).
;   Result:  CLC, A = 0
;            SEC, A = error code
;
; CFFA1_API
;   JSR here to call one of many functions provided by the firmware.
;   See "Function selectors for CFFA1_API" below.
;
;------------------------------------------------------------------------------
MenuExitToMonitor   = $9000
MenuExitToBASIC     = $9003
Menu                = $9006
CFBlockDriver       = $9009
CFFA1_API           = $900C
;------------------------------------------------------------------------------
; Inputs for CFBlockDriver - ProDOS block interface locations
;------------------------------------------------------------------------------
pdCommandCode       = $42     ; see below
pdUnitNumber        = $43     ; always set this to 0 for firmware 1.0
pdIOBufferLow       = $44
pdIOBufferHigh      = $45
pdBlockNumberLow    = $46
pdBlockNumberHigh   = $47
;
; Values for pdCommandCode
;
PRODOS_STATUS       = $00
PRODOS_READ         = $01
PRODOS_WRITE        = $02
PRODOS_FORMAT       = $03
;------------------------------------------------------------------------------
; Function selectors for CFFA1_API.
;
; Load one of these values into X:
;
;    ldx #CFFA1_xxxxx
;    jsr API
;
; Result:  CLC, A = 0
;          SEC, A = error code
;
; Certain functions have additional outputs, as described below.
;
;------------------------------------------------------------------------------
;
; CFFA1_Version:
;   Output: X = current firmware version
;           Y = oldest compatible firmware version
;
; CFFA1_Menu:
;   Result: Runs the CFFA1 menu and returns when the user chooses Quit.
;
; CFFA1_DisplayError:
;   Input:  A = an error code
;   Result: Prints out a carriage return, the 2-digit hex error code,
;           and a description of that error, if available.
;
; CFFA1_OpenDir:
;   Input:  None (operates on the current prefix directory)
;   Result: Prepares for one or more calls to ReadDir.
;
; CFFA1_ReadDir:
;   Setup:  You have to call OpenDir before calling ReadDir.
;   Result: If no error, EntryPtr points to the next occupied directory entry.
;
; CFFA1_FindDirEntry:
;   Input:   Filename = name to search for
;   Result:  If no error, EntryPtr points at the found item's directory entry.
;
; CFFA1_WriteFile:
;   Input:  Filename = name for new file (will be replaced if it already exists)
;           Destination = starting address
;           FileSize = number of bytes to write
;           Filetype = type for new file
;           Auxtype = auxiliary type for new file
;
; CFFA1_ReadFile:
;   Input:  Filename = file to read into memory
;           Destination = starting address ($0000 to use the file's Auxtype value)
;
; CFFA1_SaveBASICFile:
;   Input:  Filename
;
; CFFA1_LoadBASICFile:
;   Input:  Filename
;
; CFFA1_Rename:
;   Input:  OldFilename = original name
;           Filename = new name
;
; CFFA1_Delete:
;   Input:  Filename = file or empty directory to delete
;
; CFFA1_NewDirectoryAtRoot:
;   Input:  Filename = name for new directory
;
; CFFA1_FormatDrive:
;   Input:  Filename = name for new volume
;           A = drive number (always set to 0 for firmware 1.0)
;           Y = $77 (just to help avoid accidental formatting)
;   Result: Disk volume is erased and given the specified name.
;
;------------------------------------------------------------------------------
CFFA1_Version            = $00
CFFA1_Menu               = $02
CFFA1_DisplayError       = $04
CFFA1_OpenDir            = $10
CFFA1_ReadDir            = $12
CFFA1_FindDirEntry       = $14
CFFA1_WriteFile          = $20
CFFA1_ReadFile           = $22
CFFA1_SaveBASICFile      = $24
CFFA1_LoadBASICFile      = $26
CFFA1_Rename             = $28
CFFA1_Delete             = $2A
CFFA1_NewDirectoryAtRoot = $2C
CFFA1_FormatDrive        = $2E
;------------------------------------------------------------------------------
; Zero-page inputs and results for API functions
;
; Filename and OldFilename point to strings that begin with a length byte (from
; 1 to 15), and each character must have its high bit off.  For example:
;
;    Filename   = $80     $280: 05  48  45  4C  4C  4F
;    Filename+1 = $02              'H'  'E' 'L' 'L' 'O'
;------------------------------------------------------------------------------
Destination         = $00                   ; 2 bytes
Filename            = Destination+2         ; 2 bytes
OldFilename         = Filename+2            ; 2 bytes
Filetype            = OldFilename+2         ; 1 byte
Auxtype             = Filetype+1            ; 2 bytes
FileSize            = Auxtype+2             ; 2 bytes
EntryPtr            = FileSize+2            ; 2 bytes
;------------------------------------------------------------------------------
;
; ProDOS low-level return codes
;
;------------------------------------------------------------------------------
PRODOS_NO_ERROR      = $00    ; No error
PRODOS_BADCMD        = $01    ; Bad Command (not implemented)
PRODOS_IO_ERROR      = $27    ; I/O error
PRODOS_NO_DEVICE     = $28    ; No Device Connected
PRODOS_WRITE_PROTECT = $2B    ; Write Protected
PRODOS_BADBLOCK      = $2D    ; Invalid block number requested
PRODOS_OFFLINE       = $2F    ; Device off-line
;
; High-level return codes
;
eBadPathSyntax       = $40
eDirNotFound         = $44
eFileNotFound        = $46
eDuplicateFile       = $47
eVolumeFull          = $48
eDirectoryFull       = $49
eFileFormat          = $4A
eBadStrgType         = $4B
eFileLocked          = $4E
eNotProDOS           = $52
eBadBufferAddr       = $56
eBakedBitmap         = $5A
eUnknownBASICFormat  = $FE
eUnimplemented       = $FF
;------------------------------------------------------------------------------
; ProDOS directory entry structure offsets
;------------------------------------------------------------------------------
oFiletype           = $10
oKeyBlock           = $11
oBlockCount         = $13
oFileSize           = $15
oCreateDateTime     = $18
oVersion            = $1C
oMinVersion         = $1D
oAccess             = $1E
oAuxtype            = $1F
oModDateTime        = $21
oHeaderPointer      = $25
oDirLinkPrevious    = $00
oDirLinkNext        = $02
oVolStorageType     = $04
oVolVersion         = $20
oVolAccess          = $22
oVolEntryLength     = $23
oVolEntriesPerBlock = $24
oVolFileCount       = $25
oVolBitmapNumber    = $27
oVolTotalBlocks     = $29
;
; ProDOS Storage types
;
kSeedling           = $10
kSapling            = $20
kTree               = $30
kExtended           = $50
kDirectory          = $D0
kSubdirHeader       = $E0
kVolume             = $F0
kStorageTypeMask    = $F0
;
; Filetypes
;
kFiletypeText       = $04
kFiletypeBinary     = $06
kFiletypeDirectory  = $0F
kFiletypeBASIC1     = $F1
kFiletypeBAS        = $FC
kFiletypeSYS        = $FF
;------------------------------------------------------------------------------
; end of CFFA1_API.s
;------------------------------------------------------------------------------

Replica 1 SE

The only Replica 1 I have is the 2006 Replica 1 SE.

This version is the Second Edition, a polished version of the original Replica 1.
Again with the ATX power connector, but also with alternative ways of power supply.
Note that using an Apple II keyabord requires power supply via the ATX method, due to +/- 12V required.
One Apple 1 slot in a 40 pin connector format.
In the 8K ROM the Apple 1 Integer Basic, the WOZ monitor and the Krusader assembler IDE is placed. Documentation and other files are supplied on CD again.

At this time the two slot expanders to real apple 1 slots were available, the slot expander has to be connected via a 40 pin flatcable.
The first card available (but withdrawn due to reliability problems) was the replica Apple 1 cassette board.
The second is the Multi I/O board.
The CFFA1 also appeared at this time, giving mass storage facilities.

Replica 1 SE Setup and Users Manual 2006
Replica 1 SE Setup and Users Manual 2007
Replica 1 SE Schematic
Replica 1 SE CD


Video on PAL monitorsThe Replica 1 SE might have trouble with some video monitors, especially in 50 Hz/Europe countries. Look with a scope at the composite video signal, it is much too low amplitude, a wonder the monitors did sync after all.
The video monitor has a 75 ohm load. In parallel with the 100 ohm R3 this was giving a too low amplitude to let the monitor sync fast enough.As a dirty hack clip the R3 resistor off and the video becomes stable on many monitors. But not on all!


post

A-ONE replica

I have a A-one extended. Beautiful system, well designed and build. A-ONE hardware design: Franz Achatz , Video controller Software: San Bergmans, Keyboard controller Software: Ben Zijlstra

SB-Projects, San Bergmans’ description of the working of the Apple 1 and all about the A-ONE

The A-ONE is a compact and high quality Apple 1 replica made and designed in the Netherlands by Achatz Electronics. Similar, but not identical to the Apple 1 Replica 1. Advantages are the small board size and low IC count,, 50 Hz and 60 Hz rock solid video, and the real Apple 1 slot.

Specifications:

  • CPU: MOS TECHNOLOGY 6502
  • System-Clock: 1 MHz
  • RAM Memory: 32KB SRAM
  • ROM Memory: 32KB (64KB EPROM, selectable are two banks)
  • Video: 40 Chars/line at 24 Video-lines 50Hz and 60Hz
  • Video Out: Composite positive Video, 75 Ohms
  • Keyboard: PS/1 Keyboard interface
  • RS232: 9-pin SubD Female, 2400 Bd
  • Expansion: 2×22 Edge Connector
  • Powersupply: recommended is single universal AC-DC Adapter
  • Voltage: DC 9-12VDC
  • Supply Current: 250 mA
  • PCB Size: 160 x 100mm

A-ONE Extended

The A-ONE Extended is a standard A-ONE with additional a large breadboard and three Apple 1 slots. Together with the breadboard prototype board this make it quite an impressive system to develop hardware for 6502 systems!

A-one

A-one extended

A-one extended


A-ONE manual 1.10
A-ONE manual 1.10
Elektuur announcement
A-ONE flyer
A-ONE terminal description by San Bergmans
Jumpers:
JP1: Video 50/60Hz
JP2: MemoryMap (see Manual)
JP3: H-A14 = 65C02 CPU
A14-L = 6502 CPU

Downloads

A-ONE extensions

Since the Apple 1 slot is standard, it must be possible to use the Apple 1 and Replica 1 extensions, such as the CFFA1 and the multi-I/O board on the A-ONE. It will need a A-One slot to Apple 1 slot onnection, perhaps via one of the prototype boards.

Working with the A-ONE extended becomes even more a pleasure with the prototype boards sold by Achatz Electronics.

A-ONE

A-ONE

A-ONE information

The design of the A-ONE is well documented and open: see the excellent website of San Bergmans

Photos of my A-ONE Extended



Photos of the development