.hm 1 .he PART 2: CPU SURVEY Information on Basic Computer Hardware .pa Š .he UCPM Manual -- CPU Survey, Page # CPU SURVEY Name of Computer: MITS Altair 8800 CPU chip: Intaì 8080 Clock rate in megahertz: 2 Standard RAM memory: 1K Expandable RAM: 64K Removed original 1K board and replaced with 64K Is RAM partitioned: No Procedure to switch banks: None Standard Operating System and Version number: CP/M 2 Other operating systems: None Peculiarities of this implementation, or BIOS: None Is there a standard Real-Time clock? No. Mountain Hardware 100,000 day clock added How is it accessed? I/O mapped as 16 ports Are real-time clock interrupts available to the programmer? Yes How? RST7 Procedure to initialize the RS232 port: ??? Procedure to set baud rate: ??? Other procedures to set RS232 port: ??? Procedure to send one byte to the RS232 port: ??? Procedure to receive one byte from the RS232 port: ??? Procedure to detect if a character is ready from the RS232 port: ??? Procedure to detect Carrier Detect: ??? Other CPU information: Purchased 1974. Last used 1980. Dual 8" Floppy. .pa Š CPU SURVEY Name of Computer: Altos 8000-10 CPU chip: Z80 Clock rate in megahertz: 4 Standard RAM memory: 208K Expandable RAM: Is RAM partitioned: bank switched, 4 48K banks 1 common 16K Procedure to switch banks: bit orientated port 25H Standard Operating System and Version number: MP/M II V. 2.12 Other operating systems: CP/M 2.2, CP/M 3.0, Oasis 5.4 Peculiarities of this implementation, or BIOS: none known Is there a standard Real-Time clock? yes How is it accessed? XIOS call Are real-time clock interrupts available to the programmer? Procedure to initialize the RS232 port: Z80 DART and SIO's Procedure to set baud rate: Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Procedure to receive one byte from the RS232 port: Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: not implimented .pa Š CPU SURVEY Name of Computer: AMSTRAD CPC 6128 CPU chip: Z80 A Clock rate in megahertz: 4 MHz + wait cycles Standard RAM memory: 128 kB Expandable RAM: 512 kB Is RAM partitioned: yes Procedure to switch banks: ? Operating System: CP/M Plus Other operating systems: BASIC Peculiarities of this implementation, or BIOS: 16 bit ports Is there a standard Real-Time clock? no How is it accessed? [Editor's note: presumably the Amstrad, having a CP/M 3.0 BIOS, has BIOS routines for accessing the serial port as the AUX: device and a standard CPM 3.0 real-time clock. Readers may correct this.] Are real-time clock interrupts available to the programmer? How? Procedure to initialize the RS232 port: home-made Procedure to set baud rate: home-made Other procedures to set RS232 port: Turbo-Pascal Procedures Procedure to send one byte to the RS232 port: auxout Procedure to receive one byte from the RS232 port: auxin Procedure to detect if a character is ready from the RS232 port:auxist Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Apple ][ with PCPI Applicard CPU chip: 6502 (Apple) Z80 (PCPI) Clock rate in megahertz: 1MHz (Apple) 6MHz (Z80) Standard RAM memory: 48K (Apple) 64K (PCPI) Expandable RAM: 128K (Apple/PCPI) Is RAM partitioned: No Procedure to switch banks: Operating System: DOS 3.3 (Apple) CP/M 2.2 (PCPI) Other operating systems: ProDos Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock? Optional (Z80CTC) How is it accessed? Interrupt driven Are real-time clock interrupts available to the programmer? How? Z80CTC Procedure to initialize the RS232 port: through Apple startup Procedure to set baud rate: programming the 6545 Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Procedure to receive one byte from the RS232 port: Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Apple IIe with Microsoft Softcard I CPU chip: Z80 Clock rate in megahertz: 1 Standard RAM memory: 48K Expandable RAM: 64K total Is RAM partitioned: Yes; 4K RAM is unavailable to CP/M. In Standard configuration, 44K RAM is available. In Expanded coniguration, 60K is available, but only 56K at any one time; there are two 4K banks, residing at $B000-$BFFF Procedure to switch banks: Memory mapped I/O: Read from $E08B twice to select 4K bank #1. Read from $E083 twice to select 4K bank #2. Operating System: CP/M 2.23 Other operating systems: Peculiarities of this implementation, or BIOS: Booting is done by the 6502, and then the z-80 is given control. All disk i/o is done by the 6502 processor; there is a method to switch between z-80 and 6502 to allow this. BIOS code for the 6502 resides in the 4K chunk of RAM not normally accessible by CP/M. Is there a standard Real-Time clock? NO How is it accessed? Are real-time clock interrupts available to the programmer? How? Procedure to initialize the RS232 port: Depends on the brand of plug-in card. Procedure to set baud rate:Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Procedure to receive one byte from the RS232 port: Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Big Board I CPU chip: Z80 Clock rate in megahertz: 5.0 Standard RAM memory: 64K Expandable RAM: none Is RAM partitioned: no Procedure to switch banks: auto bank switch between boot EPROM & RAM at reset. Operating System: CP/M 2.2 Other operating systems: none Peculiarities of this implementation, or BIOS: none that I know of Is there a standard Real-Time clock? no How is it accessed? n/a Are real-time clock interrupts available to the programmer? How? n/a Procedure to initialize the RS232 port: [uses Zilog Z80-SIO chip] init done at powerup by monitor EPROM. Procedure to set baud rate: [uses Zilog Z80-CTC chip] init done at powerup by monitor EPROM. Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Procedure to receive one byte from the RS232 port: Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: Other CPU information: Original system came with a Z80 running 2.5Mhz. I modified clock to 5Mhz and use a Z80B. .pa Š CPU SURVEY Name of Computer: Cromemco Z2D CPU chip: Z80 Clock rate in megahertz: 6 Standard RAM memory: 64K Expandable RAM: 64K Is RAM partitioned: Yes Procedure to switch banks: I/O to port 0x40 Standard Operating System and Version number: CP/M + (CP/M 3) Other operating systems: CDOS (Cromemco Disk Operating System) Peculiarities of this implementation, or BIOS: BDOS calls to emulate CDOS specific functions added BIOS automatically switches between SS and DS floppies Hard Disk partitioned into 3 logical drives Is there a standard Real-Time clock? No. Mountain Hardware 100,000 day clock added How is it accessed? I/Ï  mappeä  aó 1¶ portó oò througè standarä CP/M«  BDOÓ  anä  BIOÓ      functioî calls. Are real-time clock interrupts available to the programmer? Yes -­      Writå  enablå  tï  clocë  base+1µ  selectinç  interrupô  frequency®      Boarä wilì theî generatå RSÔ-Ø foò eacè interrupt® Ø ió selecteä bù      dið switcè oî board. Procedure to initialize the RS232 port: ??? Procedure to set baud rate: ??? Other procedures to set RS232 port: ??? Procedure to send one byte to the RS232 port: ??? Procedure to receive one byte from the RS232 port: ??? Procedure to detect if a character is ready from the RS232 port: ??? Procedure to detect Carrier Detect: Input from parallel port. Other CPU information: Konan Controller and Shugart 5Mb Hard disk with Konan S100 bus host adapter. .pa Š CPU SURVEY Name of Computer: COMPUPRO "Mostly Compupro S-100 machine" CPU chip: Z80 Clock rate in megahertz: 7.1 Standard RAM memory: 64K Expandable RAM: 16 meg! Is RAM partitioned: expansion memory is banked Procedure to switch banks: write bank number to I/O port Operating System: CP/M 2.2 Other operating systems: none Peculiarities of this implementation, or BIOS: Wrote my own BIOS, includes hard disk Cache and floppy track buffers. Is there a standard Real-Time clock? Nothing is 'standard', but there is one. How is it accessed? Hardware - thru IO space, Software - thru BIOS calls Are real-time clock interrupts available to the programmer? no How? Procedure to initialize the RS232 port: special commands to Macrotech ADIT Procedure to set baud rate: more special commands to ADIT Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Poll ADIT for buffer space, send byte when available Procedure to receive one byte from the RS232 port: Poll ADIT, read byte Procedure to detect if a character is ready from the RS232 port: Poll ADIT Š Procedure to detect Carrier Detect: Can ask ADIT, I don't bother. Other CPU information: ADIT has it's own Z-80, hard disk controller has 8085, all disk I/O is thru DMA I have 3 main terminals and a 'slave', each of which can be the main console, as well as repeater screens to see what is happening on other terminals. The biggest performance boost came from writing the hard disk cache routines for my 3 ST-225 drives. .pa Š CPU SURVEY Name of Computer: Epson PX-8 ("Geneva") CPU chip: Z80-compatible CMOS Slave CPU: 6301 Clock rate in megahertz: Standard RAM memory: 64k Expandable RAM: 64 or 128k, but only as RAM disk Is RAM partitioned: NO Procedure to switch banks: Operating System: CP/M 2.2 Other operating systems: Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock? YES How is it accessed? BIOS Call Are real-time clock interrupts available to the programmer? Procedure to initialize the RS232 port: Procedure to set baud rate: Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Procedure to receive one byte from the RS232 port: Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Epson QX-10 CPU chip: Z80 clone Clock rate in megahertz: 8? Standard RAM memory: 64K Expandable RAM: 256K Is RAM partitioned: yes Procedure to switch banks: unknown, does use ports Operating System: CP/M 2.2 Other operating systems: TPM, Valdocs Peculiarities of this implementation, or BIOS: Iî CPÍ-80¬ uppeò bankó oæ memorù arå useä foò á raí-disë (uniô m:)®      Iî  TPM¬ uppeò bankó oæ memorù arå useä foò extrá featureó  oæ  thå      Operatinç  System¬ e.g® graphics® Valdocó (VALuablå  DOCumentatioî      System© ió aî integrateä OS¬ worä processor¬ spreadsheet¬  communi      cationó system. Is there a standard Real-Time clock? Yes How is it accessed? SEE (1) Are real-time clock interrupts available to the programmer? No Procedure to initialize the RS232 port: See (1) Procedure to set baud rate: See (1) Other procedures to set RS232 port: See (1) Procedure to send one byte to the RS232 port: See (1) Procedure to receive one byte from the RS232 port: See (1) Procedure to detect if a character is ready from the RS232 port: See (1) Procedure to detect Carrier Detect: See (1)      Notå (1© ­ É havå donå alì theså anä caî looë iî mù  implementatioî      oæ  Kermiô  foò  thå  QØ-10¬ buô  thió  datá  ió  noô  immeditatelù      availablå tï me. .pa Š CPU SURVEY Name of Computer: (Homemade) CPU chip: Z80 Clock rate in megahertz: 4 MHz Standard RAM memory: 64K Expandable RAM: 0 Is RAM partitioned: No Procedure to switch banks: N/A Operating System: P2DOS Other operating systems: DRI CP/M 2.2 Peculiarities of this implementation, or BIOS: None Is there a standard Real-Time clock? Yes How is it accessed? P2DOS system call; BIOS jump table entry Are real-time clock interrupts available to the programmer? No How? Procedure to initialize the RS232 port: Not available to *.com programs Procedure to set baud rate: Not available to *.com programs Other procedures to set RS232 port: Not available to *.com programs Procedure to send one byte to the RS232 port: Any legal CP/M BDOS/BIOS call Procedure to receive one byte from the RS232 port: Any legal CP/M BDOS/BIOS call Procedure to detect if a character is ready from the RS232 port: CON status call Procedure to detect Carrier Detect: Not available to *.com programs Other CPU information:      RS23²  ports¬  bauä ratå set¬ anä carrieò detecô arå  alì  possiblå      (MEØ  haó beeî successfullù installeä anä supportó alì thå  carrieò      detect¬   anä  sï  on)®  However¬  eacè  prograí  needinç   speciaì      send/receivå protocoì haó beeî modifieä aó needed. .pa Š CPU SURVEY Name of Computer: Kaypro II - '83 - modified to Kaypro 8 CPU chip: Z80 Clock rate in megahertz: 2.5/5 switchable Standard RAM memory: 64K Expandable RAM: Is RAM partitioned: Procedure to switch banks: only done for ROM and video memory - PIO PA7 Operating System: CP/M 2.2 Other operating systems: Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock? no How is it accessed? Are real-time clock interrupts available to the programmer? How? Procedure to initialize the RS232 port: user supplied ( 3384 - SIO ) Procedure to set baud rate: write to port 0 ( 50 - 19200 baud, 0 - F ) Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: port 6 is status, port 4 is Procedure to receive one byte from the RS232 port: I/O - user supplied code Procedure to detect if a character is ready from the RS232 port: read port 6 Procedure to detect Carrier Detect: read port 6 use SIO doc ( not supplied )      ­ iæ yoõ reallù carå abouô detailó oæ RÓ 23² I/O¬ É wrotå aî inteò      rupô  driveî VT10° emulatoò foò thió machine® É caî supplù LOTó  oæ      code! .pa Š CPU SURVEY Name of Computer: MULTIFLEX CPU chip: Z80 Clock rate in megahertz: 4.00 Standard RAM memory: 64K Expandable RAM: 0K Is RAM partitioned: NA Procedure to switch banks: NA Operating System: CP/M 2.2 Other operating systems: NA Peculiarities of this implementation, or BIOS: NONE Is there a standard Real-Time clock? NO How is it accessed? NA Are real-time clock interrupts available to the programmer? How? NA Procedure to initialize the RS232 port: AT COLD START OR UNDER PROGRAM CONTROL The Intel 8251 chip is used for serial communications. The following sequence is sent to the 8251 control register (89): 00 (to reset chip to wait for a mode instruction) 00 00 40 4E (init to 8 bit port with no parity) 05 Procedure to set baud rate: Transmitted to the 8253 baud rate generator: control register port 87: 36 counter reg #0 port 84: A1,01 300b 68,00 1200b 34,00 2400b Other procedures to set RS232 port: NA Procedure to send one byte to the RS232 port: PUSH A (save data in A) LOOP IN 89H (get status) ANI 01H (check low order bit) Š JZ LOOP (loop until not zero) POP A (restore data) OUT 88H (send data to serial port) Procedure to receive one byte from the RS232 port: LOOP IN 89H (get status) ANI 02H (check bit) JZ LOOP (loop until not zero) IN 88H (read data from port) Procedure to detect if a character is ready from the RS232 port: see above Procedure to detect Carrier Detect: NOT AVAILABLE Other CPU information: THIS IS A 3-CARD S-100 SYSTEM. CPU HAS Z80, PARALLEL PORTS VIA 8255, SERIAL PORT, 64K DYNAMIC RAM, PHANTOM ROM MONITOR WITH BOOT FOR CPM FROM DISK. THE FLOPPY DISK CONTROLLER IS BASED UPON THE W1793 FDC CHIP; SUPPORT (UNIMPLEMENTED) FOR DMA. VIDEO CARD PROVIDES KEYBOARD PORT ON BOARD AND UP TO THREE SCREENS IN ONBOARD RAM. THE CPM USES A DDB - DISK DEFINITION BLOCK - ON THE BOOT TRACK. THIS IDENTIFIES THE FORMAT OF THE DISK - IF ONE IS NOT FOUND OR IT IS NOT VALID, THEN AN OSBORNE FORMAT IS USED. .pa Š CPU SURVEY Name of Computer: Northstaò Advantage CPU chip: Zilog Z80 Clock rate in megahertz: 4 Standard RAM memory: 64k Expandable RAM: non-standard Is RAM partitioned: YES Procedure to switch banks:      Fouò  i/ï controì portó definå memorù banë usage® Maiî RAM¬  videï      RAM¬  anä  booô  PROÍ havå IÄ valueó whicè mað theí  ontï  thå  64ë      addresó spacå area® Controì portó areº A0è A1è A2è A3h IÄ valueó areº 00¬ 01¬ 02¬ 0³ foò maiî RAM 80¬ 8± foò videï RAM 8´ foò booô PROM Operating System: CP/M 2.2 Other operating systems: Northstaò GDOS MSDOÓ 1.± (witè 8/1¶ hardware) CMÉ CP/Í (witè PROÍ hardware) Northneô (network© CP/M Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock?      No®   I'vå adapteä thå SMÔ nï-sloô clock® Otheró havå adapteä  thå      Kenmorå clock. How is it accessed? (non-standard) Are real-time clock interrupts available to the programmer? How¿ NO Asynchronous: 825± USART PORTS: PORTADDR° ½ 60è foò expansioî sloô 1 PORTADDR± ½ 61è " PORTADDR8 ½ 68è " PORTADDR° ½ 50è foò expansioî sloô 2 Š PORTADDR± ½ 51è " PORTADDR¸ ½ 58è " Procedure to initialize the RS232 port: 1® Initializå thå usarô usinç thå 0,0,4° oò thå 0,0,8° technique: XOÒ A OUÔ PORTADDR1 OUÔ PORTADDR1 OUÔ PORTADDR1 LÄ A,40H OUÔ PORTADDR1 2® Theî seô thå modå (asycnh¬ ¸ datá bits¬ ± stoð bit¬ nï parity) LÄ A,4EH OUÔ PORTADDR1 3® Lastly¬ reseô RTS¬ erroò flags¬ RCV¬ TX¬ anä seô DTÒ high LÄ A,37H OUÔ PORTADDR1 Procedure to set baud rate: *Uså 4°h foò 30° baud» 70è foò 120° baud» 78h=2400» 7Eh=9600 LÄ A,70H OUÔ PORTADDR8 Other procedures to set RS232 portº (none) Procedure to send one byte to the RS232 port: LÄ A,byte OUÔ PORTADDR0 Procedure to receive one byte from the RS232 port: IÎ PORTADDR0 Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Osborne 1 CPU chip: Zilog Z80 Clock rate in megahertz: Standard RAM memory: 64k Expandable RAM: Is RAM partitioned: effectively ; although there is what the Osborne manuals describe as "shadow RAM" in which some of the memory-mapped i/o is located Procedure to switch banks: Operating System: CP/M 2.2 Other operating systems: Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock? (clock cards are available from third-party vendors) How is it accessed? Are real-time clock interrupts available to the programmer? How? Asynchronous: Procedure to initialize the RS232 port: Procedure to set baud rate: Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: Procedure to receive one byte from the RS232 port: Procedure to detect if a character is ready from the RS232 port: Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Osborne Executive CPU chip: Zilog Z80 Clock rate in megahertz: 4.0 Standard RAM memory: 128k Expandable RAM: to 512k Is RAM partitioned: Yes Procedure to switch banks: Output Bank # to port #0 Banks are identified by bits in the byte output: bit 0 = Bank 1 (1) bit 1 = Bank 2 (2) bit 2 = Bank 3 (4) bit 3 = Bank 4 (8) bit 4 = Bank 5 (16) bit 5 = Bank 6 (32) bit 6 = Bank 7 (64) Video RAM bit 7 = Bank 8 (128) ROM Operating System: CP/M 3.0 (CP/M Plus) Other operating systems: UCSD p-System Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock? YES How is it accessed? Standard CP/M 3 BDOS Calls Are real-time clock interrupts available to the programmer? How? Yes--but complex. See George Peace's EXCLOCK program (in FOG library) for details and source code. Asynchronous: The Asynchronous ports use a Z80 SIO-2 chip The easiest way to address the asynchronous port is to use the CP/M Plus AUX: BDOS calls; more detailed info in Executive overlays for MDM, MEX, and IMP Procedure to initialize the RS232 port: Procedure to set baud rate: Other procedures to set RS232 port: Procedure to send one byte to the RS232 portº auxout Procedure to receive one byte from the RS232 portº auxin ŠProcedure to detect if a character is ready from the RS232 port: auxist Procedure to detect Carrier Detect: .pa Š CPU SURVEY Name of Computer: Stride 440 CPU chip: Motorola 68000 Clock rate in megahertz: 10Mhz Standard RAM memory: 1Meg Expandable RAM: 8Meg Is RAM partitioned: NO Procedure to switch banks: N/A Operating System: p-System (don't know what version - don't run it) Other operating systems: CP/M-68K V1.2 Idris, UNIX, RM/COS, Mirage, others. Peculiarities of this implementation, or BIOS: Has Multi-User hack (two BIOS levels - CP/M BIOS & Stride MU BIOS) Is there a standard Real-Time clock? YES How is it accessed? UnitRead on Stride MU BIOS Are real-time clock interrupts available to the programmer? Has Stride BIOS hooks to timer. How? Procedure to initialize the RS232 port: UnitInit BIOS call. Procedure to set baud rate: There is a Stride BIOS call to get/set any confifuration parameter (BAUD rate, XON/XOFF En/Dis-able, number of bits, parity, etc. Other procedures to set RS232 port: See above. Procedure to send one byte to the RS232 port: Stride BIOS call Procedure to receive one byte from the RS232 port: Stride BIOS call Procedure to detect if a character is ready from the RS232 port: UnitStatus Call Procedure to detect Carrier Detect: UnitStatus call Other CPU information:      Thió  systeí caî havå twï floppieó (minå does)¬ uptï ´  ST506/ST41²      harä  diskó uð tï 125Meç eacè (É havå á ST409¶ (80Meg© anä á  ST22µ Š     (20Meg)¬  anä  haó aî interfacå foò á 1/4¢ tapå cartridgå  (É  havå      one)® Mù systeí haó 4Meç oæ RAÍ anä á sparå VMÅ buó connectioî (noô      á reaì "slot¢ ­ meanô foò á Stridå "port¢ boarä ­ haó 4Meç wortè oæ      RAÍ  socketó anä ¶ RS23² ports)® Thå basiã Stridå 44° haó  twï  VMÅ      boardsº  á  CPÕ  board¬  whicè haó thå  68000¬  sockeô  foò  á  FPÕ      (Nationaì 16Ë series)¬ rooí foò 2Meç oæ RAÍ (comeó witè 1Meç  stan      dard)¬  ´ seriaì portó (RS23² witè RJ1± jacks)¬ á paralleì  printeò      porô  (Centronicó compatable)¬ OmniNeô interfacå (É don'ô uså  it)¬      duaì  floppù  controller¬  RTÃ (batterù  backup)¬  booô  PROMS¬  2Ë      batterù backuð CMOÓ RAÍ (holdó colä booô configuration)® Thå seconä      boarä haó rooí foò 2Meç oæ RAM¬ harä disë controller¬ QIÃ-0² inter      facå (tapå drive)¬ anä ¶ seriaì portó (RJ1± jacks)® Therå ió á lo÷-      enä  version¬ thå Stridå 420¬ whicè haó á smalleò poweò-supplù  anä      doeó  noô havå thå winchesteò boarä (harä disë coîtroller)¬  anä  á      higè enä version¬ thå 46° whicè haó á biggeò poweò supplù anä  rooí      foò twï porô boardó (12Meç RAM/2² seriaì ports)¬ iî-caâ space/poweò      foò  ´ harä diskó (thå 44° caî onlù havå ± drivå iî thå maiî boø  ­      mù  seconä  drivå ió external)¬ anä haó á couplå (three?©  oæ  reaì      livå VMÅ slotó (EurïBoards)® Alì threå havå thå samå CPÕ boarä  anä      ruî thå samå softwarå (modulï availablå RAÍ anä I/Ï devices). .pa Š CPU SURVEY Namå oæ Computerº SORÄ Í-68 CPÕ chipº 6800° anä Z80 Clocë ratå iî megahertzº 1° ?? Standarä RAÍ memoryº 640Ë Expandablå RAMº ?? Ió RAÍ partitionedº NO Procedurå tï switcè banksº Operatinç Systemº SORÄ OÓ (2.0?) Otheò operatinç systemsº CP/Í 68K¬ CP/M Peculiaritieó oæ thió implementation¬ oò BIOS:?? Ió therå á standarä Reaì-Timå clock¿ Yes Ho÷ ió iô accessed¿ Systeí Calls Arå reaì-timå clocë interruptó availablå tï thå programmer¿ How? Yes¬ systeí calls Procedure to initialize the RS232 port:?? Procedure to set baud rate:?? Other procedures to set RS232 port:?? Procedure to send one byte to the RS232 port:BIOS call Procedure to receive one byte from the RS232 port:BIOS call Procedure to detect if a character is ready from the RS232 port:BIOS call Procedure to detect Carrier Detect:?? .pa Š CPU SURVEY Name of Computer: Tektronix 4132 CPU chip: NS32016, Z80 emulation in software Clock rate in megahertz: 12.6Mhz Standard RAM memory: 1Mb Expandable RAM: 2Mb 64Kb is allocated for Z80 emulation Is RAM partitioned: No Procedure to switch banks: None Standard Operating System and Version number: UTek (BSD4.3 Unix derived) Other operating systems: CP/M + (CP/M III) Peculiarities of this implementation, or BIOS: BIOS written C compiled tï 32016 native instruction Set. Is there a standard Real-Time clock? Yes How is it accessed? Standard CP/M + BDOS calls Are real-time clock interrupts available to the programmer? NO Procedure to initialize the RS232 port: ??? Procedure to set baud rate: ??? Other procedures to set RS232 port: ??? Procedure to send one byte to the RS232 port: ??? Procedure to receive one byte from the RS232 port: ??? Procedure to detect if a character is ready from the RS232 port: ??? Procedure to detect Carrier Detect: ??? Other CPU information:      Abovå  procedureó implementeä viá UNIØ systeí calló anä IOCTLó  anä      accessablå througè standarä CP/M« BDOÓ anä BIOÓ calls. .pa Š CPU SURVEY Name of Computer: Televideo TS803 CPU chip: Z80 A Clock rate in megahertz: 4 Standard RAM memory: 64K Expandable RAM: 64K extra - total 128K Is RAM partitioned: YES Procedure to switch banks: write to port 0x13 - 0x00 accesses boot rom / screen ram / grafix ram 0x01 accesses normal TPA space (where CPM lives) 0x02 accesses extra ram addresses 0xe000 - 0xffff common to all three addresses 0xc000 - 0xdfff common to 0 and 1 Operating System: CP/M 2.2 Other operating systems: Other versions allow MOST additions Peculiarities of this implementation, or BIOS: Is there a standard Real-Time clock? YES (with caveats) How is it accessed? read a word from the zero page, add an offset to it call to that location with function number in C reg I don't have the info at my fingertips - in a month or so I'll repost with the full setup Are real-time clock interrupts available to the programmer? How? NO Procedure to initialize the RS232 port: output a byte string to port 0x2c full workings not available (wait a month :-) Procedure to set baud rate: write to port 0x2c / 0x2d or 0x2e Other procedures to set RS232 port: Procedure to send one byte to the RS232 port: write to 0x2f (definite) Procedure to receive one byte from the RS232 port: read from 0x2f Procedure to detect if a character is ready from the RS232 port: check a bit in one of 0x2d or 0x2e Š Procedure to detect Carrier Detect: check a bit in 0x2d 0x2e or 0x21 Other CPU information: timer keeps good time except during disk io: since the CPU looks after disk io interrupts get disabled, so the clock runs slow during disk access      Thió machinå ió fullù compatiblå witè thå Televideï TPÃ ­ it'ó  thå      samå boarä iî á portablå sizeä case.      Thå TS803È ió á harä disë versionº thió useó á SCSÉ porô  (accesseä      bù codå iî thå booô rom© tï talë tï á harä disk.      Thå disë controlleò ió thå WÄ 1793¬ anä É havå planó tï redisgî thå      disë  formaô  tï allo÷ á totaì oæ 440Ë peò disk¬ lesó  4Ë  foò  thå      directorù  leaveó 436Ë free® Uså oæ thió wilì requirå modó  tï  thå      booô rom¬ buô backwardó compatibilitù woulä bå maintained.      Thå  alphá  videï controlleò ió thå 6545¬ hencå  thå  magiã  cookiå      attributes.      Á DARÔ ió useä foò thå keyboarä interface¬ anä foò thå LSTº port (ports 0x30 - 0x33)      Thå PUNº RDRº portó arå parô oæ á generaì purposå MOSTEË chið  thaô      supportó seriaì IÏ (0x2ã ­ 0x2f)¬ paralleì IÏ (0x21)¬ threå  clock      /timeró  (can'ô remembeò porô addresses© ­ É thinë thå parô  numbeò      ió MOSTEË 3801.      Oî  á normaì versioî BIOÓ startó aô 0xea00¬ BDOÓ startó  aô  0xdc0¶      anä  CCÐ  aô  0xd40° (É havå á trimmeä dowî  BIOÓ  thaô  startó  aô      0xf200¬ witè BDOÓ aô 0xe406¬ CCÐ aô 0xdc00)      Additioî  oæ á Z8° DMÁ shoulä bå possiblå tï bypasó thå probleí  oæ      thå  clocë anä thå disk® Iî additioî thió maù makå thå screeî  ablå      tï  keeð  uð aô 960° baud® Currentlù wheî á deletå linå  oò  inserô      linå  arå  donå aô thå toð oæ thå screeî iô caî bå á biô  slowº  iî      particulaò toï slo÷ tï keeð uð aô fulì speeä 960° baud® Bù usinç  á      DMÁ anä changinç thå waù thaô thingó arå donå É believå thaô É  caî      geô thå screeî tï keeð uð aô 960° baud.      Iî additioî therå ió nï hardwarå screeî saver¬ buô mù reviseä  bioó      fakeó  iô  bù uså oæ thå timeò anä thå facô thaô  thå  screeî  useó      magiã cookiå attributes.     Standarä  BIOÓ allowó á mouså tï bå hookeä uð anä accesseä  bù  rsô      0x3°  (Inteì  rsô 6)¬ agaiî witè á functioî numbeò iî  thå  Ã  reg®      (thió ió parô oæ whaô goô trimmed!!) .pa Š CPU SURVEY Name of Computer: Visual Technology 1050 CPU chip: Z80 Clock rate in megahertz: 4 Standard RAM memory: 128k Expandable RAM: 0 Is RAM partitioned: YES (banked) Procedure to switch banks: BDOS call (? - internal to BDOS/BIOS) Operating System: CP/M 3.1 Other operating systems: (still trying) Peculiarities of this implementation, or BIOS: none (standard CP/M 3) Is there a standard Real-Time clock? YES How is it accessed? BDOS call (standard CP/M 3) Are real-time clock interrupts available to the programmer? Not that I know of. Procedure to initialize the RS232 port: (see below) Procedure to set baud rate: (see below) Other procedures to set RS232 port: (see below) Procedure to send one byte to the RS232 port: (see below) Procedure to receive one byte from the RS232 port: (see below) Procedure to detect if a character is ready from the RS232 port: (see below) Procedure to detect Carrier Detect: (see below) Other CPU information: RS-232 INFO:      Thå Visuaì 105° useó aî Inteì 825± UARÔ witè ² bitó oæ aî I/Ï  porô      useä  tï  selecô  thå  bauä rate® This¬  combineä  witè  thå  825±      internaì  clocë  dividers¬  allowó á fulì seô oæ  bauä  rateó  (30°      througè 19.2k)® Thå difficulô parô ió thaô thå seriaì I/Ï ió inter      rupô-driven¬  anä standarä routineó tï reaä ¦ writå thå  825±  wilì      noô  worë withouô somå fancù footwork® É havå aî overlaù foò  MEX¬      MXÏ-VI10.ASM¬ whicè workó fairlù well¬ buô it'ó toï complicateä  tï      gï intï here. .pa Š