So way back in my early teenage life, probably around 1982, my high school received its first school computer, a Research Machines 380Z.
Apart from the usual home computers seen often at the time on television, common high-street magazines and stores, this was the first ‘serious’ computer I’d probably seen up close in real life.
Packaged as it was in a serious looking metal case with a key that was required to start it up; this had all the trappings of a computer for doing serious things with.
I’m using the command line below to load the RM380z machine and necessary files into MAME (0.263) to get it to run. Remembering to press B at the initial prompt to tell the machine to (B)oot from disk to load CP/M. R command to boot to ROM BASIC does not work,
So I have the second floppy loaded with Microsoft BASIC for consistency with other machines that are using the same flavour of BASIC on them.
Note this is using the option to load the machine with the Hi-Res Graphics option.
mame rm380zhrg -ramsize 56k -window -rompath "C:\mame\roms\rm380z" -numscreens 1 -aspect1 4:3 -keepaspect -flop1 "C:\Mame\roms\rm380z\380Z_RML_CPM22C.IMD" -flop2 "C:\Mame\roms\rm380z\MBASIC.IMD" -uimodekey "AltGr" -mouse_device none
The Monitor commands are:
B – Boot CP/M (COS /F, COS /M, ROS 1.2, ROS 2.2)
X – Boot CP/M from another drive (as above) e.g. the B: drive
N – Boot network (ROS)
T – Enter terminal mode (ROS)
L – Load program from cassette (COS /C, ROS)
D – Dump memory to cassette (as above)
C – Continue program at restart address (as above)
J – Go to address
O – Select printer option (and cassette speed for COS /C, ROS)
M – Enable HRG board as memory (COS 3.4, COS 4.0)
W – Select 40 or 80 characters per line (All 80-column machines)
R – Start ROM BASIC (ROS 1.1, ROS 1.2, ROS 2.2)
Ctrl+Shift+8 – Break and return to current OS (ROS)
Ctrl+Shift+9 – Break and return to front panel (ROS)
Ctrl+F – Enter Front Panel (=the debugger)
Ctrl+T – Enter Typewriter mode
Ctrl+S – Autopaging on
Ctrl+Q – Autopaging off
Ctrl+A – Toggle autopaging
For anyone familiar with MAME you will be quick to note that I have intentionally split the machine ROM files into a sub-directory under the main ROMS directory, this is purely to help my own organisation and to make it easier to work with the files while I’m testing rather than bloating the main ROMS directory with trial files. Normally the rm380z.zip file would normally work from that location.
Reference Links:
Technical specifications
Hardware
CPU: The 380Z uses the Zilog Z80A microprocessor with a 4MHz clock.
RAM (Random Access Memory): The 380Z has sockets and circuitry for two blocks of dynamic RAM. Each block can use either 4K or 16K bit devices. 4K and 16K blocks can be mixed. Thus the basic 380Z can be supplied with up to 32K socket on one of the circuit boards.
Printer interfaces: The SIO-1 interface card is available to provide RS232 or 20mA current loop standard serial input output to serial peripherals.
Input/output support: cassette I/O can be selected to be at 300 or 1,200 bits/second. Output to the VDU is at a speed equivalent to about 5,000 baud with automatic paging, which can be suppressed. Output routines are included for the SIO-1, 2 and 3 interfaces and for the Centronics Line Printers.
Hard-copy: Three printers are available. The Centronics 701 is a 132-column dot matrix printer which uses ‘intelligent’ bi-directional printing to achieve a throughput of about 60cps. The Centronics 779 is an 80-column dot matrix printer with a throughput of about 30cps. The Trend 800 is a quiet, lightweight (11kg) printer with a 30cps throughput. It uses standard Teletype paper.
Disc system: Floppy disc systems are being developed along with the requisite software.
Software
RML 9K Basic: Size approximately 9K bytes; suggested minimum size of memory, 16K bytes; precision 7 digits; floating point. Commands, keywords and functions:
ABS | FN | LNULL | PLOT | SPC |
AND | FOR | LOAD | POKE | SQR |
ASC | FRE | LOG | POS | STEP |
ATN | GOSUB | LPOS | STOP | |
CHR$ | GOTO | LPRINT | RANDOMIZE | STR$ |
CLEAR | GRAPH | LVAR | READ | TAB |
COS | IF | LWIDTH | REM | TAN |
DATA | INP | MID$ | RENUMBER | THEN |
DEF | INPUT | NEW | RESTORE | TO |
DELETE | INT | NEXT | RETURN | TRACE |
DIM | LEFT$ | NOT | RIGHT$ | USR |
EDIT | LEN | NULL | RND | VAL |
ELSE | LET | ON | RUN | WIDTH |
END | LIST | OR | SAVE | |
EXP | LLIST | OUT | SGN | |
FILES | LLVAR | PEEK | SIN |
This is a fast general-purpose Basic interpreter with floating point numbers, string-handling functions, graphics, re-numbering and line editing. Extensions support the 380Z graphics and allow the plotting of symbols, characters and numbers. Two versions are available, the larger including also the ability to read and write data files on cassette, utilising the RML cassette file system.
RML 12K Basic: Size, approximately 12K bytes; suggested minimum size of memory, 20K bytes; precision 12 digits; floating point. This includes all the features of RML 9K Basic with additions. Lines may be formatted. AUTO line numbering. a RAM can follow every statement, MID$ can be used to insert a substring into an existing string. PRINT USING statement for formatted output—options, right-justified, numeric fields, decimal point alignment, floating £ sign, commas every three digits, string field specification. Hexadecimal constants. Substring search. Enhancement of user-defined functions (multi-line, recursive). Program loading under program control. COPY, EXCHANGE, CALL.
The RML 12K Basic will be of use in business and scientific applications requiring features not found in the RML 9K Basic. Due to its 12 digit precision, however, RML 12K Basic is not as fast as the RML 9K Basic. Graphics commands will be added to 12K Basic in late 1978.
RML 2K Tiny Basic: Suggested minimum size of memory, 4K bytes; precision: INTEGERS only. Range +32767 to -32767; commands, RUN, LIST, NEW, OLD, SAVE. Keywords: REMARK, LET, INPUT, PRINT, PLOT, IF, GOTO, GOSUB, RETURN, FOR, NEXT, STEP, GRAPH, TEST. Functions: ABS, RND, SIZE. This is a small, powerful, integer Basic adapted from Li-Chen Wang’s Palo-Alto Tiny Basic for the 8080. The original 8080 code has been streamlined to use Z80 codes and graph plotting with 380Z VDU graphics has been added. This is a Tiny Basic for graphics, games and learning Basic programming.
RML Interactive Text Editor: Suggested minimum size of memory, 8K: This is a character-orientated text editor comparable to text editors available on large mainframes. The editor responds to a command string which can include commands to locate, delete, type and insert characters and lines, and to move an internal pointer. A command string can be saved and executed as a Macro.
In the interactive mode, normal editor operation is continued and uses four scrolling lines at the bottom of the console screen. Whenever a command string is terminated, text either side of the pointer is displayed immediately on the upper 20 lines of the screen. Portions of the command string can be repeated n times using brackets—brackets can be nested up to eight levels. The editor also includes an immediate mode.
RML Z80 Assembler: This is an absolute assembler using Zilog mnemonics and producing object code in either the industry-standard Intel format or the RML binary format. The assembler incorporates a number of special features to speed program development on cassette-based systems.
Source text is copied into memory during the first pass: the second pass can be made using this stored copy, bypassing the relatively slow process of re-reading the source from cassette. Errors can be corrected using a co-resident editor which implements a subset of the commands available in the RML text editor. Larger programs can be assembled in stages in a similar manner, if desired, or in the normal line by line fashion.
Utilities: Supplied free with all 380Z/280Z systems. Diagnostics, Memory, cassette.
Prices
4K Bytes | £834 |
8K Bytes | £884 |
16K Bytes | £965 |
20K Bytes | £1,015 |
32K Bytes | £1,158 |
48K Bytes | £1,421 |
A 3K ROM Monitor is supplied as standard. The 380Z may be supplied without a keyboard. For cost of the 380Z without a keyboard, subtract £159 from the above prices.
Other hardware | |
---|---|
4K Bytes | £398 |
8K Bytes | £448 |
16K Bytes | £529 |
20K Bytes | £579 |
32K Bytes | £722 |
FDS-2 dual full floppy disc system | £1,695 |
MDS-2 dual minifloppy disc system | £895 |
MDS-1 single minifloppy disc system | £629 |
Printers | |
Centronics 701 | £1,389 |
Centronics 779 | £847 |
Centronics connecting cables | £5 |
Accessories | |
380Z-compatible cassette recorder with record/playback head accurately aligned. Includes connecting cable | £40 |
Video monitors from | £123 |
Interfaces | |
SIO-1 Serial Interface Card | £74 |
SIO-2 Serial Interface Card | £19 |
SIO-3 Serial Interface Card | £18 |
Software | |
ZPL 8K Basic Interpreter | £24·50 |
ZPL 12K Basic Interpreter | £75 |
RML Z80 Assembler | £25 |