Showing posts with label Briel Computers. Show all posts
Showing posts with label Briel Computers. Show all posts

Monday, March 16, 2015

Superboard /// Enclosure

The original Superboard II was sold as a populated circuit board with no case or power supply. I owned one, and made a case out of wood and some plastic that I had handy that worked as a cover. The Challenger 1P was essentially a Superboard II in a metal case.

Case for the OSI Challenger 1P

For my Superboard ///, I wanted something better than just the board. A sheet metal case could be made, given suitable tools like a bending brake, but I don't have one.

As a simple solution, I made a plastic cover to protect the non-keyboard area of the board from dust and dropping things on it that might damage or short circuit it.



I cut a piece of 3 mm Lexan to 11 by 3-15/16 inches, and mounted it with 3/4 inch nylon standoffs using the holes in the circuit board.



I was fortunate to find suitable Lexan in an 11 x 14 inch sheet so I only had to make one cut. Less expensive Plexiglas could be used too, though not be quite as durable.

Inexpensive sets of nylon standoffs and screws of various sizes are offered by sellers on eBay. I got mine from one of these sources.



Earlier I had attached some adhesive rubber feet to the bottom of the board so it is stable on a table or bench.

While not as nice as a full case, this is at least an improvement over just the circuit board.

Saturday, January 31, 2015

The Superboard ///

My latest retrocomputing project is building the Superboard /// computer kit by Briel Computers.

It is a replica of the Ohio Scientific Superboard II. The original SuperBoard II was one of the first affordable computers that featured a full keyboard, video output, BASIC in ROM.


At a price of $279 in 1979, it was an amazing bargain at the time when compared to systems like the Apple II that retailed for about $1300. For that you got an assembled board but needed to add a 5 volt power supply, monitor or TV set and RF modulator, and cassette tape for storage.

I owned one that I purchased in 1979 and it was my first computer. With it, I learned BASIC and 6502 machine language programming.

The SuperBoard /// is Vince Briel's replica of the original SuperBoard. It features a 6502 processor, but simplifies the design by replacing a lot of logic chips with a Propeller CPU. It is software compatible with the original system.

It is sold assembled or as a kit. I opted for the kit.



To date I've made three YoutYube videos on the kit, covering unboxing, assembly, and basic operation. They can be found on my YouTube channel.

I also have some files on my github account including a handy Quick reference, the OSI firmware including BASIC, and a port of my JMON monitor program. The Visual Monitor program that I entered a few months ago also works.

Below are some useful web links.

My Stuff:



Ohio Scientific:

http://en.wikipedia.org/wiki/Ohio_Scientific
http://classiccmp.org/dunfield/osi/index.htm
http://home.cmaaccess.com/~jerrytravis/
http://oldcomputers.net/osi-600.html
http://osi.marks-lab.com/
http://osiweb.org/osiweb/software.html
http://superboard.com.sapo.pt/
http://uk101.sourceforge.net/
http://www.6502.org/
http://www.6502.org/users/sjgray/computer/osi-c4p/
http://www.binarydinosaurs.co.uk/Museum/ohio/index.php
http://www.classic-computers.org.nz/collection/challenger1.htm
http://www.compukit.org/Compukit.org
http://www.cse.dmu.ac.uk/~mward/martin/software/index.html#UK101
http://www.gifford.co.uk/~coredump/uk101.htm
http://www.historyofpersonalcomputing.com/osi-superboard-i-and-ii/
http://www.lysator.liu.se/adventure/machines/OSI.html
http://www.neoncluster.com/projects-osi/osi-cassettes.html
http://www.old-computers.com/museum/computer.asp?c=572&st=1
http://www.old-computers.com/museum/computer.asp?c=860&st=1
http://www.oldcomputermuseum.com/superboard_2.html
http://www.osiweb.org/
http://www.pagetable.com/?p=43
http://www.pagetable.com/?p=46
http://www.pc-history.org/ohio.htm
http://www.technology.niagarac.on.ca/people/mcsele/OhioScientific.html
http://dabeaz.blogspot.co.uk/2010/08/using-python-to-encode-cassette.html
http://searle.hostei.com/grant/uk101/uk101.html
http://www.slideshare.net/dabeaz/using-python3-to-build-a-cloud-computing-service-for-my-superboard-ii
https://www.youtube.com/watch?v=pB2t6xG2RzE

Superboard ///:

http://forum.6502.org/viewtopic.php?f=8&t=2487
http://www.brielcomputers.com/phpBB3/viewtopic.php?f=39&t=1627
http://www.brielcomputers.com/wordpress/?cat=39
http://www.brielcomputers.com/wordpress/?cat=41
http://www.retrothing.com/2014/06/superboard-iii-briel-recreates-another-1970s-microcomputer.html

Saturday, April 19, 2014

Running dBASE II on CP/M

A viewer of my YouTube video on running various CP/M applications on the Briel Altair 8800 kit suggested I look at dBASE II. dBASE II was one of the first database management systems for microcomputers. I'm not particularly interested in databases, but I thought I would give it a try.

I downloaded dBASE 4.1 from www.retroarchive.org. I unzipped it, copied the files to an SD card, booted up CP/M, and copied all files to an empty CP/M B: drive.


While it runs out of the box, running INSTALL will let you configure the terminal type and use it in full screen mode. From the install program, you pick a VT-100 terminal type that should work with the Briel Altair's display. A session is shown below.

B>install

dBASE II INSTALLATION PROGRAM  VER 3.0

ARE FULL SCREEN OPERATIONS WANTED (Y/N)? y

  dBASE II INSTALLATION PROGRAM  VER 3.0
                 MENU #1

A -ADDS VIEWPOINT   M -HP 2621
B -ADM-31           N -INTERCOLOR
C -ADM-3A           O -KAYPRO II
D -APPLE ///        P -NEC PC-8000/1
E -APPLE II 40 COL  Q -NS ADVANTAGE
F -CROMEMCO 3102    R -OSBORNE I
G -DIALOG 81        S -PERKIN ELMER 11
H -EAGLE AVL        T -SANYO MBC 3000
I -GNAT-SYSTEM 10   U -SOROC
J -HAZELTINE 1500   V -SPERRY UTS 40
K -HEATH 89         W -SUPERBRAIN
L -HP 125                          

     X - MENU #2
     Y - MODIFY PREVIOUS INSTALLATION
     Z - USER SUPPLIED TERMINAL COMMANDS

SELECT TERMINAL TYPE: X

   dBASE II INSTALLATION PROGRAM  VER 3.0
               MENU #2

A -TELEVIDEO                   
B -TOSHIBA T100                
C -TOSHIBA T250                 
D -TRS-80 (FMG)                 
E -TRS-80 II (P&T)              
F -TRS-80 III                   
G -VECTOR GRAPHICS              
H -VISUAL-100                   
I -VPD-80                       
J -VT-100                       
K -XEROX 820                   

     X - MENU #1
     Y - MODIFY PREVIOUS INSTALLATION
     Z - USER SUPPLIED TERMINAL COMMANDS

SELECT TERMINAL TYPE: J

CHANGE MACRO, DATE, ETC. (Y/N)? N

TYPE "Y" TO SAVE, ANY OTHER KEY TO ABORT INSTALL
Y
SAVING INSTALLATION PARAMETERS

B>

Running DBASE will start the application. The HELP command will display general information on the application and more details on each command. Below is a short session.

B>dbase

ENTER TODAYS DATE  OR RETURN FOR NONE 
 (MM/DD/YY) :04/19/14

Copyright (C) 1982 RSP Inc.

***  dBASE II     Ver 2.4  1 April, 1983

 Type 'HELP', 'HELP dBASE', or a command  

. help dbase

       HELP TEXT FILE DBASEMSG.TXT VERSION 1.12 FOR dBASE II v2.4
                Copyright 1983 Ashton-Tate and RSP, Inc.

        written by Wayne Ratliff, Jim Taylor, and Howard Dickler

                         INTRODUCTION
     
     This entry is intended to give you on-line information about your dBASE 
II  Database  Management  System.   It  explains the  disk  files  you  have 
received,  and  gives suggestions on tapping the power now available to  you 
for  data  management.   Using  the on-line HELP in  conjunction  with  your 
Manual,   you will soon be creating databases and writing command procedures 
to do your work. 

                    >>>>> type any key to continue <<<<<
WAITING 

                       HOW TO USE THE 'HELP' FACILITY

     Information about your dBASE  II  system can be obtained by typing 
HELP and any of the following key words: (e.g. HELP NEW )

          UTILITIES      FULL-SCREEN    LIMITS    BACKUP  
          INSTALL        NEW            ERRORS    CP/M
          EXAMPLES       FUNCTIONS      DBASE     HELP       RUNTIME
               (or any dBASE II command)

     dBASE will then look up the entry for the key word and display it.   If 
there is no information on the subject then dBASE will say "NO HELP MESSAGES 
FOUND".   When there is more text to display beyond what's shown,  then  you 
will see the word 

WAITING  (like this)

                   >>>>>  type any key to continue. <<<<<

WAITING 

. list
NO DATABASE FILE IN USE, ENTER FILENAME: invent.dbf

00001  123456 QUIRKY LITTLE QWARK     99.00   230.00   23  100 
00002  258741 PORTABLE POOL          450.00   999.99   20   40 
00003  258963 ELEPHANT COLLAR          3.00    15.00    3   10 
00004  123345 HOUSE WRAPPER           45.00   100.00  200  100 

. display structure

STRUCTURE FOR FILE:  B:INVENT  .DBF
NUMBER OF RECORDS:   00004
DATE OF LAST UPDATE: 03/09/83
PRIMARY USE DATABASE
FLD       NAME      TYPE WIDTH   DEC
001     PRD:NMBR     C    006          
002     PRD:DESC     C    020          
003     PRD:COST     N    007    002   
004     PRD:PRIC     N    007    002   
005     ONHAND       N    003          
006     ONORDR       N    003          
** TOTAL **             00047

. list

00001  123456 QUIRKY LITTLE QWARK     99.00   230.00   23  100 
00002  258741 PORTABLE POOL          450.00   999.99   20   40 
00003  258963 ELEPHANT COLLAR          3.00    15.00    3   10 
00004  123345 HOUSE WRAPPER           45.00   100.00  200  100 
00005  998783 My widget               13.99    24.50   10   99 
00006  988765 Brand new car            0.00     0.00    1  999 

. quit
*** END RUN     dBASE II     ***

Thw screen shot below shows adding new a database record in full screen mode with the APPEND command.



dBASE was quite innovative for its time and was one of the "killer applications" that drove the adoption of early microcomputers for business use. You can learn more from this Wikipedia article. The company behind dBASE is still in business and can be found at dbase.com.

Saturday, February 22, 2014

The Briel Altair 8800 Replica Kit

I recently built a Briel Altair 8800 computer kit. Introduced in 1975, the original Altair 880 was one of the first computers that could be built by a hobbyist. Microsoft's first consumer product was a version of BASIC for the Altair.



Vince Briel has been selling a replica of the Altair 8800 for a few years. As the front panel requires some custom manufacturing, the kits are offered in batches. Late last year pre-orders were taken for the fourth batch of the kits, and I placed my order for a kit (he also sells fully assembled systems). I also ordered the optional RAM disk that emulates two floppy disk drives and allows the system to run the CP/M operating system.



I've made a series of YouTube videos documenting my experiences with the system:


While I tried some original Altair programs like BASIC, and toggled some programs in with the front panel switches, mostly I have been running the CP/M operating system. I used CP/M back in the 1980s on several platforms, including an Apple II with a CP/M card. The old dial-up Bulletin Board (BBS) Systems, predating the Internet, often used CP/M and gave users command line access to it.



I'm having fun running old CP/M programs like the Star Trek and Zork adventure games and WordStar word processor.

Saturday, September 28, 2013

8080 Disassembler

I've ordered an Altair 8800 replica computer from Briel Computers. While I'm waiting for it to arrive, I've been reading up on the 8080 microprocessor, the Altair 8800, and CP/M operating system.

For fun I wrote an 8080 assembly language disassembler to help understand 8080 machine language and in preparation for playing with some 8080 assembler programs. I also used it as an opportunity to get more familiar with the Python programming language. It's the first significant program I've written in Python and it was relatively painless to code.

You can get the source code here. The program reads a binary file specified on the command line and produces a disassembly. It requires Python 3. It has been tested on Linux but should work on any platform that supports Python. See the source code for more details.

Here is some sample output using the first example program in the Altair 8800 manual:

% ./disasm8080.py ex2.bin 
0000            org     $0000
0000  3A 80 00  lda     $0080
0003  47        mov     b,a
0004  3A 81 00  lda     $0081
0007  80        add     b
0008  32 82 00  sta     $0082
000B  C3 00 00  jmp     $0000
000E            end

I implemented a number of options to control the output format such as the start address and whether to show the hex bytes or just instructions.

I'd say about one third of the effort was coding, one third was entering the table of 8080 instructions, and one third was learning how to do various things in Python, like reading a binary file and manipulating strings.

If is free software released under the Apache License. Give it a try if you are interested.