Published in 1983.
A VT52 terminal build up with the VDU card, known from the Junior articles, and a new CPU card, later the base of the Octopus/EC65 computers.
About small SBC systems
Published in 1983.
A VT52 terminal build up with the VDU card, known from the Junior articles, and a new CPU card, later the base of the Octopus/EC65 computers.
Elektor published in 1978 the Elekterminal design: a video display unit and an ASCII keyboard for computer systems with serial interface.
Over the years the design evolved and many articles were published. Among other systems, it was also integrated with the Junior computer.
The Juinor book 3 contains a detailed description how to combine Elekterminal and Junior via the bit banged serial TTY interface.
The video display was later replaced with a videocard, the serial ASCI keyboard stayed as option.
Articles and books in English about the Elekterminal
Junior KB9 Basic
Philippe Roehr started with the KB9 binary from the KIM-1 pages.
Philippe then applied the process outlined in the Elektor articles to adjust Basic to the Junior character I/O routines and also improved the speed by adjusting the now unnecessary code that took care of the ROR bug in early 6502’s.
Philippe transferred the binary to the Junior with Ed’s utility KIMTape, producing a KIM-1 audio wave file. The Junior accepts this format, a bit slow but only needed once. After seeing all was well, Philippe wrote the now optimized Junior KB9 Basic to audio wave file, and made a hex dump on the terminal. I picked up the dump, a captured text file form a a terminal emulator, and wrote a conversion program to produce a binary.
All the files here: archive with audio wave file, dump on terminal, binary and conversion software.
OS65DV3.3
Based upon information supplied by Philippe Roehr, see also the DIY Build a Junior page
After building the Junior, having PM and TM monitor working well, KB9 Basic operational, the next step Philippe took was getting the operating OS65Dv3.3 operational.
He took the steps described by Elektor in the articles with some modern additions.
A Junior able to run OS65DV3.3 needs an expansion card, a RAM card (his is 64K) and the Elektor floppy controller, which is identical to the OSI one (6850 + 6820 ICs)
Instead of a real floppy drive Philip used the hardware Gotek floppy emulator with the Flashfloppy firmware. And used the manuals images of http://osiweb.org, and the OSIHFE utility described in the OSI Web forum posts.
Elektor made a bootstrap eprom (see the floppy disk page) able to
* load OS65D (V3.1 or 3.3 as far as I know) from floppy
* give basic I/O capability (RS232 and floppy)
* manage hex display and keyboard
* modify OS65 for the hex display after the very first load to fully adapt them to the system ( about 10 bytes to modify)
Here the OS65DV3.3 disk image in native and Flashfloppy format ready to use.
During the second part of december 2020 Philippe added a real floppy controller and added the Ascii Video Terminal (new version of hackaday). With improved moter control of the floppy drive!
The floppy disk system for the Junior was based upon OS-65 V3D from Ohio Scientific, the interface is a clone and, since the software was for sale, a separate object.
VDU board with OS65D
PMV for OS65D source checked by Philippe Roehr
PMV for OS65D ROM
Circuit of the floppy disk interface. Not the usual circuit based upon a well-known FDC controller IC, but a simple and not so standard solution. The OS65D operating system from OSI, Ohio Scientific, knows how to handle this interface well, and just for this purpose, Elektor choose this solution.
The next page gives information on OS65D, the operating system.
An Elektor bus based videocard around the 6845 videocontroller. Composite video, two colours: black and white.
In a time when SRAM was expensive, power hungry and small it made sense to use dynamic RAM: larger, cheaper.
First in 16K format, later in 64K format.
dynamic RAM card | |
64K on the 16K dynamic RAM card |
Have a look at the Elektor Articles and Books page for a mullti-lingual overview of all publications on Elektor/Elektuur Junior and more.
The 2708 is not an easy EPROM to use. It requires -5V, +5V and +12V and most programmers can not handle it.
Elektor published an article how to use a 2716 instead of a 2708 (eliminating also the need for -5V and easier programming).
ROM in 2732
But an even more common 2732 EPROM can be used instead of the 2708 EPROM when you perform the following:
– cut the traces +12 and -5V
– K6 to the VIA,
– K7 to the EPROM.but leave K7 to the 7401 intact for the STEP function.
– /CS from VIA to K3 to move the VIA to page 0E (jumps in the EPROM are adapted for that)
– /OE from the 2732 to ground
– A10 and A11 of the 2732 to the addressbus
– /CS from the 2732 via an inverter to A12, note that there are two unused ports in the 7402 with grounded inputs: cut those! and add a pull up resistor.
The Elektor designs sometimes use the 82S23 bipolar 32×8 PROM as memory decoder. The Junior Interface card is an example and a troublemaker nowadays: rare, expensive, hard to program.
On this page some simple programmers are shown for this quite rare device.
An alternative would be to use a 2716 or similar EPROM, 5 address lines as input, 8 datalines as output, via a converter PCB. FAst enough for the Junior at 1 MHz, but a bit bulky.
Or use a GAL instead. Small, easier to source and also reprogrammable.
On this page:
The circuit of the Elektor circuit (the article is listed below):
It can be much simpler (see the “An 82s23 programmer, Radio Electronics 1976” below):
All programmers require you to program one bit at a time. See the Signetics Programming Notes how to).
Alternatives for the 82S23 (or 82S123 with open collector outputs, add a pullup resistor to the outputs).
In the DIY Build a Junior » Junior Computer Replica by laurent-fr design, a GAL is used to replace the 82S23. Have a look at his github page, here an extract. Note that this design is not tested yet (October 2022), so take care.
The original circuit:
Replace with:
GAL Design files by laurent_fr
From the article REPROGRAMMABLE 82S123, local copy of the original article.
This project came about because I needed a way of experimenting with the data in an 82S123 PROM, changing it and seeing how the PCB reacted to the changes. As the 82s123 is a one time programmable device, this would work out very costly to make 20-30 changes in it’s code! The obvious way to do it would be to use an EPROM, but many of these are not as fast as a Bipolar PROM, so another solution was needed.
Enter the GAL! The GAL is a reprogrammable logic device that allows you to combine logic functions onto one chip, to save space on a PCB, or for custom logic equations. It can also be used for small amounts of data storage, but because of the way it is designed, it can’t hold a huge amount, but the 22v10 is certainly enough for the 32×8 bits of the 82S123.
The pinouts of each IC are shown above. The GAL is flexible on what pin does what. Pins 2-11 and 13 are dedicated inputs. Pin 1 can be used as a clock for flip flops (not used in the application). Pins 14-23 can be either inputs or outputs, depending on how you want to configure them.
If we want to simulate an 82s123, we’ll need:
The easiest way to connect them on a breadboard is by the diagram below
We use pin 3 on the GAL as the Tri state output control, pins 4-8 as the address inputs, and pins 15, then 17-23 as the outputs. I disable pin 16 in the code, as it makes life easier on the breadboard. Blow is the completed breadboard and programmed GAL, running as the DRAM control PROM on an Atari Missile Command PCB
It’s that simple! You can then remove the GAL from the breadboard, reprogram it in your burner, and use it again as many times as you like. It’s also a lot cheaper to buy than an 82s123 in the first place!
Here is the code in CUPL that I used for this device
Name 32x8prom; Partno 32x8prom; Date 06/06/03; Revision 02; Designer Mark Haysman; Company Leopardcats; Assembly None; Location None; Device g22v10; /** Example of 82s123 simulation **/ /** Uses Missile Command DRam Prom PR0058 Data **/ /** Inputs **/ Pin 8 = d0; Pin 7 = d1; Pin 6 = d2; Pin 5 = d3; Pin 4 = d4; Pin 3 = tristate; Pin 16 = dummyinput; /** Outputs **/ Pin [17..23] = [Q6..0]; Pin 15 = Q7; /** Declarations and Intermediate Variable Definitions **/ field byte = [Q7..0]; field address = [d4..0]; byte.oe = !tristate; dummyinput = 'b'0; dummyinput.oe = 'b'0; /** Pin 16 is disabled **/ table address => byte { 0 => 0; 1 => 0; 2 => 0; 3 => 0; 4 => 0; 5 => 0; 6 => 0; 7 => 0; 8 => 0; 9 => 0; a => 0; b => 0; c => 0; d => 0; e => 0; f => 0; 10 => ee; 11 => dd; 12 => bb; 13 => 77; 14 => ee; 15 => dd; 16 => bb; 17 => 77; 18 => fe; 19 => fd; 1a => fb; 1b => f7; 1c => ef; 1d => df; 1e => bf; 1f => 7f; }
Here is a link to the PLD and JED files for this particular PROM. All you need to do to make your own proms is enter the data into the table in the CUPL file.
Good luck! Any questions, I’m always on hand to help – mark@leopardcats.com