Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
      CFX
      Hardware Hacks
      Legacy (1980s)
      MAGROM
      MTXPlus+
          Architecture
          Design Data
          Firmware
          Parts
          Software
              CP/M
                  BDOS
                  BIOS
                  CCP
                  Usage
              Compatibility
      PAL Reader
      Programmers
      ReMemotech
      ReMemorizer
      SDX
    Repairs
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

MTX Plus+ CP/M BIOS

 

All CP/M systems have their own Customised Basic I/O System (CBIOS, or just BIOS), used to interface the machine specific hardware with the high level CP/M function calls for such items as the keyboard, video display and disk drives. The CP/M BIOS and BDOS are combined into a single module loaded into high memory sometimes referred to as FDOS (Floppy Disk Operating System).

The start of the BIOS code contains a table of sixteen 8080 jump instructions, each of the jump instructions will execute one of sixteen possible CP/M 2.2 BIOS functions. The first jump instructions is at memory location 0000 and points to the wboot  (Warm Boot) function, since 8080 jumps instructions are three bytes in length, memory locations 0001 and 0002 contain the start address of the BIOS jump table

Apart from the wboot function, all the other BIOS functions are one of two types - serial or disk functions. The serial oriented BIOS functions transfer one ASCII character at a time to or from hardware devices and/or provide simple status about the devices. Under CPM2.2 there are four logical serial devices; Console (CON), List (LST), Punch (PUN), and Reader (RDR). Each of the four logical serial devices can be mapped to any of four possible hardware devices.

Memory address three contains the logical serial device mappings this memory location is referred to as the IOBYTE. The IOBYTE uses two bits per logical device to select one of a possible four hardware devices. Under CPM2.2 a program should use the BDOS service functions seven and eight to read and write the IOBYTE.

The list of BIOS functions in CP/M 2.2 are shown in the table below. (Some BIOS functions are duplicated in the BDOS, the value in parenthesis is the corresponding BDOS function.)

No. Function Mnemonic Loc. No. Function Mnemonic Loc.
0 System Reset (0) WBOOT 000        
Serial Functions Disk Functions
        7 Move disc head to track 0 HOME  
1 Get Console Status (11) CONST   8 Select disc drive SELDISK  
2 Console Input (6) CONIN   9 Set track number SETTRK  
3 Console Output (6) CONOUT   10 Set sector number SETSEC  
4 List Output (5) LIST   11 Set DMA address SETDMA  
5 Punch Output (4) PUNCH   12 Read a sector READ  
6 Reader Input (3) READER   13 Write a sector WRITE  
        14 Get List Status LISTST  
        15 Sector translation for skewing SECTRAN  

With the functions listed, there just remains the small matter of creating the software for MTXPlus+ !!!

 

 

 

 

 

mailto: Webmaster

 Terms & Conditions