Home| Sanos| RC702| Documents| Links| Contact| Search|

Regnecentralen RC700 Emulator


Hardware

 

The RC702 was a Danish micro computer produced by Regnecentralen from 1980. The RC702 had a Zilog Z-80A CPU and 64KB RAM, one or two 5 1/4" floppy disk drives, as well as serial and parallel I/O ports.

The RC702 contains the following hardware:

  • Zilog Z80-A 4 MHz CPU
  • Zilog Z80-SIO/2 Serial I/O controller
  • Zilog Z80-PIO Parallel I/O controller
  • Zilog Z80-CTC Counter and Timer Controller
  • AMD Am9517A-4 (or Intel 8237-2) DMA Controller
  • Intel 8275 Programmable CRT Controller
  • NEC uPD765 (or Intel 8272) Floppy Disk Controller
  • SEM702 Programmable Character Generator (option)
  • Western Digital WDC1002 Winchester Disk Controller (option)
  • 64K RAM
  • 2K boot loader ROM
  • 8 configuration switches
  • speaker

A small note on terminology: RC700 refers to a complete stand-alone computer system consisting of a RC702 micro computer, a RC721/RC722 keyboard, a RC752 monitor, and one or two RC761/RC762 flexible disk drives. The RC700 was also often called RC Piccolo.

 

Software

 

The RC702 could run CP/M and a number of standalone systems like COMAL or UCSD Pascal. COMAL (Common Algorithmic Language) was a computer programming language developed in Denmark by Børge R. Christensen and Benedict Løfstedt in 1973. COMAL is a mixture of BASIC and Pascal. It is an interpreted language like BASIC, but with structured programming constructs like IF/ELSE/ENDIF, PROCedures, FOR/ENDFOR etc, much like you know it from the much later Visual Basic. In Denmark, and in a few other places, it was used for teaching programming in schools, and COMAL was the first programming language I learned.

The second programming language I learned was Pascal. I used Compas Pascal for CP/M-80 from a small Danish computer company called Poly-Data. Compas Pascal was written by Anders Hejlsberg, and was later to become Borland Turbo Pascal.

I have made disk images of all my old floppy disks for the RC702 which can be downloaded here. If you have any software on 5 1/4" floppy disks (original or not) made for (or compatible with) the RC700, you are very welcome to send me your floppies. I have made a PC that can be used for reading these and create .IMD files. After reading, I will return your floppy disks. Then you can run your own old programs on the RC700 emulator.

 

Emulator

 

I have developed a software-based emulator for the RC702 computer. It uses the Z80-SIM emulator for emulating the Z80 CPU. I have added support for interrupt mode 2 and emulation of the RC700 peripherals (PIO, SIO, CTC, DMA, FDC, ROM, etc.). Poul-Henning Kamp has been very kind and made a copy of the boot loader ROM from one of the RC702 machines at DDHF.

There is both a standalone version and a web-based version of the RC700 emulator. The web-based version does not implement all the features of the standalone version, but it is very easy to try out because it can be run directly in you browser without installing anything on your own computer. The web-based emulator requires a browser that supports WebSockets, which is supported by most modern browsers. You can try the web-based version here:

If you are running Windows, you can use the install program for installing the emulator on your computer:

This downloads and installs the RC700 emulator on your computer together with a number of sample disks. You can download more disk images for the emulator here. The install program associates .IMD files with the emulator, so you can download and run these images directly.

(NB: Your browser might complain that rc700-win-setup.exe is not safe to run because it is an executable. If you trust the setup program, you can instead download the setup program and go to you download directory and run the rc700-win-setup.exe program from there. If you don't like downloading and running .exe files directly you can instead download the zipped versions of the emulator below.)

The RC700 emulator can run on either Windows, Linux, Mac or bare metal and you can download binaries and source code here:
rc700-win.zip rc700.zip rc700.dmg rc700.flp rc700-src.zip

I have included a disk image (rccpm22.imd) for a RC700 56k CP/M 2.2 rel 2.1 boot disk.

If you download the Mac version, you can open the DMG file and drag the rc700 application to the Applications folder. You might have make it executable by running "chmod +x /Applications/rc700" in a terminal window. You will also have to download SDL-1.2.15.dmg from SDL 1.2 and copy SDL.framework to /Library/Frameworks.

The source code and binaries are distributed under a general BSD license.

To run the emulator you run the rc700 program with the boot disk image as command line argument:

$ ./rc700 rccpm22.imd

This boots up the RC700 in the emulator. The boot loader ROM, which has been compiled into the emulator program, boots from floppy A. The emulator has a SDL-based console for emulating the screen and keyboard and the disk image is used for emulating the floppy in the first drive. You can supply a second command line parameter for the floppy B disk image. F10 exits the emulator.

The emulator runs at roughly realtime speed, emulating a 4 MHz Z80 CPU. You can adjust the speed of the emulator with the -speed command line option. If you want to run the emulator at half speed you can add -speed 50 to the command line (useful for games), or you can use -speed 1000 to run the emulator at ten times the normal speed if you are impatient.

If you need to change disks (e.g. for the UCSD Pascal Loader), you can use the -monitor command line option. This will take you into the monitor when pressing F10, and you can then use the M (mount) command to re-mount floppy disk images.

 

Building from source code

 

If you have downloaded the source code version (rc700-src.zip), you have to first build the emulator. For Linux you need to have GCC installed to build the emulator:

$ apt-get install libsdl1.2-dev libsdl2-dev
$ make rc700

To build the emulator under Windows you need Microsoft Visual Studio and SDL 1.2 or SDL 2.0 development libraries:

C:\RC700> nmake -f Makefile.win

To build the emulator under Mac OS X you need Xcode and SDL 1.2 development libraries:

$ make -f Makefile.mac

 

Hard disk support

 

The RC700 emulator has support for a 10MB Winchester disk (i.e hard disk). You can download a blank hard disk image and use the -hd command line option to mount a hard disk image in the emulator:

$ wget http://www.jbox.dk/rc702/blankhd.zip
$ unzip blankhd.zip
$ ./rc700 -hd HD.IMG rccpm22.imd
RC700 56k CP/M 2.2 has support for using a 10MB Winchester disk where C: is a 900KB partition and D: is a 8MB partition.
RC700   56k CP/M vers.2.2   rel.2.1

C>A:

A>STAT C: DSK:

    C: Drive Characteristics
 7200: 128 Byte Record Capacity
  900: Kilobyte Drive  Capacity
  128: 32  Byte Directory Entries
    0: Checked  Directory Entries
  128: Records/ Extent
   16: Records/ Block
  384: Sectors/ Track
    3: Reserved Tracks

A>STAT D: DSK:

    D: Drive Characteristics
63360: 128 Byte Record Capacity
 7920: Kilobyte Drive  Capacity
  512: 32  Byte Directory Entries
    0: Checked  Directory Entries
 1024: Records/ Extent
  128: Records/ Block
  384: Sectors/ Track
   27: Reserved Tracks

A>

 

 

 
Regnecentralen RC700 system.

 
RC702 piccolo logo.

 
RC702 computer tag.

 
RC700 emulator running RC700 CP/M 2.2.

 
RC700 emulator running RC700 COMAL. This is running the first program I ever wrote!