Otrona_Attache_BIOS_Source_Listing_1983 Otrona Attache BIOS Source Listing 1983

Otrona_Attache_BIOS_Source_Listing_1983 Otrona_Attache_BIOS_Source_Listing_1983

User Manual: Otrona_Attache_BIOS_Source_Listing_1983

Open the PDF directly: View PDF PDF.
Page Count: 140

DownloadOtrona_Attache_BIOS_Source_Listing_1983 Otrona Attache BIOS Source Listing 1983
Open PDF In BrowserView PDF
OTRORA
Attache
Portable Coaputer

BIOS Source Listing

Version 2.2.3 published by Otrona Corporation, January, 1983
Written by S. Gray, R. Lingemann, R.Winter

CoRYright

Copyright (c) 1982 by Otrona Corporation. All rights reserved. No part
of this publication may be reproduced, transmitted, transcribed,' stored
in a retrieval system, or translated into any language or ·computer
language, in any form or by any means, electronic, mechanical, magnetic,
optical, chemical, manual, or otherwise, without the prior written
permission of otrona Corporation, 4755 Walnut st., Boulder, Colorado
80301. .
.

Disclaimer

Otrona Corporation makes no representations or warranties with respect to
the contents hereof and especially disclaims any implied warranties of
merchantability or fitness for any particular purpose. Further, Otrona
Corporation reserves the right to revise this publication and to make
changes from time to time in the content wi thout obligation of Otrona
Corporation to notify any person of such revisions or changes.

Trademarks

ATTACHE, Charton, and Valet are trademarks of Otrona Corporation, 4755
Walnut st., Boulder, Colorado. References are made throughout this
document to the WordStar word processing system and to the Control
Program for Microcomputers, commonly known as CP/M. WordStar is a
registered trademark of MicroPro International Corporation.of San Rafael,
California. CP/M is a trademark of Digital Research Inc. of Pacific
Grove, California.

Iptmilnqt;iap

This is the Attache Basic Input/Output (BIOS) source listing, version
2.2.3. -2.2- is the current version of CP/M. n.3 n is Attache's current
revision.
BIOS is the hardware dependent section of CP/M, (Attache's operating
system). BIOS interfaces wi th the Basic Disk Operating System (BOOS)
portion of CP/M to execute instructions at a physical level.
BIOS resides on the first three tracks of a system diskette, and is
loaded into memory at power on if the system diskette is properly
inserted in Drive A. An Erasable Programmable Read-Only Memory chip
(EPROM) contains the initial software which loads the BIOS Bootstrap
Loader from the disk.
The BIOS Bootstrap then loads the CP/M operating system into the 64K
bytes (256 pages of 256 bytes each) of Attache memory as summar ized in
the following illustratio~
FFFF [hex}

BASIC lNR11'/arrPUl'

sysr~

> 38

(BIOS)

piges

DADO {hex)
BASIC DISK OPERATnG

sysr~

(BIXlS)

CC06 lhexf

a:Nsx.E ~ PRtXESOOR
(a::P)

.
C400 {hex}

'mANSIENl' PRXilWl AREA
(TPA)

>-

195 piges

100 {hex}

. CP/M BUFFERS, Rf.GISTERS, INSl'RUcrlONS

1 IBge

J

CP/K MACRO ASSBM 2.0

ATTACHE 8IOS & BOOT; COPYRIGHT 1981, OTRONA CORP.

.001

TITLE 'ATTACHS BIOS" BOOT: COPYRIGHT 1981, OTRONA CORP.'
BIOS FOR VALET AND BASIC GRAPHICS (REV 1.2)
LAST 4 SECTORS ON SIDE 1 DELETED
I-------------------------------------~----------------I
I

f
I

OTRONA 500 SBRIES CP/M 2.2 BIOS & BOOT
I

I---~--------------------------------------------------I

S.GRAY
R.. LINGBIIANN
R.WINTER

11-08-1982

,
·"ACLIB
zao
·,: SELECT DISK PARAMETERS

0001 =
0000 ::
0006 ::

·

,
SlOBS
sau
TPI
sau
STPRAT SaU

.;,
0000
0038
9000
C400
CC06
DAOO
0002
0004
0003
0006
0009
0003
0081
0010

::
::
::
•
::
::
::
:&

=
::
==

::
::
::

FBOO ::

1

o
6

: SIDES
O=ONB <> O=TWO
: TPI
0=48
<> 0=96
: STEP RATE IN KS (MUST BE BETWEEN 2
: AND 32 IN EVEN INCREMENTS.)

CONPIGURATION

STACK
EaU
"SIZE
EaU
BIAS
EaU
CCP
EaU
BOOS
sau
BIOS
EaU
NDISK
sau
CDISK
sau
MMTR
EaU
MDISKOP EaU
,KDSPLY sau .
10BYTE EaU
10INIT EaU
KBUFLN EaU
FI1..BUF EaU
PAGE

ENDMRK+1:TOP OF STACK
56 ;CP/M VERSION KEMORY SIZE IN K-BYTES
OISIZE-20)*1024
3400H+BIAS ;BASE OF CCP
CCP+806H ;8ASE OF SDOS
CCP+1600H ;BASE OF BIOS
2
: NUMBER OF DISKS IN SYSTEM
0004H
; CURRENT DISK NUMBER ADDR.
0003H
: EPROM HONITOR ENTRY
0006H
: EPROM DISKO~ ENTRY
0009H
; EPROM DISPLAY ,DRIVER
0003H
: 110 BYTE LOCATION
81 H
: IN ITIAL lOB YTE VALUE
16
: KEYBOARD BUFFER SIZE
OFEOOH : BUFFER SPACE FOR FORMAT
: WILL BE CHANGED BY DISK ROUTINE

CP/M MACRO ASS EM 2.0

0057
0002
0002

0007
0008
0000
OOOA
00C8
OOOB
OOOF
0010
0003
0011
0090
0013
0018
001B
OOOC
OOOA
0020

=
=
=
=
=
=
=

=
=

=
=

=
=

=
=
=
=
=
=
=

.,

1/0

TIMCWO
TIKTCO
TIMTCI

.,

CONSTANTS
EgU
EgU
EgU

EgU
EgU
EgU
EgU
EgU
EgU
EgU
EgU
EgU
EQU
EgU
EgU
EgU
EgU
EgU
EQU
EgU

=
=
=

RWCODE EgU
MTRTIM EgU
MTRDLY EgU

OOOD

=
=
=
=

SRT

0000
0001
0002

004C
0002
0800
0200
OOOA
OOBE
00B6
0003

;TIMER CONTROL BYTE
;9600 BAUD
;9600 BAUD

7H

;BELL
;BACKSPACE
;CARRIAGE RETURN
;CTRL-J
;CTRL-JH
;CTRL-K
,·CTRL-O,
;CTRL-P
;CTRL-P5
;CTRL-Q
;CTRL-QP
;CTRL-S
;CTRL-X
;BSCAPE
;FORM FEED
;LINE FEED
;SPACB

8H

ODH
OAH
OC8H
OBH
.OFH
10H
OD3H
11H
90H
13H
18H
1BH
OCH
OAH
20H

FLOPPY CONSTANTS

0043
012C
0020

0010
OOOF
0000

57H
02H
02H

ASCII CODES

BEL
B5
CR
CTRLJ
CTRLJH
CTRLK
CTR,LO,
CTRLP
CTRLP5
CTRLQ.
CTRLQP
CTRLS
CTRLX
ESC
FF
LF
SPC

.
.,,

ATTACHE BIOS & BOOT; COPYRIGHT 1981, OTRONA CORP.

#002

·

40H+3
300
45

;R/W COK"AND-2 OR 3
;5S MOTOR TIMEOUT
;750"5. MOTOR START DELAY

EgU

16-(STPRAT/2); HEAD STEP RATE

EgU
EgU
EgU

16
OFH
0

,

=
=
=

DHLT
DHUT
ND
,
, CP/M
,
WRALL
WRDIR
WRUAL

=
=
=
=
=
=
=
=

, DISK
,
ALLTRK
BLS
BLKSIZ
HSTSIZ
HSTSPT
ALLDSK
DSKSIZ
SYSTRK

·
·
·

·
·

;DI5K HEAD LOAD TIKE
;DISK HEAD UNL.OAD TIKE
;D"A MODE

DISK RETURN CODES
EgU
EQU
EQU

0
1
2

;WRITE 10 ALLOCATED
;WRITE TO DIRECTORY
;WRITE TO UNALLOCATED

DRIVE PARAMETERS
BgU
EQU
EgU
EgU
EQU
EgU
EeU
EgU

36+(40*TPJ)+SIDES*(40+(40*TPI»
(TPI OR SIDES)+ 1
l024*BLS;OIRECTORY BLOCK SIZE
512
;H051 DISK SECTOR SIZE
10
;HOS1SEC10RS PER TRACK (CYL)
ALLTRK*S/BLS
ALLDSK -(21-(BLS*7)+ 1)
;SYSTEM RESERVED TRACKS
3

CPIlf MACRO ASSBM 2.0

1003

ATTACHE BIOS

& BOOT: COPYRIGHT 1981, OTRONA CORP.

0002

=

CMTSBC

EQU

2

0004

11

HSTBLK

EaU
EQU
EQU
EQU
8QU

HSTSIZ/128
;CPIff SBCT. PER HOST SECT.
HSTBLK - HSTSPT :CP/H SECTORS PBR TRACK
HSTBLK-l
;SECTOR MASK

0028
OOOl
C200
0027
0080
0002

OOCO

=
=
=
=
=
=

=

·
,

CPHSPT
SECMSK
BADDR
IIAXTRK

CCP-HSTSIZ
39+(40-TPl)
64-«SIDBS OR TPI)+l)
DIRBMTI (BLKSIZI 3 2)

DIRBMT

Eau

DIRALC

SOU

IF
ALOCO

DIRALC=l
SOU
80H

·,

BNDIP
IF

ALOCO

DIRALC=2

sau

oeOH

INDIF

IF
ALOCO

DIRALC=4
EQU
OFOR

SNDIP

0100

=

·,

TPA

EOU
PAGI

;HSTSIZ/PHYSICAL

100H

SECTOR SIZE

CP/M MACRO ASSE" 2.0

#004

ATTACHE BIOS & BOOT; COPYRIGHT 1981, OTRONA CORP ..

CP/I "AeRO ASSBM 2.0
OOPD •
00P8 •

OOFP •

OFLPY
ODSPY
DItAP

.

.005

ATTACH!

Bau
sau

OPOH
OPBR
OFFH

8QU

,

PAGS

BIOS" 800T: COPYRIGHT
;PLOPPY DATA
;OISPLA Y DATA
;RAK VIRTUAL MAP DATA

1981,

OTRONA CORPe

CP/M MACRO ASSBH 2.0

*006

ATTACHE 8IOS

&

800T: COPYRIGHT 1981, OTRONA CORP.

;1----------------------------------------------1
;1
BOOT - LOADED INTO F800H 8Y PROM
:1----------------------------------------------1
:800T CODE WILL BE SAVED IN SBCTOR 1 OF TRACK 0
:AND IS SET UP HBRE TO ASSEMBLE ONE SBCTOR LBNGTH
:AHBAD OF THE CCP. THB ADDRESS OFFSET FACTOR BS
:IS ADDED WHBRB NBBDED SO THE BOOT CODB WILL RUN
:WHBN LOADBD AT IT'S STARTING ADDRESS OF OFBOOH
;THE BIOS CBOOT ROUTINE IS ALSO RUN HBRE TO SAVE
:SPACE AS THE ONLY TIME THIS ROUTINE IS USBD IS
:DIRECTLY FOLLLOWING A SYSTEM RESET.
FEOO =
C200.=
C200
3COO =

MONSTK EQU
BTSTRT EQU
Of--1
;>--1
;>--1-;>--1

#

OF (ORA A/RAR) DEPENDANT
ON VALUE OF HSTBLK
;H05T SECTOR TO SEBK

CP/M ftACRO ASSBM 2.0

·

1021

ATTACHS BIOS

&.

BOOT; COPYRIGHT 1981, OTRONA CORP.

,
DC49
DC4C
DC4D
DC4F

ACTIVB HOST SECTOR?

2182PA
1B
3601
B1

LXI
KOV
IIVI
ORA
JRZ
DB

DCSO+2821

DCS2 3A19'A
DCSS 211DPA
DCS8 BB

·,,·

H,HSTACT
A,K
11,1
A
PILHST
28H,FILHST-S-l

;H05T ACTIVE FLAG
:ALWAYS BBCOMES 1
:WAS IT ALREADY?
;FILL HOST IF NOT

HOST BUPFBR ACTIVE, SAKE AS SEEK BUFFBR1
LDA
LXI
CliP
JRHZ
DB

DC59+2011

SEKDSK
H,HSTDSK
;SAME DISK?
;SEKDSK = HSTDSK?
II
NOIIATCH
20H,NOMATCH-S-l

SAKB DISK, SAME TRACK?
DCSB 2111'A
DCSB COCPOC

LXI

CALL
JRMZ
DB

DC61+2009

·

,

LDA
LXI
CliP
JRZ
DB

DC6A+2824
~

DC6C 3A83PA
DC6P B1
DC10 C4DBDC

DC13
DC16
DC19
DC1C
DC?F
DC82
DC85
De88
DC8c}
De8C
DeaD

3A19PA
321DPA
2A1APA
221SFA
3A81FA
3280FA
3A86PA
B7
C4DPDC
AF
3283FA

:1<'

PROPER

NOIIATCH:LDA
ORA
CNZ

··,,

= HSTTRK?

SAKB DISK, SAKB TRACK, SAME BUFFER?

DC63 3AilFA
DC66 2180FA
DC69 BB

·

H,HSTTRK
SBKCIIP :SBKTRK
MOIIATCH
20H,NOKATCH-S-l

SIKHST
H,HSTSEC
K
KATCH
28H,KATCH-S-l
DI~K,

:SEKHST = HSTSIC?
;SKIP IF KATCH

BUT NOT CORRBCT SECTOR

HSTWRT
A
WRITBH

;HOS1 WRITTEN?
:CLEAR HOST BUFF

"AY HAVB TO FILL THE HOST BUFFER

PILHST: LDA
SEKDSK
STA
HSTDSK
SEKTRK
LHLD
HSTTRK
SHLD
SIKHST
LDA
HSTSBC
STA
;NEBD TO READ?
RSFLAG
LDA
ORA
A
;YES, IF 1
CIZ
READH!
;0 TO ACCUM
XRA
A
HSTWRT
STA
;NO PENDING WRITE
,
COPY DATA TO OR PROft BUFFER

.

CP/K KACRO ASSE" 2.0
DC90
DC93
DC95
OC96
DC98
DC99
DC9A
DC9B
DC9C
DC9D
DC9B

3A7CFA
B603
6F
2600
29
29
29
29
29
29
29

DC9F
DCA2
DCA3
DCA4

11BIFB
19
BB
2A89FA

"ATCH:

DCA? 3A87FA
DCAA B1
DCAB+2006

'022

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

LOA
ANI
MOV
MVI
DAD
DAD
DAD
DAD
DAD
DAD
DAD
HL HAS
LXI
DAD
XCHG
LHLD
KVI·
LDA
ORA
JRNZ
DB

SEKSBC
SECMSK
L,A
H,O

;MASK BUFFER NUMBER
;READY TO SHIFT
:DOUBLB COUNT

H
H
H

H
If

H
H
RELATIVE HOST BUFFER ADDRESS
D,HSTBUF
;HL = HOST ADDRESS
D
;NOW IN DE
;GET/PUT CP/M DATA
DMAADR
C,128
;J,.ENGTH OF MOVE
;WHICH WAY?
READOP
A
RWlfOVE
;SKIP IF READ
20H,RWKOVE-$-1

WRITE OPERATION, HARK AND SWITCH DIRECTION
DCAD 3B01
DCAF 3283FA
DCB2 EB

MVI
STA
XCHG

A,l
HSTWRT

;HSTWRT = 1
;SOURCE/DEST SWAP

DE IS SOURCE, HL IS DEST, KOVE 128 BYTES
DCB3 IB
DCB4 018000

RWKOVE: XCHG
LXI
LDIR

DCB1+BDBO

.,

DB

; LDIR KOVES (DE>(-(HL)
; MOVE 128 BYTES
; DO MOVE
OBDH,OBOH

B,128

DATA HAS BEEN KOVED TO/FROM HOST BUFFER
DCB9
DCBC
DCBE
DCCl

3A88FA
FEOI
3A85FA
CO

LOA
CPI
LDA
RNZ

WRTYPE
WRDIR
ERFLAG

;WRITE TYPE
;TO DIRECTORY?
;IN CASE OF ERRORS
;NO FURTHER PROCESSING

CLEAR HOST BUFFER FOR DIRECTORY WRITE
DCC2 B1
DCC3 CO
DCC~ AI'
DCC5 3283FA
DCCS CnDBnC
nCCB 3A85FA
DCCE C9

.,

ORA
RNZ
XRA
STA
CALL
LDA
RET

A
A

HSTWRT
WRITEH
ERFLAG

;ERRORS?
;SKIP IF SO
;0 TO ACCUH
;BUFFER WRITTEN

;1----------------------------------------------1
;1

UTILITY SUBROUTINE FOR 16-BIT COMPARE

.,;1----------------------------------------------1

CP/M KACRO ASSBK 2.0
5BKCItP:
OCCP'
oeDO
OCD3
OCD4
OCD5

IB

OCD6
OCD7
OCD8
DCD9
OCDA

13
23
lA
B8
C9

217AFA
lA
BE
CO

.

,

.,

'023

ATTACHS BIOS & BOOT; COPYRIGHT 1981, OTRONA CORP.

:HL = .UHATRK OR .H5TTRK, COMPARE WITH SEKTRK
XCHG
LXI
H,SEKTRK
LOAX
0
:LOW BYTE COMPARE
CKP
It
:5A"E1
RHZ
:RETURN IF NOT
LOW BYTBS EQUAL, TEST ,HIGH IS
INX
0
INX
H
LDAX
D
CIP
It
;SBTS FLAGS

RIT
PAGB

CP IK ItACRO ASSBK 2.0

1024

ATTACHE BIOS

&

BOOT; COPYRIGHT 1981, OTRONA CORP.

.,
:'----------------------------------------------1
WRITBHST PERFORIIS THE PHYSICAL WRITE TO

;t

;1

THB HOST DISK, RBADHST READS THE PHYSICAL

:1 DISK.

.;1----------------------------------------------1
,

Dcoa 3E02
DCOD+lS02
DCOF 3E03
DCEI 32'70FA
DCB4 3EOA
DCB6 3282DA
DCB9 320BF8
DCBC CD62DO
DCBF 3A'70FA
DCF2 CD'7CDO
DCF5 3A'7CFB
DCF8 8'7
DCF9+2015
DCF8 3A'70FA
DCFE FB02
DDOO+2009
DD02 OB03
D004 06CD

:HSTDSK = HOST DISK I, HSTTRK = HOST TRACK I,
;HSTSEC = HOST SICT II. WRITE 'HSTSIZ' BYTES
iFROK HSTBUF ANO RETURN ERROR FLAG IN ERFLAG.
:RETURN ERFLAG NON-ZERO IF ERROR
WRITBH: ItVI
A,,2
JR
RDBI
DB
lSH,RDH1-S-1
READHS: ·IIVI. . A,3
RDH 1: STA
DSKCIID
RDH2:
IlVI
A,,10
; SET FOR 10 RBTRYS
STA
DSKFLG; INHIBIT VALET
HSL1: STA
RBCNT; STORE RETRY
CALL
GSTVFP; GBT REGS. FOR DISK
LDA
OSKCKD; GET COIlMAND FOR DISK
CALL
DISK
; DO DISK OPERATION
HSL2:
LOA
DSKCYC; GBT DSKCYC
ORA
A
; IF DSKCYC <> 0
JRNZ
HSL3
; THEN ... L3
DB
20H"HSL3-S-1
LDA
DSKCltD: ELSE TEST LAST OP
CPI
2
;IF READ JUST FINISHED
JRNZ
HSII
; THEN CONTI NUB
DB
20H,HSll-$-1
HSL5:
HSL6:

DD06+10FB
DD08 00
DD09+20F9
DDOS
DDOC
0001'
0010

AF
3282DA
C9
86BO

08

HSI1:
HSL3:

DD12+2SEI
0014 3A08FB
0011 3D
D018+20CF
DDIA 3109
DOIC CO'7CDO
DOlI' 210'71'9
D022 C046DD
D025 CD50DD

IIVI
KVI
DJNZ
DB
OCR
JRNZ

HSR1:
HSJ2:

XRA
STA
RET
ANI
JRZ
DB
LOA
DCR
JRNZ
DB
ItVI
CALL
LXI
CALL
CALL

C,3
; ELSE FORKAT OR WRITE JUST
B,OCDH ; DONE SO DELAY TO GIVB TIIIB
HSL6
; FOR TUNNEL ERASE FIELD TO
10H,HSL6-S-1
C
; DECAY.
HSL5
20H,HSL5-$-1
A
: OPERATION DONE
DSKFLG ; BNABLE VALET
OEOH
: IF NOT ERRONEOUS COMPLETION
HSL2
; THEN TEST DSKCYC AGAIN
28H,HSL2-S-1
RECNT
; ELSE OCR. RETRY RETRY
A
; COUNTER. IF <> 0
HSLI
THEN RETRY
20H,HSLl-S-l
A,9
: ELSE REPORT ERROR
DISK
H,OPTKSG: PUT UP OPTION KESSG.
DOERR
ERRKEY : GET KEY (CLEAR BUFFER 1ST)

CP/K KACRO ASSBK 2.0
DD28 1'151
D02A+2810
D02C PE49
D02B+28DB
DD30 FE12
DD32 C2B4DC
0035 3108
0037 CD1CDD
D03A+1813

·

,
HSR2:

.025

ATTACH! 8IOS & 80oT: COPYRIGHT 1981, OTRONA CORP.

CPI
JRZ
DB
CPI
JRZ
D8
CPI
JNZ
MVI
CALL
JR
DB

; IF KBY :r W
HSR2
, THBN WARM BOOT
28H,HSR2-S-1
'I'
; ELSE IF KEY = I
HSII
, THBN IGNORE LAST OPe
28H,HSII-8-1
12H
: ELSB IF <) KBY = CTRL/R
, THBN RBTRY DISK OPe
RDH2
A,8
.; ELSB RSPORT FOC RESULT BYTBS
OISK
HSRI
: LOOP TO OPTIONS AGAIN
18H,HSRl-S-l

LDA
ORA
CNZ
JKP

SBTP'LG
A
CLNVAL
WBOOT

LDA
ORA
JZ
JIIP

SBTPLG
A
: IF NOT IN VALET
IIBSSG , THIN KISSG
VALJlSG : BLSI VALlISG

D03C
DD3F
OD40
0043

3AFCF9
B7
C41ABD
C3CADA

0046
0049
OD4A
004D

lAFCF9
87
CA4DBI
C3141P'

OOIRR:

D050
0051
0054
OD55
0058
DDS8
D05C
0051'
0061

AI'
212BI'A
1'3
32FBF9
2238PA
FB
C06BBO
160F
C9

BRRKEY: XRA
LXI
01
STA
SHLD

·
,

·

,

.
.

'w'

.

.,: IFTHBNIN VALET
RBSET VALET VARIABLES
: WARM BOOT

.

A
H,KIYBUF
KIYCNT
KEYPNT

: CLEAR KEY80ARD BUFFER

81

CALL
ANI
RET

CoNIN
ODPH

: GIT KEY
; MAKB UPPBR CASE

·,;SBT.UP DATA FOR
& RBAOHS
,·
H,HSTBUF
GSTUF': LXI
WRI~IH

0062 21811'8
0065 3A1BFA
0068 57

·,

IF
OD69 FB28
0068+3803
0060 06A8
DD6' 57
0070
0073
0074
0075
0078
D07A
DD?8

3A80'A
3C
51'
3A10FA
0601
4'
C9

LDA
MOV

HSTTRK
D,A

SIDES
CPI
JRC
DB
SUI
MOV

KAXTRK+l
GSSIOO
38H,GSSIOO-S-l
MAXTRK+81H
O,A

BNDIF
,
GSSIDO: LOA
INR
MOV
LOA
MVI
MOV
RET

·

PAGB

HSTSEC
A
K,A
HSTOSK
8,1
C,A

CPIK KACRO ASSBK 2.0

11026

ATTACHE BIOS

&

BOOT; COPYRIGHT 1981, OTRONA CORP.

.,
;GBNBRAL FLOPPY HA'NDLER
;STARTS KOTOR, HOKES IF NBEDED,
;SBBKS IF NBEDED, AND INITIATES
;RBAD, WRITE, OR FORKAT
:INTRY PARAKETERS

.,

A = OPERATION CODE
o = RETURN CURRBNT STATUS
1 = FORKAT TRACK
2 = SBCTOR WRITE
3 = SECTOR RBAD
8 = DISPLAY FDC RESULT BYTE BRROR "SSG.
9 = DISPLAY BNGLISH DISK BRROR HSSG •
.

B = , OF SBCTORS TO TRANSFBR (HUST = 1)
C = DRIVB #
D = TRACK TO BBGIN TRANSFER (BIT 1 = SIDE)
B • SECTOR TO BBGIN TRANSFER
HL = ADDRBSS TO TRANSFBR TOIFROK

:

.,
..,:DSKCYC CODIS
;

0

= SUCCBSSFUL

=

COKPLETION

1
DFK DATA FORMAT
2 = DWR DATA WRITE
3 • DRD DATA RBAD

:
;

4 • RCI RBCAL 1

5
6

= SKI
= RC2
= SK2

SBBK TO 4
RBCAL 2
7
SBBK TO TRACK
8 = WFR WAITING FOR RBADY

;

·,;BRROR IS INDICATBD BY SETTING UPPBR BIT(S) OF
;THBDSKCYC SBQUBNCE CODB.
BIT 1
BITS 7,6
BITS 1,6,5

·,;1----------------1
:f

= U765 ERRONBOUS COMPLETION
= OPBRATION TIftE OUT
= U765 NOT RBADY
1

RBPORT DSKYC

;1----------------1
DD7C B7
DD7D+2006
DD7P 3A1CFB
DD82+CB7F
DD84 C9

DISK:

ORA
JRNZ
DB
LDA
BIT
DB
RET

;IF Ace. ()O
DSJ 1
; THBN GO NEXT TEST
20H,DSJl-$-1
DSKCYC : EL.SE TEST DSKCYC

A

7,A
OCBH,7*8+A+40H

·,;1--------------------------------------1

CP/K !ACRO ASSBH 2.0

• 021

ATTACHE BIOS

&

BOOT: COPYRIGHT 1981, OTRONA CORP •

:1 RIPORT ERROR WITH FDC RBSULT BYTES

I

.:1--------------------------------------1

DD8S PB08
0087·2020
0089 CD2BBO
DD8C 2135'9
DD8F CD40Bl
0092 3A6PPA
0095 41
0096 04
0091 217CPB
OD9A 0120
D09C CD1BBO
009' CS
DDAO 46
DDAI CD6011
DOA4 23
DDAS Cl
DOA6+10'2
DDA8 C9

"
DSJ1:

DSLl:

.,

CPI
JRNZ
DB
CALL
LXI
CALL
LOA
"OY
IIR
LXI
"VI
CALL
PUSH
!OY
CALL
INX
POP
OJNZ
OB
RIT

8
:1' ACC. (> 8
OSJ2
: THBN GO •• J2
20H,OSJ2-$-1
eRLP
H,DBR"SG
!ESSG
RESULT
B,A
B
H,OSKCYC
C,SPC
CONOUT
B
B,"
OSHBX
H
B
OSLI
10H,OSL1-"1

;1-------------------------------------1
;t RIPORT BRROR WITH ENGLISH !155AGB

I

.;1-------------------------------------1

,
DOA9 'B09

D5J2:

DOAB+2040
ODAD 21461'9
DOBO CD460D
DDB3 3A51'8
ODB6 B601
DDB8 C641
DOBA 3244179
DOBO 3A1CFB
ODCO 47
ODCl 8680
DDC3 2148179
DDC6 PECO

CPI
JRNZ
DB
LXI
CALL
LOA
ANI
ADI
5TA
LOA
HOV
ANI

9
DSJ3
20H,05J3-S-1
H,VCRLF
DOERR
RWUNIT

LXI

H,TERR ; NODISK
OCOH
DSVI
28H,05Vl-S-l

,. '

1

41H
ORVNU"
D5KCYC
B,A
OIOB

DDC8+281A

cPt
JRZ
DB

DDCA PBBO

CPI

DDCC+2002
ODCE 0600

JRNZ
DB
"VI

OEOH
D5V2
20H,D5V2-S-1 .
8,0
: SYSTEK

KOV

A,8

ANI

OFH

CPI
JRC

4

DDDO 78
DOD!" B60P
DDDl FE04
ODD5+3802

.,
DSV2:

DB

; ALL OTHERS

DSV2A
38H,D5V2A-S-l

CP/M "ACRO ASSBM 2.0
0007
DDD9
DDDA
DDDB
DDDE
DDEI

E605
3C
47
2149F9
110600
19

DDE2+10FD
DDB4 CD46DD
DDE7 2135F9
DDEA C346DD

DSV2A:

DSV3:
DSVI:

'028
ANI
INR
"OV
LXI
LXI
DAD
DJNZ
DB
CALL
LXI
J"P
PAGE

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.
5

; I.B. 7=5,6=4

A
B,A
H,CERR-6
D,6
0

DSV3
10H,DSV3-S-1
DOERR
H,DERMSG
DOBRR

.029

CP/M MACRO ASSBK 2.0

ATTACHS BIOS" 800T: COPYRIGHT 1981, OTRONA CORP.

.,
:1---------------------1

:I

DO DISK OPERATION

I

:1---------------------1
ODED
001'0
001'1
DOF3
001'4
DOF1
DDF8
DDF9
. DOFA
ODFO
DEOO
0103
0806
0108
0808

OBoe
OBOI

3210FA
1A
B680
01
32591'8
01
07
81
32491'8
32511'8
3261'8
3268'8
8603
32501'8
1A
867F
32581'8
3269'8
7B
325A'8

:

SAVS DISK PARAMETERS

OSJ3:

STA
1I0V

DSKCIIO
A,D

ANI

80H

RLC
STA
RLC

RWHD

RLe
ORA
STA
STA

RWUIIT
SDUNIT

STA

SKUNIT

ANI
STA

3

RCUNIT

A,D

STA

RWCYL

SKCYL
A,S

STA

RWREC

OE18 2244'8
011B2252'8

SHLD
SHLD

FIIADDR
RWADDR
B

OB11+CBOO
0120 OEOO
DB22 OB

08

OB23+B043
OE25+54F8

08

ow

RWCNT

OB21 3A10FA
OB2A FB01

LOA
CPI

DSKCMD
1

RLCR
MVI
DCX
SBeD

JRZ

RWCNT

ADD

C

A,39H

OE31+CB41

DB
ORI
DSJ5:

B

: DATA COUNT

DSJ5
: IF eOKIIAND
28H,05J5-$-1

STA
MVI
BIT

DSJ4:

+

08DH,43H

A,RWCODE

08

;--DATA ADDRBSS

B

DB
MOV
MVI

OE39+2002
OEl8 1'640
DElO 32511'8
DE40 1'3
DB41 2A6D'A

:--SECTOR

OCBH, OOH
C,O

OB2C+2812
DE2E 4'
DB2F 3843
DEll 81
OB32 3256F8
0835 3839

JRNZ

:--CYLINDER

7FH

STA
IIOV

0lU1
0114
0115

:--HD " UNIT

C
FIIUNIT

STA

IIOV
ANI

:SBT UP DISK OP. TABLES

C,A

= FORIIAT,

ELSB S8T UP RWTBL

RWCIID

o,e

OCBH,0*8+C+40H
DSJ4
20H,D5J4-5-1
40H

STA
01

RWTBL

LHLD

KTRCHT

:BXAIIINB MOTOR COUNT

THEN SKIP

CP/M MACRO ASSEft 2.0
OB44
0845
OB46
0849

7C
B5
212COI
2260FA

D84C+2846
084E FB
OB4F CDB50E
OB52+CB6F
D854+2009
OE56 210000
0859 226DFA
D8SC CaOBDF
D85F CD77D8
DB62 78
OB63 B7

05J5A:

0864+2807
0866 3B07
OB68 2166F8
DB6B+1805
DB60
DE6F
OB72
OB75
OB16

3E04
2148F8
COBeDE
FB
C9

D5J8:
05J10:

.

,

f

'030

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

MOV
ORA
LXI
SHL.D
JRZ
DB

A,H
L
:IF MOTOR ON
H"KTRTIK
MTRCNT
5TRKTR
2SH"STRMTR-S-l

EI
CAL.L.
BIT
DB
JRNZ
DB
LXI
SHL.D
JlfP
CAL.L
tlOV
ORA
JRZ
DB
MVI
LXI
JR
DB

SNSTAT
5"A
OCBH,,5*S+A+40H
DSJ5A
20H"DSJ5A-$-1
H,O
tfTRCNT
NOTRDY
GTFLGS : EXAMINT;: PROPER HtfFLG"
A"M
A
;IF HtfFLG = 0
DSJS
2SH,DSJ8-S-1
A,,7
: DSKCYC = 7
H"SKTBL
DSJIO
ISH ,DSJ 10-$-1

"VI

LXI
CALL.
EI
RET
PAGE

A,4
: DSKCYC
H"RCLTBL
OORCSK

=4

CP/M MACRO ASSBK 2.0

• 031

ATTACHB BIOS

&

BOOT: COPYRIGHT 1981 .. OTRONA CORP •

.,
:1------------------------------1
:1

DB77 3A57F8
DB7A 2176FA
DB7D+CB47
DE7F C8
D880 23
DB81 C9

MISC. DISK ROUTINBS

.:1------------------------------1
'"

GTFLG5: LOA

LXI

BIT
DB
RZ
IMX

,

RWUNIT : GBT PROPER HKFLG
H..HKFLGS
O,A
OCBH"O-8+A+40H

H

RIT

II

DB82
DI84
DB81
DB88
D889
DB8B
DE8B
DB8F

3B3C
32A9FB
AI'
85
0608
211DPB
71

5ITOT:

KVI
STA
XRA
PUSH
KVI
LXI

SDTLI:

23

DB90+10PC
DB92 11
DB93 C9

KOV
INX
OJNZ
DB
POP
RET

A,,60
:SIT OPERATION TI6EOUT
OSICNT ; (0ICRIKENT8D BY SRV60)
A
H

B,8
H,STO
K,A

: AND CLEAR RESULT BYTES

H

SOTLI
10H,SOTLI-IS-l
H

START DRIVE HOTORS
DB94
DB96
DB99
DB98
D89B
DBAO'
DEA3

3B28
CD840B
3808
321CFB
D607
CD27Bl
FB

DEA4 210000
DEA1 2216FA
DEAA C9

DIAB
DIAD
DIAR
DEBI

0608
48
CDZBDF
41

0882+101'9
DBB4 C9

A,40
STRITR: IVI
CALL
51TDT+2 : 1/2 SECOND FOR DRIVB UP TO SPEBO
MVI
A,8
: OSICYC = 8
STA
DSKCYC
SUI
7
CALL
LLATCH
HI
,
: CLEAR HOMB FLAGS
,
CLRFLG: LXI
H,,0
SHLD
HKFLGS
RBT

·
·

·

CLSAR ANY RBSULT BYTES FROM FDC
AND ISSUE ILLBGAL COMMAND TO RESHT

,
CLRFDC: MVI
CFLl:
KOV
CALL
MOV
DJHZ
DB
RET
PAGB

B,8
; CLEAR FOC
C,B
R765
B,e
CFLl
10H,CFLl-$-1

2.0

CP/M MACRO ASSBM

#032

ATTACHE 8IOS 6. 800T: COPYRIGHT 1981. OTRONA CORP.

:'----------------------------------------------,

:I
:I

:1
:I
:1
:1

:1

8ASIC FLOPPY DRIVER
SETS UP 80TH FLOPPY CONTROLLER AND DKA FOR 1
A FLOPPY OPERATION AND DELIVBRS COIUiAND.
1
SBB FLOPPY COMMAND TABLES FOR TABLE FORMAT. I
RETURNS WITH Z FLAG SET IF A TIMEOUT OCCURS. I
' A' CONTAINS ST 3 ON EXIT FOR 'SENSE DRIVE
STATUS' COMMANDS

:1----------------------------------------------,

DBB5 215FF8
DEB8 3EOI
DB8A+1805
OBBC
DBBF
DBCl
DEC4

321CFB
3B02
326FFA
CD82DE

DBC? 54
DEC8 5D
OBC9+CB66
DBCB+281F
DBCO 3B44
DBCF+CB16
01Dl+2802
DBD3 3848
DBD5 D3EB
DBD? BS
DBD8 23
DBD9 OBBO

,
·:---LEAVES INTERRUPT DISABLED ---,·
SNSTAT: LXI
H,SDSTBL
; SENSE DRIVE STATUS

·,

A,l
DORCS1
18 H,00RCSl-S-1

DORCSK: STA
MVI
DORCS1: STA
CALL
,
DROP

DSKCYC
: SEEK OR RBCALIBRATE
A,2
RBSULT
SETDT
THROUGH TO DISKOP

DISKOP: !fOV
MOV
8IT
DB
JRZ
DB
MVI
BIT
DB
JRZ
DB
"VI
DOJ2:
OUT
PUSH

D,H

··,

INX

DBDB+EDAl
DEDD+BDAl
DBDF OBBI
DEBl+EDA3
DBEl+BDA3
DBES 3BOO
DBB1 03BA
DBB9 2B
DBEA BB
DBBB 11
DIBC BS

MVI
JR
DB

00J3:

MVI
OUTI
DB
OUTl
DB
MVI
OUTI
DB
OUT1
DB
MVI
OUT
DCX
XCHG
POP
PUSH

E,L
4,K
OCBH,4-8+K+40H
DOJ3
:Z=SKIP DMA SETUP
28H,DOJ3-$-1
A,44H
:--5BT UP OKA IIODE

6,1'1
OCBH,6-8+M+40H
00J2
28H,00J2-$-1
A,48H
DKAWMR
H
H
C,FPYBCA
OEDH,OAlH
OBDH,OA3H
C,FPYBWR
08DH,OA3H
OEDH,OA3H
A,O
DMAWSM ;--IIASK OFF
H
H
H

:SENO 165 COMMANDS

.CP/M MACRO ASSIM 2.0
DIID 78
oBBB 160'
olFO 47
olFI 62
0lP2 6B
DIF3
DIF4 23
0lF5 4B
0lF6 C5
OBF7 CDl8DP
DBFA Cl

'033
HOV
ANI
HOV
HOV

OFOO+CB71
OF02 C8

HOV
01
INX
HOV
PUSH
CALL
POP
JRZ
DB
OJNZ
DB
POP
BIT
DB
RZ

OP03
OP05
OP08
DP09

"VI
CALL
RNZ
PUSH

'3

DOL2:

DBFB+2800
DBFD+I0F5
OBFF 11

0601
CDOOIO
CO
15

OPOA 11
OFOB
OPOB
OP11
OP13
OP16
OP17

CDABOB
3A7CPB
F6BO
321CPB

·,
POP
,·
HOTRDY: CALL
DOJ5:

AF
C9

OP18 061F

H
C,M

:ISOLATI # BYTES TO SBND
:B=#OF BYTES

;DO UNTIL B=O OR ERROR

B

W165

: SEND ONE BYTB TO FDC

B

DOJ5
: GO •• J5 IF ERROR
28H,00J5-8-1
DOL2
:BND 00
10H,OOL2-$-1
H

7 ,M
;IF READ ST 3
OCBH,1*8+H+40H
: THEN GO •• J4
B,1
: READ ST3
RBDRBS
: HAVB READ ALL BYTBS
H
: ELSE ERROR
H

;KEBP SP CURRBNT

CLRFOC
OSKCYC
OBOH
DSKCYC
A

:RBTURN (BRROR)

B,IFH

W7L2:

DF24+2803
OF26+10F6
DF28 C9
D'29 B7
DF2A 19
DF2B D3FO
DP2D C9

A,M
OPH
B,A
H,D
L"B

·:THI5 ROUTINB WILL' WAIT FOR" NEXT BYTE -READY' THEN SEND THE
;CO""AND PASSBD IN THB C REG TO THB FLOPPY CONTROLLER
,·
W165:
MVI
,

W1Ll:
0'IA+I0'8
OPIC 060A
OFlE OBFC
0'20 B6CO
OF22 FE80

LOA
ORI
STA
XRA
RBT

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP •

W7Jl:

.,

DJNZ
DB
MVI
IN
ANI
CPI
JRZ
DB
DJNZ
DB
RET
ORA
MOV
OUT
RET

W1Ll
;DELAY 36 US.(4 KHZ)
10H,W1Ll-S-l
B,10
SFLPY
;READ STATUS

oeOH

;

A

:CLEAR THE Z

A,e
DFLPY

;SBND COMMAND

80H
;WE WANT B1 ON & B6 OFF
W7Jl
:GO SEND BYTB
28H,W7 Jl-$-1
W7L2
;DEC CNT LOOP
lOH,W7L2-S-1

;1H15 ROUTINE WILL WAIT NEXT BYTE READY THEN INPUT THE
:NBXT STATUS BYTE FROM THE FDC

CP/M MACRO ASSBM 2.0

800T: COPYRIGHT 1981, OTRONA CORP.

.034

ATTACHE BIOS

8,1FH
R7Ll
:DBLAY 36 U5.(4 MHZ)
10H,R7L.l';'S-1
8,10
:SBTUP COUNT
SFLPY
:READ STATUS
OCOH
OCOH
:WE WANT B1 & 86 ON
R7Jl
28H,R1Jl-$-1
:DBC CNT & LOOP
R1L2
10H,R7L2-S-1

&

.,
DF2E 061F

R765:
R7Ll:

DF30+10FE
DF32 060A
DF34 D8FC
DF36 B6CO
DF38 FBCO

IIVI
DJNZ
D8

R7L2:

IN
ANI
CPI
JRZ
D8
DJNZ
DB
RET
ORA
IN
RET

!lVI

DF3A+2803
DF3C+I0F6
DF3E C9
DF3F B7
DF40 DBFD
DF42 C9

R7Jl:
,.e.

PAGE

A
DFLPY

:RBSET Z
:READ A 8YTE

• 035

CP/M MACRO ASSIH 2.0

ATTACHB BIOS & BOOT: COPYRIGHT 1981# OTRONA CORP •

.,
:11------------------------------------11

:'1
: II

FLOPPY INTBRRUPT ROUTINE

:11

II
II

II

:11------------------------------------11
DF43+ED13
DF45+49FA
DF47 31C2FF
DF4A B5
DF48 D5
DF4C CS
DF4D F5
DF4B D8FC
DF50 B6I0
DF52+2811

SRVFPY: SSPD
DB
DW
LXI
PUSH
PUSH
PUSH
PUSH
IN
ANI
JRZ
DB

.,

TBHSTK
OBDH#13H
TIIISTK
SP"INTSTK
H
D
B

PSW
SPLPY
10H
: IF Foe NOT BUSY
FPJ2
: THBN SBNS! INT. STATUS
28H"FPJ2-S-1

:1-----------------------------------------1
: t RBSUL T PHASB FOR RBAD, WRITB OR FORKAT

,

;1-----------------------------------------1
OF54 0601
OF56 CDOOBO

"VI

CALL
JRZ
D8
LOA
ANI
LXI

OF59+2822
OF58 3A1DFB
OF5B B6F8
OF60 211CFB

~ . :.~!:,~JRNZ

OF63+202C

DB

8,,1
; ELSE RBAD 7 RBSULT BYTBS
RIDRES
FPJ3
: DIDN"T READ ALL BYTBS
28H,FPJ3-S-1
S10
; 'CHBCK 5TO
OF8H
: IF STO NOT OK
H"DSKCYC
FPJ5
: THBN ERROR
20H"FPJ5-S-1

;1-----------------------------------------------1
;1

RBSULT PHASE FOR SEBK" RBCAL OR RBADY CHANGE

I

.

:1-----------------------------------------------1

OF65 OB08
OF67 CDl8DF

,
FPJ2:

OF6A+2811
OF6C CD2BDF
OF6F+280C
OF11 4F
OF12 FB80
OF14+281F
OF76 217DFB
OF79 11
OF?A CD2BDF
DF7D CA29BO
OF80 23
01'81 17

FPJ3:

KVI
CALL
JRZ
DB
CALL
JRZ
DB
MOV
CPI
JRZ
DB
LXI
MOV
CALL
JZ
INX
MOV

C,8
W165
; ISSUE SENSB INT. STATUS
FPJ3
; IF ERROR, THEN GO DBRTI!
28H,FPJ3-S-1
R165
FPJ3
: READ 1ST RESULT BYTE
28H,FPJ3-S-1
C,A
: SAVE 5TO
80H
; IF INVALID COlflfAND WAS ISSUBD
FPOK
: THBN WE ARB DONB
28H,FPOK-$-1
H,STO
K,e
: ELSB STORE STO
R765
; READ NEXT BYTB
DSRTI" : FDC NOT READY
H

K,A

: STORE 5T1

CP/M MACRO ASSBM 2.0
OP82 79
OP83 E6F8
OP85 FE20
OF87+280C
OP89 217CFB
OF8C 7E
OP8D FE08
FPJ4:
OF8F+2845
FPJ5:
OF91+CBFE
DF93+18DO

#036

ATTACHE BIOS

ftOV
ANI
CPI
JRZ
DB
LXI
MOV
CPI
JRZ
DB
SETB
DB
JR
DB

A,C
OF8H
20H
: IF SEEK OR RECAL JUST DONE
FPJ2
: THiN CHECK FOR HIDDER INTo
28H,FPJ2-S-1
H,DSKCYC: ELSE READY LINE HAS CHANGED STATE
A,ft
S
: IF WAITING FOR READY
IIEND
; THEN EXIT
28H,IIEND-S-l
7,ft
: ELSE ERROR
OCBH,7*S+M+OCOH
FPJ2
; CHECK FOR HIDDEN INTe
lSH,FPJ2-S-1

&

BOOT: COPYRIGHT 1981, OTRONA CORP.

;1--------------------------------------1

;I

0

CHECK FOR NEXT OPERATION, "

I.

.,:1--------------------------------------1 .
OP95
OP96
OP99
OP9C

AF
32A9FB
211CFB
7E

FPOK:
FPJS:

OP9D+CB7F
OP9F+2039
DFA1 3600
DPA3 0604

08

MVI
SUI

DFA5+382F
OFA7+200B

XRA
S1A
L.XI
ftOV
BIT
OB
JRNZ

.

JRC
D8
JRNZ
08

,
DFA9
OPA8
OFAE
DFAF

3804
3269F8
3C
2166F8

MVI

STA
INR

LXI
JR
DB

D'82+181F

A

DSKCNT ; CLBAR DSKCNT
H,DSKCYC; AND CHECK DSKCYC
A,ft
7 ,A
: IF 8IT 7 SET
OCBH,7-S+A+40H
FPC7
: THBNBRROR
20H,FPC7-S-1
M,O
; BLSE CLiAR DSKCYC
4
; IF D5KCYC :I 0,1,2, OR 3
IlEND
; THBN EXIT
3SH,IIEND-$-1
FPCl
; EL.SE IF DSKCYC (> 4 THEN .. CI
20H,FPCl-S-l
A,.4
: DSKCYC NOW = 4
SKCYL.
: SO DO SEEK TO TRACK 4
A
: NEW DSKCYC = 5
H,SKTBL.
FPC9
lSH,FPC9-S-1

JR
DB

A
; IF DSKCYC (> S
FPC2
; THBN •• C2
20H,FPC2-S-1
H,RCLT8L; DSKCYC NOW = S
A,6
: 50 DO 2ND RECALIBRATE
FPC9
lSH,FPC9-$-1

OPBF+2018

OCR
JRHZ
DB

A
: IF D5KCYC (>
FPC5
: THEN •• CS
20H,FPCS-S-l

OFCI CD77DE
OFC4 34

CALL
INR

It

DFB4 3D

FPCl:

OFB5+2007
DFB7 214£F8
DPBA 3E06
DFBC+1815
OP8E 3D

OCR
JRNZ
OB
LXI
MVI

.

,
FPC2:

GTFLGS

6

: DSKCYC NOW = 6
SET PROPER HKFL.G

: SO

CP/M HACRO ASSI" 2.0

1031

OPCS 3A58'8
DFC8 B7

LOA
ORA

OPC9+2811
OPCB 3269F8
OFC! 2166F8
OPD1 3107
OFD3 CDBCDE
OFD6 C309F5

DB
STA
LXI
"VI
CALL

JRZ

OFD9 3D
OFDA+2040
OPDC 3107
OFDE 326F'A
OPII 212COl
OFE4 2260BA
OFB7 3A70FA
OFEA 327CPB
OPEO 3D

'PC9:

.,

IlENO:

JIIP.

FPCS:
FPC?:

OCR
JRNZ
DB

PPC6:

"VI

STA
LXI
SHLD

LDA
STA
DCR

JRNZ
OPBI+2005
OFFO 2143P8
OP'3+1803
OFF5 2151F8
OP'8 CD820B
OFFB CDC7DB
DPFI+18D6

DB

LXI
JR
DB
ppe3:
PPC4:

.,

LXI
CALL
CALL

JR
DB

ATTACHE BIOS

: T~IN SEEK TO DESIRED TRACK

RWCYL

A
FPC6
28H,FPC6-$-1
SKCYL
: STORE TRACK IH SEBK TABLE
H,.SKTBL •
A,7
; NBW OSKCYC = 7
OORCSK : SEEK TO TRACK
IBND
A
: IF OSKCYC (> 7
DSKBRR ; THEN BRROR,. ARE NO OTHERS
20H,.DSKERR-S-l
A,.7
; OSKCYC HOW = 7
RESULT
H,.KTRTIK: SO RESET MOTOR TIMER
"TRCNT
DSKCKO : NEW DSKCYC
1,2, OR 3

=
(> = 1

DSKCYC

A
: IF OSKCYC
P'PC3
~ THEN •• C3
20H"FPC3-S-1
H,FMTTBL; ELSE NEXT OP IS FORKAT
FPC4
18H,FPC4-S-1
H"RWTBL : HBXT OP IS READ OR WRITE
SBTDT
: CLEAR RESULT BYTES & RESET TIMEOUT COUNTER
DISKOP : ISSUE COMMAND
IIEND
18H"IIEND-$-1

:1------------------------------1
:1

& BOOT; COPYRIGHT 1981, OTRONA CORP.

READ RESULTS 
ESC \
CLR. SCN. & RESET PAR.
ESC] RECALL PARAMETERS (SYSTEM USB ONLY)
ESC A
WORD WRAP OFF
BSC _ WORD WRAP ON
ISC' WSFLAG SIT (ON)
ESC A WSFLAG RESET (OFF)
BSC B SOUND TONB FROM TONB TABLE
ESC C CURSOR OFF
ESC D CURSOR ON
PAGE

CP/H KACRO ASSIH 2.0

'047

ATTACHI BIOS

&.

800T; COPYRIGHT 1981, OTRONA CORP.

·,;1--------------------------------------1
;1

DISPLAY INTRY (CHARACTER IN C)

I

;1--------------------------------------1

·,
;

·
,

11A9+ID13
11A8+48'A
11AD 3l1A"
1180 31P'P
1182 32A5DA
1185 15
1186 D5
1187 C5
1188 P5

1189 CD6BI2

IlBC 3AFAF9
1181' 87
E1CO C215B3

1---------------1
I HASTBR MODULE 1

1---------------1

DISPLY: SSPD
DB
DW
LXI
HVI
STA
VALDSP: PUSH
PUSH
PUSH
PUSH

DSPSTK :
01DH,73H
DSPSTK
SP ,OSPTEJf
A,OPFH ;
DSPPLG
H
;

; SiT STACK POINTER TO DISPLAY STACK
SIT DSPFLG TO INHIBIT VALET
SAVE REGISTERS

D
8

PSW

,
,

·

ADDOPFS!T TO LINE.

LFAGN:

CALL

·
,·

·

CJfPOPl

·

; CALCULATE LINE OFFSET

CHECK CYCLE
LOA
ORA
JNZ

OSPCYC
: IF DSPCYC () 0
A
ESCCHK , THiN GO CHiCK DSPCYC

·

,

BlC3+CBB9

SAVE STACK POINTER

IS CHARACTBR ESCAPE

?

RES
'DB

7,C
; ELSE HAKE SURE CHAR. IS ASCII
OCSH,7i1S+C+80H"

MOV
CPI
JRZ
DB
LOA
CMP
JRNZ
DB

A,C
ESC
: IF CHAR. = ESC,
OSPJ1
, THEN OSPJl
28H,DSPJ1"S-1
LEADIN : ELSE
C
, IF CHAR. <> LEADIN
OSPJ2
: THEN OUTPUT IT TO DISPLAY DRIVER
20H,DSPJ2-S-1
A,l
, ELSE SET DSPCYC = 1
BXITJ
, AND EXIT

,
ElCS 79
B1C6 PI18
E1C8+2806
BlCA 3A06FA
B1CD 89
BICE+2005
B100 3B01
B1D2 C3F8El

DSPJ1:

MVI

JMP

·

·
.
.

IS CHARACTER CONTROL
IUDS 19

EID6 8660
E1D8 CA97E2

,co
DSPJ2:

KOV
ANI
JZ

A,e
60H
CTROL

?

: IF CHAR. IS A CONTROL CHAR.
; THEN GO TO CONTROL CASE

TRANSLATE CHARACTER TO ALTBRNATE
SET, IP NEEDED.

CP/M KACRO ASSBK 2.0
BlOB CD7DB2

.,
EIDE CD17B2

'048

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

CALL

CHKCHR; ELSB XLATE TO ALTERNATE SBT IF NBBDED

OUTPUT CHAR. TO SCRBEN AND
INCRE"BNT H ACCORDINGLY

CHRRET: CALL

OUTCHR

; OUTPUT CHAR. TO SCREEN

IF END OF LINE, BXIT.
ElE1 P5
EIE2 3A01PA
EllS B7
E1B6+2805
E1E8 F1
1119+2010
IIBB+1803
BlED PI

·,

DSPJ3:

EIBB+20C9

·
,

EIFO 1C
IlFI 3208FA

CUSTH:

·

PUSH
LDA
ORA
JRZ
DB

PSW
WRPPLG
A
: IF LINB WRAP ON
DSPJ3
; THEN •• Jl
28H,DSPJ3-S-1

POP
JRNZ
DB
JR
DB

PSW
: ELSE LINE WRAP OFF
DSPRBT
2OH ,DSPRBT-S-l
CUSTH
18H ,CUSTH-S-l

POP
JRNZ
DB

PSW
LPAGN
: WRAP IP NEIDED
20H,LFAGN-S-1

STORB NBW H IN CHRADR+l
KOV
STA

A,H
: STORE POSITION OF NIXT CHAR.
CHRADR+1

OUTPUT CURSOR TO (H)+ 1,(L)

,

I1F4 CD57B2

B1F7
BIP8
IIPB
EUPI

AP
32FAF9
3A45FA
B7

EIFF+2011
8201 3C
8202 3245FA
8205 AF
E206 32A5DA
1209 PI
120A Cl
120B D1
E20C 11
B20D+ED7B
120P+4BFA
1211 C9
8212 PI
li13 Cl

OUTCUR

CRSRET: CALL

; OUTPUT CURSOR

EXIT POINTS
,
: CLEAR DSPCYC
BXIT2: XRA
A
DSPCYC : STORE DSPC-YC
BXIT3: STA
CONFLG
DSPRIT: L.DA
; IF IN VALIT
ORA
A
JRNZ
DSPJ4
, THEN DSPJ4
2OH ,DSPJ 4-S-l
DB
A
INR
: ELSE
CONFLG , SET CONFLG <> 0
STA
, DSPFLG = 0
XRA
A
DSPFLG
STA
; RESTORE RBGISTERS
POP
PSW
POP
B
POP
D
POP
H
DSPSTK ; RESTORE STACK POINTBR
LSPD
OBDH,07BH
DB
DSPSTK
OW
; RETURN
RBT
PSW
DSPJ4: POP
POP
B

·

·

·
·

o

CP/It IIACRO ASSIII 2.0
1214 D1

1215 11
1216 C9

.,

1049
POP
POP
RBT
PAGB

ATTACHB BIOS 6. BOOT: COPYRIGHT 1981 .. OTRONA CORP.
D

H

CP/K KACRO ASSBM 2.0

• 050

ATTACHB BIOS" BOOT; COPYRIGHT 1981, OTRONA CORP •

1-----------------------1
I
MISC. ROUTINES FOR
I

KASTBR KODULB

1-----------------------1

.,;
8211 5F
8218 1601
E2lA 3AOOFA
E21D+CB67
E21F+2801
8221 14
8222 1D
8223 44
8224 F680
!226 OlE!
E228 OIFE
B22A+ED59
822C B6DF
E221 03E!
E230 !61F
E232 6P
8233 3AOOFA
1236+BD19
8238 1C
8239 PI4F

OUTPUT CHAR. TO HL

OUTCHR: KOV
MVI
LDA
BIT
DB
JRZ
DB
INR
OUTCRl: MOV
KOV
ORI
OUT
KVI
OUTP
DB
ANI
OUT
ANI
KOV
LOA
OUTP
DB
KOV
CPI

123B F5
123C 3A01FA
E23F 87
8240+2010·
8242 PI

8,A
D.. l
CURATT
4,A
OCBH,4-8+A+40H
OUTCRI
. ,28H,OUTCR1-IiI-l
0
A,L
B,H
OEOH
SDSPY
C,DDSPY
I
08DH,B.8+41 H
ODPH
SDSPY
IFH
L,A
CURATT
A
010H,A.8+41 H
A,H
19

PUSH
LOA
ORA
JRNZ
DB

PSW
WRPFLG
A
WPI

POP
JRZ
DB

PSW
OUTIXT : DO IF WRAP ON
28H,OUTIXT-5-1

20H,WPI-5~1

1243+2805

.

E245 24
1246 15

OUTCR2: INR
DCR
JRNZ
DB
RET

H

OUTIXT: XRA
STA
KVI
ORA
RET

A
CHRADR+l
C,LF

,

8247+2009
8249 C9
1241.
124B
E24E
E250
1251

AI'
3208FA
OBOA
Bl
C9

..

0
OUTCRI :IF NOT DOUBLE CHAR.
20H,OUTCRl-S-l
: THEN RETURN.. ELSB DO SECOND HALF

C

CP 1M MACRO ASSBH 2.0
1252 PI

WPl:

B253+20FO
8255 14
8256 C9

.051

ATTACH I BIOS

POP
JRNZ
08

: DO IF WRAP OFF
PSW
OUTCR2
20H,OUTCR2-S-1
0

INR

&

BOOT: COPYRIGHT 1981, OTRONA CORP.

RBT

·

OUTPUT CURSOR TO HL

,
1257
E25A
8258
125C
1251
1260
1261
1262
1264
1266
1268
1269
!268
E260

3A02PA
B7
CO
31Ae
0318
7C
3C
03FI
llAD
031!
7D
161F
03FI
C9

OUTCUR: LDA
ORA
RNZ
IIVI
OUT
MOV
INR
OUT
MVI
OUT
MOV
ANI
OUT
RIT
:

·

CURCTL
A
A,OACH
SDSPY
A,H
A
DDSPY
A,OADH
SDSPY
A,L
lPH
DOSPY

AOD OFFSET TO LINI.

,

B268
1271
1274
8215

2A07FA
3AA4DA
85
FI18

1277+3802
1279 C6!8
12,7B 6F
827C C9

CKPOF 1: LHLD
CMPOFF: LOA
ADD
CPt

CMPJl:

·

CHRADR
LINOP,S
I..
24

JRC

CIIPJI

DB
ADI
MQV,
RET

38H,CMPJ1-S-1
-24
L,A

TRANSLATE AI.. T. CHAR. SIT

,

8210 79

8278
8280
1281
1283
1284
8286
E287
B28A
E28B
E28E

PB40
D8
PE7P
DO
163F
P5
118CP6
EB
3AFFF9
4F
828F 0600
E291 09
8292 78
8293 Cl
1294 BS
E295 BO
8296 C9

CHKCHR: MOV
CPt
RC
CPI
RNC
ANI
PUSH
LXI
XCHG
LOA
HOV
HVI
DAD
MOV
POP
XCHG
ORA

RET

A,C
'1'

: --- ADDID --'FH
3FH
PSW
D,CHRTBL
CURCHR
C,A
B,O
B

A,M
8
B

: --- ADDID _..-

CPIK KACRO ASS!" 2.0

• 052

.

,

PAGE

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP •

CP/H KACRO ASSB" 2.0

ATTACHE BIOS & BOOT: COPYRIGHT

'053

,
·:1--------------------------------------1

:1
CONTROL CASE
:1--------------------------------------1

·

,

CTROL:
,

B297 79

nov

·:1--------------1

A,C

:1 BACK SPACE I

: 1--------------1

·,

CTROL2: CPt
JRHZ

B298 PB08

BS

CLCR
20H,CLCR-S-l
CURATT

B29A+2024
B29C 3AOOPA

DB

829P+CB67

DB
JRZ

B2Al+2801
82A3 25
B2A4 25
B2A5 311'1'
12A7 8e
12A8 PAPOll
12AB 3A01F!
E2AB 81

DB

28H,CLJl-'-1

OCR
OCR
ItVI
CliP

H
H

JII

CUSTH
WRPPLG

LOA

4,A
OCBH,4*8+A+40H
CLJl

BIT

12AP+200A
12Bl 7C
12B2 D6BO
12B4 3208FA
12B1 67
12B8 C39BB4.
12B8 2600
E2BD C3FOBl

CLJ1:

·

,
CLJ2:

A,OFPH
H

LOA
ORA
JRHZ

CU2

DB
HOY

20H,CLJ2-S-1
A,H

SUI

176

51A
HOY

CHRAOR+l
H,A
RBYLP

A

J"p.

MVI

H,O

JIIP

CUSTH

:1-------------------1

:1 CARRIAGB RETURN
;1-------------------1

E2CO FEOD

·,

CLCR:

CPI
JRNZ

1

CR
eLF
20H,CLF-S-l

E2C2+2005

DB

E2C4 2600
E2C6 C3FOEl

MYI

H,O

JKP

CUSTH

·
/1

:1-------------1
:1

LINB FEBD

:1-------------1

E2C9 FIOA

B2CB+2049
B2CD 3A04PA

·,

CLF:
CLF1:

CPI
JRNZ
DB
LOA

1

LF
CLBL
20H,CLBL-S-l
BOT ACT

:IF NOT AT BOTTOM

19a1~

OTRONA CORP.

CP/M MACRO ASSBM 2.0
B200 47
H201 3A07FA
E204 B8
E205+2034
E2D7 3A05FA
E20A FE17
E20C+2028
E20E
E2BO
E2E3
E2E6
E2E9
E2BA
'E2EC
B2EF
E2Fl
E2F3
E2F5
E2F8
E2F9
E2FA

2EOO
C07lE2
C010E8
3AA4DA
57
0601
CDC9BC
3EAB
D3EE
03FE
21A4DA
7B
3C
FB18

E2FC+2001
E2FE AF
E2FF 17
E300 CD6EE2
1303 C3F4El

CLF2:

E306CDC1!7

CLF3:

E309+181D

.,

B30B
E30C
E30F
E3l0
Ell3

CLF4:

lC
3207FA
6F
CD71B2
C3F4El

.054

ATTACHE BIOS " BOOT: COPYRIGHT 1981 ,OTRONA CORP.

MOV
LOA
CMP
JRNZ
DB
LDA
CPI
JRNZ
DB

B,A
CHRAOR
B

CLF4
: THEN MOVE CURSOR
20H,CLF4-S-1
MAG ACT : BLSE IF REGION NOT
23
: FULL SCREBN
CLF3
; THBN SOFTWARE SCROLL
20H,CLF3-S-1

MVI
CALL
CALL
LOA
MOV
MVI
CALL
MVI
OUT
OUT
LXI
MOV
INR
CPI
JRNZ
DB
XRA
KOV
CALL
J"P

L,O
CIIPOFF
LFCLRI
LINOFS ;GRAPHIC SCROLL .
O,A
B,l
;CLEAR ONE LINE
.GRFCLR+4
A,OABH ; ELSE HARDWARE SCROLL
SDSPY
DDSPY
H,LINOFS
A,H

CALL
JR
OB

SCRLUP
BEGIN SOFTWARB SCROLL
CLKXT
; END SOFTWARB SCROLL
18H ,CLEXT-S-l

INR
STA
HOV
CALL
JKP

A
; BEGIN KOVE CURSOR DOWN
CHRADR
L,A
CIIPOFF
CRSRET ; END HOVE CURSOR DOWN

A

24
CLF2
20H,CLF2-S-1
A

M,A
CIIPOF1
CRSRBT

END HARDWARE SCROLL

: 1--------1
;1 BELL I

.,:1--------1
E316 FE07
E318+2011
E3lA 3A50FA
E31D+CB47
E31F+2001
E321 211DF6
E324 CD78!}
E321 FB

CLBL:

CPI
JRNZ
DB
LOA
BIT
DB
JRNZ
OB
LXI
CALL
EI

BEL
CLTB
20H,CLTB-S-l
CURBRL
O;A
OCBH,0*8+A+40H
CLBXT
20H,CLBXT-S-l
H,BELLTN
SOUND

CP III llACRO ASSSI( 2.0

CLBXT:

1328 ClP?Sl

.055

ATTACHB BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

JltP

BXIT2

·:1-------1
,

;1

TAB

I

:I-------f
,

·

832B FB09

CLTB:

CPI

09H

CLRV

JRIZ
B32D+2003
132' C393S1

08

20H~CLRV-'-1

JItP

1I0VTAI

:I-~--~~--~-~-------I
;1 RBV. LIIIB FBBD

I

:I---~------------~I

·

,
8332 FBOB

CLRV:

1334+200l
1336 C398B4

OBH
CLM

CPl

JRIIZ
DB
J!P

20H,CLRT-'-1

·:1------------------1
,

RIVLF

: 1 CURSOR RIGHT

1

:1----------------1

·,

CLRT:

1339 FBOC
1338+2003

cPt
JRIZ
08

133D C36BI4

J!P

·
,

OCR
CLH!
2 OR ~CLHII-.-l
RITCUR

: I ..-~.....-----..- ..- ..... I

;1

CURSOR HOIII

·,

CPI

lEH

CLCLR

-8342+2003

JRNZ
DB

8344 C38DB4

JIIP

HOftCUR

1340 FBIB

CLH":

I

20H,CLCLR-S-l

,
·:1-----------------------1
;I

CLBAR AeTlVI RIGION

I

:1-----------------------1

8341 FIlA

·,
CLCLR:

CPI

IAR

CTLX

8349+2018
8348 3A03'A

JRNZ
DB
LDA

8341 6P
134F 2600

KOV
flVI

B351
8354
8351
!35A

2201'A
CD11!2
CD5112
CD4A!9

CTRLZ:

835D CDC5BC

1360 C3P7Bl

CLZ:

,

SHLD
CALL
CALL

20H,CTLX-S-l
TOPACT

L,A
R,O

CHRADR
CKPOFF

aUTCUR

CALL

CLTOID

CALL

GRFCLR
BlITZ

JItP

o

;1-------------------------1

:P/M MACRO ASSBIl 2.0
:1

.056

ATTACHB BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

CLBAR KEYBOARD BUFFER

.:1-------------------------1

,
£363 FH18
E36S+20F9
212BFA
AF
F3
E36C 32F8F9
E36F 2238FA
£372 FB
£367
£36A
£368

~7!73+1818

CTLX:

CPI
JRNZ

CTRLX
CLZ

D8
LXI

20H,CLZ-8-1
H"KEYBUF

XRA

A

Dl
STA
SHLD

KEYCNT
KEYPNT

HI
JR
DB

18H,CLZ-'-1

PAGE

CLZ

I

CP/K KACRO ASSI" 2.0

'057

ATTACH! 8IOS

&.

800T; COPYRIGHT 1981, OTRONA CORP.

:1------------------------------1
:1
ESCAPE CASE

;1------------------------------1
B37S 3D
B376+2808

ESCCHK: OCR
JRZ
08
OCR
CPI
JRNC
DB
PUSH
LXI
JR
DB

1378 3D
B319 FE1S
131B+3068
1370 15
137B 2119f18
1381+1800

A

ESCCK1
28 H,ESCCK 1-$-1
A

ISH
J19B
30H,J19B-S-1
H

H,CYCTBL
BSCCK2
18H ,ESCCK2-$-1

CALCULATB ADDRBSS OF VBCTOR FROK CHAR.
GBT VBCTOR, PUSH IT AND EXECUTE (RET)
TO JUKP TO IT.
1383 79
1384 0630
1386+3813
1388 FE3S
138A+300F
B38C IS
1380 21AFfl1
1390
1391
1392
1394
1395
1396
1391
8398
8399
B39A

07
5F

1600
19
S8
23
S6
Bl
DS
C9

B39B 79
B39C 8671'
E39B C30EEl

ISCCK1: KOV
SUI
JRC
DB
CPI
JRNC
DB
PUSH
LXI
,
BS~CK2: RLC
KOV
"VI
DAD
KOV

.

INX

KOV
POP
PUSH
RET
NFGESC: KOV
ANI
JMP
PAGE

A,C
; KOVE NEXT CHAR. TO A
'0'
; SUBTRACT OFFSBT
NFGESC ; IF CARRY, THEN INVALID CHAR.
38H,NFGESC-$-1
'5'
; IF GREATBR THAN 64H (NOW 34H)
NFGBSC , THBN INVALID CHAR •
30H,NFGESC-S-1
H
H,ESCTBL

.

E:A
0,0
0

8,M

; ELS8 MULTIPLY BY 2
: KOVE TO LSB OF OFFSET
; KSB OF OFflSET = 0
: HL=(HL + DB) POINTS TO VECTOR
; MOVE LSB OF VECTOR TO E

H

D,M
H
0

A,e

7FH
CHRRET

;
;
;
:

MOVB "sa OF VECTOR TO 0
RESTORE CURSOR ADDRESS
PUSH VECTOR ON STACK
JUMP TO VECTOR ADDRESS

CP/M "ACRO ASSEM 2.0

'058

ATTACHE BIOS " BOOT: COPYRIGHT 1981, OTRONA CORP.

:1------------------1
:I 0 - PL.OT POINT 1
.:1------------------1
,

B3AI
E3A4
13A5
E3A8

32EAF9
AF
32FDF9
3EOE

E3AA+182F

PPOINT: STA
PPNT1: XRA
STA
MVI
JR
DB

GRFC"D
A
: CL.EAR GRAPHICS ERROR PLAG
GRFERR
A,ORH
: DSPCYC
OBH
J19C
18H,J19C-S-l

=

:1-------------------1
:1

I - PL.OT VECTOR

I

:1-------------------1

..,
E3AC
E3AE
E381
1384
E387
E38A
E3B8
E3BE
E3Cl
E3C4

3E01
32BA'9
2AF2F9
2'2F4'9
2265FA
AF
32'7P9
2AF6'9
22'8F9
2267FA

PVCTOR: "VI
PVCTl: STA
L.HL.D
SHLD
SHL.D
XRA
STA
L.HLD

SHLD
SHLD
JR

E3C7+18D8

DB

A,l
GRFCMD
GRX
GRXI

GRXl2
A

GRY+l
GRY
GRYI
GRY12
PPMTl
18H,PPNTI-S-l

;1------------------1
;1 2 - BLOCK DRAW
;1------------------1
ElC9 3E03

E3CB+18D4

BLKDRW: MVI
JR
DB

1

A,3
PPOINT
18H,PPOINT-S-l

·;1----------------------1

,

: I 3 - CL.EAR GRAPHICS 1
;1----·-----------------1
ElCD CDC5EC
B3DO+181B

CL.RGRF: CALL
JR
DB

GRFCLR
PTBRT
18 H,PTBRT-$-1

,
·;1------------------,
:1

4 - BL.OCK FILL

1

;1------------------1
13D2 3102
E3D4+18CB

BLKFIL.: MVI
JR
DB

A,2
PPOINT
18H,PPOIMT-S-l

,
·;I---------------------~----I

; 1 5 - SET MASKS FOR FILL

I

CP/M HACRO ASS I" 2.0

• 059

ATTACHI BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP •

:1--------------------------1

·

,
1306 3100
8308 328AP9
130B C3F8Sl

SBTHSK: "VI
STA
JI9C:
JHP

A"ODH
GRFCHD
IXIT3

·

,

:1-----------------------------1

:1 6 -

DISABLE GRAPHIC IMAGB

1

;1-----------------------------1

B3DB AF
S3DF 31'0
83Bl CD211l
8314 FB
8315 C3F11l

·,
DSBGRF: XRA

CALL

A
A,,-3
LLATCH

El
J"P

BXIT2

MVI
L6:

JI9B:
,

·

: Z BIT SET ALREADY

:1----------------------------1
:1

1

1 - BHABLI GRAPHIC IIIAGI

;1----------------------------1

·
EN8GRF: "VI
,

8388 3802
E31A 81

A,2
A

ORA
JR

838B+18P4

: A=2, Z BIT IS CLEAR

L6
18H,L6-S-1

DB

·:1--------------------------1
,

:1

8 - SET TO PLOT BRIGHT

I

:1--------------------------1

1310 31C1

ElBP 32BIBB
13F2+18P1

·,
PTBRT:

"VI

PTBRI:

STA

A"OC1H
GRFBIT+l

J19B

JR
DB

. ·,

18H"JI9B-$-1

;I---~-----------:--~-----I

:1

9 - SET TO PLOT DARK

I

;1------------------------1

13F4 3187

·"
PTDRK:

KVI

A,87H

PTBRI
18H,PTBRl-S-l

JR

DB

13P6+18P7

;1-----------------1
:1

: - READ DATE

1

:1-----------------1

13F8 CD548?

·,
REDDAT:

83FS 21AAFB

CALL

LXI
LXI

ElF! 010100
H401 FB3F

CPI
JRNZ

1403+2004
8405 010100
B408 17
8409 CDSIFS

RDAT1:

READAT
H,CKIBYT

B,7
'1"
RDATl

DB

20H,RDATl-S-l

LXI
KOV

8,1

CALL

PU5HKY
J198

JR

M,A

CP/M MACRO ASSBM 2.0
E40C+lSD7

'060

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORPe

DB

18H,JI98-$"1

:1------------------------------------..-1
:1
: - SET PRINTER BAUD FROK CK05 RAft
;1---....-_ .._-----------------------------1

E40E CD26EF
E411 C3F7E1

·,

CKOSPN: CALL
A513:
JMP
,

·

ADJPNT
EXIT2

;1------------------------------------1

;1 < - SET COMM. BAUD FROM CMOS RAft I
;1------------------------------------1

E414 CD2D8F
E417+1SF8

·

,
CMOSCK: CALL
JR
DB

ADJCOH
A513
18H,A513-$-1

;1--------------------------,

;I

= - DIRECT CURSOR MOVE

t

:1--------------------------,

8419 3B02

·,
DRCTMV: ltVI

841B+1S8E

JR
DB

A,2
J19C
18H,J 19C-$-1

,
·:1-----------------1

;1 > - RBAD TIMB
;1----.. ---_.. _-.._.. --1

B410
E420
8423
E426

CD2EE7
21A8FB
010600
F83F

8428+2004
E42A 010100
E42D 77
E42£ CDSIF5
£431+1808

REDTIK: CALL
LXI
LXI

CPI
JRNZ
DB
LXI
MOV
REDTK 1: CALL
JR
DB
,

·;I---....- ..--..--..
;1

? -

1

READTM
H,SCNDS
B,6
'1'

REDTHI
20H,REDTH1-$-1
B,l
K,A
PUSHKY
A513
18H,A513-$-1
------~ .. I

RBAD CKOS RAM

1

;1------_.. _------------1

8433 3E12
8435+1SA4

·

,
REDRAK: KVI
JR
DB

·,

A,12H
J19C
ISH,JI9C-S-1

;1----------------------1
;1

i-WRITE CHOS RAM

1

;1------_.. _----------_ .._,
,

£437 3E13
E439+1SAO

·

WRTRAM: MVI
JR
08

A,13H

J19C
18H,JI9C-$-1

I

CP/K KACROASSIK 2.0

'061

ATTACH! BIOS & BOOT: COPYRIGHT 1981# OTRONA CORP.

.,
:1-----------------1
:1 A - UP CURSOR I
.:1-----------------1

,
843B
E43E
843F
8442

3A01PA
41
3A03'A
88

B443+286D
1445 2D
B446 F24BB4
8449 2111
B448 05
B44C 18
8440 3201'A
1450+1819

UPCUR:

LOA
IIOY
LOA
CliP
JRZ
DB
UPCUR1: OCR
JP
ItVI
UPCUR2: OCR
HOV
STA
JR
DB

CHRADR·
B,A
TOPACT
8
:IF TOP OF ACT. REG.
A45A
: THEN RBTURN
28H,A45A-$-1
: ELSE IIOVE CURSOR UP
L
UPCUR2
L#23
B
A,B
CHRADR
A428
18H,A42B-$-1

:1-------------------1
;1 B - DOWN CURSOR 1
;1-------------------1
8452
1455
1456
8459
145A
845D
1458
1460
8461
B464
8466
8461
8468
846B

3A01FA
47
3A04'A
88
CA',Sl
2C
3818
BD
C266B4
2100
04
18
3207'A
CJP4Bl

DWNCUR: LOA
HOV
LOA
CliP
JZ
DNCURl: INR
MVI
CliP
JNZ
MVI
DNCUR2: INR
MaY
STA
A428:
JMP

.

CHRADR
8,A
BOTACT
:IF BOTTOH OF ACT. RBG.
: THBN RBTURN
: 8LSB MOVE CURSOR DOWN

B

BXIT2
L
A,24
L

DICUR2
L,O
B

A,B
CHRADR
CRSRBT

~

;1--------------------1
: I C - RIGHT CURSOR
:1--------------------1

1

.,
8468 3AOOPA
E411+CB61
8413+2801
B475 24
8416 24
B471 3E4F
8419 BC
841A 1'2'OBI
847D 3A011'A
B480 B7

RITCUR: LDA
BIT
DB
JRZ
DB
INR
A431:
INR
MVI
CHP
JP

LDA
ORA

CURATT
4,A
:DOUBBLE WIDTH MODE?
OCBH,4*8+A+40H
A431
28 H,A4 31- $-1
H

H

A,79
H
CUSTH

;IF NOT AT RIGHT BOUNDARY
: THEN MOVB CURSOR

WRPFLG
A

: IF WRAP OFF

'062

ATTACHE BIOS & BOOT; COPYRIGHT 1981, OTRONACORP.

E481+202F

JRNZ
DB

, THEN EXIT2
A45A
20H,A45A-$-1 .

B483
B486
8487
E48A

CALL
XRA
STA
JKP

OUTEXT
A
DSPCYC
LFAGN

CP/M KACRO ASSEM 2.0

CD4AE2
AF
32FAF9
C3B9El

.

; ELSE CLEARCOLOUMN
: AND DO A LINE FEED

;-----~-------------I

:1 D - LEFT CURSOR I
;1-------------------1
IS CTROL2+4 IN ESCTBL

.,

;1----------------1

; 1 E - NOT USED

I

:I----------~-~---I

.,

IS EXIT2 IN TABLE

;1----------------,
;1 F - NOT USED
;1----------------1

I

IS EXIT2 IN TABLB

.,

;1----------------1
:I

G - HOT USED

I

:'----------------1
IS EXIT2 IN TABLE

;1-------------------1

;I

H - HOME CURSOR

I

.:1-------------------1
,
E48D
8490
8491
8493
1496

3A03FA
6F
2600
2207FA
CD7182

E499+1811

HOKCUR: LOA
MOV
MVI
SHLD
CALL
JR
DB

TOPACT
L,A
H,O

CHRADR
CKPOFF
A49A
18H,A49A-S-l

;1----------------------1
;1 I - REV. LINE FEED
.;1----------------------1

I

,

B49B
B49B
E49F
84A2
84A3
84A6
E4A9
84AC

3A07FA
47
3A03FA
88
C245B4
CDF087
CD6EE2
C3F4B1

REVLF:

A49A:

LOA
MOV
LDA
CMP
JNZ
CALL
CALL
JMP

CHRADR
B,A
TOP ACT
B

UPCURl
SCRLDN
CKPOFl
CRSRET

;IF NOT AT TOP OF A.R ..
: THEN MOVE CURSOR
; ELSE SCROLL A.R

#

CP/M MACRO ASS8M 2.0

'063

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

,
·:1-------------------------------------1
:1

J - CLBAR TO ENO OF ACTIVE REGION

I

:1-------------------------------------1

·

,

CLR8ND: CALL
A45A:
JKP

E4AF CD4AE9
8482 C3F7!l

CLTONO
EXIT2

:I-----------------------~----I

:'

K - CLEAR TO END OF LINE

1

;1----------------------------1
B485 C042B8
B488+18F2

CLRBLN: CALL
JR
DB
,.

LFCLR2
A49A
18H,A49A-S-1

·
;1-------------------1
;1

L - INSERT LINE

I

;1-------------------1

B48A
848D
848B
E4CI

3A07'A
47
3A04'A
90

·

,.
INSLIN: LOA
MOV
LOA
SUB

84C2+2805
!4C4 COF6E7
!4C1+1810
84C9 CDIDR8
14CC+18l8

A4Cl:

.

JRZ
DB
CALL
JR
DB.
CALL
JR
DB

CHRADR
B,A
BOT ACT
B
:IF AT BOTTOK
A4Cl
: THEN CLEAR LINE & EXIT
28H,A4Cl-S-1
SCRDNI : ELSE INSERT BLANK LINE
EXXIT2
18H,EXXIT2-S-1
LFCLRI
EXXIT2
18H,EXXIT2-S-1

/I

:'-:-------------------1,
:I

M -

DELETE LINE

1

.:1-------------------1
/I

14CH
8401
8402
8405

3A07'A
47
3A04FA
90

DELLIN: LDA
MOY
LOA
SUB
JRZ

E406+28F1
!408 68
1409 41
E40A CDCFE7

08

MOY
MOY
CALL
JR
08

1£400+1807

CHRADR

a,A
SOT ACT
;IF AT TOP
8
: THEN CLEAR LINE AND EXIT
A4Cl
28H,A4Cl-S-l
I..,B
; ELSE SCROLl.. REGION
S,A
, UP & CLEAR BOTTOM LINE
SCRUP1

.

8XXIT2

18H,EXX1T2-S-1

,
II

;1----------------1
;I

N - SET TASS

I

.,:1----------------1
E40F 3BOA
841£1+180D

SETTA8: MVI
JR
DB

A,OAH
ASIA
18H"A51A-S-l

#064

CP/M MACRO ASSBM 2.0

ATTACHE BIOS & BOOT; COPYRIGHT 19S1, OTRONA CORP.

.,
;1------------------1
:1

a - CLEAR TABS

I

;1------------------1
E4E3 CDOFB9

E416 C3F1El

CLRTAB: CALL
EXXIT2: J!lP

CLRTBS
IXIT2

:1--------------------,
:1 P - DELETE CHAR.
.;1--------------------1
,

E4E9 CD1SE9

DELLCR: CALL

JR
E4EC+18F8

DB

DELCHR
IXXIT2
18H,IXXIT2-S-1

,

.:1-:--7-------------·----~------1
;'

Q -

INSIRT CHAR. MODE ON

;1----------------------------1
E4EE 3EOC
14FO C3FSI1

INseON: MVI
ASIA:
JlfP
, .

.

A,OCH
EXIT3

;1-----------------------------1
R - INSERT CHAR. KODE OFF
;1-----------------------------1
;1

IS IXIT2 IN ESCTBL

;1-------------------------1

;1

S - SELECT CHAR. SIZE

I

;1-------------------------1
E4F3 3809

CHRSIZ: MVI

JR
84F5+18F9

DB

·

A,9
A51A
18H,ASIA-S-l·

,

; t ------------------------,.
;1 T - SELECT CHAR. SET

I

;1------------------------1
E4P1 3E08

CRRSET: MVI

JR
14F9+18F5

DB

A,S
A51A
18H,A51A-S-l

·;1-------------------------1
,

;1

U - SELECT ATTRIBUTES

I

;1-------------------------1

E4FB 3101

·,
SELATR:

MVI

JR
B4FD+18Fl

DB

A,7
ASIA
18H,ASIA-S-l

;1---------------------------1

;1

V - SELECT ALT. LEAD-IN

;1---------------------------,

I

1

CPIK IIACRO ASSBII 2.0

'065

ATTACHB BIOS &

BOOT:

COPYRIGHT

1981, OTRONA

,..
14FF 380B

SELDIN: KVI
JR

1501+18BD

DB

A,OBH
ASIA
18H,A51A-5-1

:1--------------------------------------------1

:1

W-

LOAD TONB TABLE

<15

BYTES) &

EXECUTE

1

;1--------------------------------------------1
..
,

E503 3816

DSPSND: "VI

8505+1889

,..

A,16H

JR

ASIA

DB

18H,A51A-5-1-

:1-------------------------1
:1 X - SET ACTIVB RBGION I
:1-------------------------1
8507 3B05

SBTACR: ItVI
JR

1509+1885

DB

A,S
ASIA
18H,A51A-5-1

;1--------------------------1
;1 Y - DIRECT CURSOR KOVE
;1--------------------------1

I

IS DRCTJlV IN ESCTBL

,..

:1------------------------1 .

;I Z - RESET PARA"BTERS 1
;1------------------------1

150B CDBFB8
B50B~18D6

RBSPAR: CALL
JR
DB .

RSTPAR
8XXIT2
18H,EXXIT2-5-1

:1-----------------------1
[ - SAVE PARA"ITERS

:I

, '

1

;1-----------------------1
8510 CDIDB9
8513+1801

SAVVPR: CALL
JR
DB

SAVPAR
8XXIT2

18H,8XX1T2-$-1

,
·:1---------------------------------------1
:1

\

-

CLEAR SCREEN &. RESET PARAMETERS

I

;1---------------------------------------1

·

IS CLSCRN IN

ESCTBL

,

:I------------~-~~---------I
; I ] - RBCALL PARAMETERS
\.

I

;I-----------------------~-I

E515 CD29B9
1518 CD6EB2
E518 C3F4Bl

·,
RCLPAR: CALL

CALL.
JMP

RSTORP ;RESTORE PARAMETBRS
CKPOFl : MOVB CURSOR TO
CRSRET : PREVIOUS POSITION

CORP.

#066

CP/M MACRO ASSB!! 2.0

ATTACHE BIOS & 800T: COPYRIGHT 1981, OTRONA CORP.

·,;----------------1

;1
WRAP OFF 1
:1----------------1
A

ISlE 31FF

-

·,

WRPOFF: KVI

A,OPFH
WRPGEN
18H,WRPGBN-$-1

JR
1520+1801

DB

·:I----~----------I
,

:I

_ - WRAP ON

1

;1---------------1

1522 AF
1523 3201FA
8526 C3F?B1

·,
WRPON:

XRA
WRPGBN: STA
A5FO:
JMP

A
WRPFLG
EXIT2

;1-----------------------1
;1

' - WSFLAG SET (ON)

1

;1-----------------------1
1529 31FF

SETWS:

B52B+1801

HVI
JR

08

A,OFFH
A512
18H,A512-$-1

;1--------------------------1

;1

A - WSFLAG RISIT (OFF)

I

;1--------------------------1

152D AF
B521 32800A
B531+18F3

·,
CLRWS:
A512:

·

XRA
STA

WSFLAG

JR
DB

A5FO
18H,A5FO-5-1

A

,

;1-----------------------------1
;1 B - !lAKI SOUND FRO" TABLI I
;1-----------------------------1

·;,

·

IS XXXXXXX

IN TABLE

,
;1-----------------1

;1 C - CURSOR OFF 1
;1-----------------1

1533
B535
IS38
153A

2651
CD57B2
31FF
3202PA

B53D+18B7

·,

OFFeUR: MVI

CALL
KVI

H,81
OUT CUR
A,OFFH

STA
JR

CURCTL

08

18H,A5FO-5-1

A5PO

·,;1-----------------1
;1

0 - CURSOR ON

;1-----------------1

CP/M HACRO ASSBK 2.0
IIS3P AI'

1540 3202PA
1543 C3F4Bl

ONCUR:

• 061

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP •

XRA

A

STA

CURCTL
CRSRET

JKP
PAGE

CP/H HACRO ASSIH 2.0

#068

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

.,
:1--------------------------------------1
:1

:1 HULTI - CHAR. SEQUBNCS HANDLERS
:1
:1--------------------------------------1

1
t

.,

:1--------------------------------------------1

:1

02H - DIRBCT CURSOR POSITION LINE NUHBER

I

:1--------------------------------------------1

,
LINCHK: HOV
SUI
HOV
LDA
CHP
JK
LDA
CliP
.1RZ
DB
D

8546 79
8547 D620
1549 47
854A 3A04FA
1540 B8·
8541 FA6BI5
!55l 3A03PA
!554B8
8555+2803
1557 P26BI5
855A 78
B55B 3207PA
E5SE 6P
155F CD7lB2
B562 7D
1563 3229FA
8566 3103
8568 C3P8Sl
E568 31PF
156D+18P4

.1P

" LNCKJ 1: HOV
STA
HOV
CALL
HOV
LNCKJ2: STA
HVI
.1I1P

LNCKJ3: HVI
JR
D8

A,C
20H
8,A
BOTACT
B

LNCKJ3
TOP ACT
B

LNCKJ1
28H,LNCKJI-$-1
LNCKJ3
A,B
CHRADR
L,A
CHPOPF
A,L
TEMLIN
A,3
EXIT3
A,OFFH
LNCKJ2
18H,LNCKJ2-$-1

:1----------------------------------------------1
:1

03H - DIRBCT CURSOR POSITION COLUIIN NUHB8R

:1----------------------------------------------,

B56F 3A29FA
£572 FIFF
1574 CAP7El
BS77 6P
8578 79
1579D620
8578 67
E57C C3PIEl

·,
COLCHK: LDA

CPI
JZ
HOV
HOV
SUI
KOV
JKP

TiHLIN
OFFH
EXIT2
L,A
A,e
20H
H,A
CUSTH+l

,
·:1------------------1
:1

04H - NOT USED

I

:1------------------1
:

IS BXIT2 IN TABLE

·:1------------------------------1
,

:1

05H - TOP OF ACTIVE REGION

I

I

.069

CPIlf HACRO ASSe 2.0

ATTACHE BIOS" BOOT: COPYRIGHT 1981, OTRONA CORP.

:1------------------------------,

·
,

857F
8580
1582
1585
8581

79
D620
3203FA
3806
C3Fall

TACTCK: HOV
SUI
STA
HVI
JHP

A,C
20H
TOPACT
A,6
BIIT3

,
·:1---------------------------------1

:1 06H - BOTTOII OF ACTIVE REGION 1
:1---------------------------------1
,
858A
8588
1580
8590
1591
1592
1593
1594
BS95
8596

79
D620
2103'A
46
23
71
90
23
11
C3aDB4

·

BACTCK: HOV
SUI
LXI
KOV
IMX
KOY
SUB
IIX·
HOY
JIIP

·,

A,C
20H
H,TOPACT
B,M
;
H
H,A
;
;
B
H
!t,A
;
HOHCUR

GET TOPACT
STORE BOTAeT
CALCULATB IIAGACT
STORB "AGACT

;1--------------------------1
:1--------------------------1

;1 01H .. SCREEN ATTRIBUTE 1

8599
859A
B59C
859B
859'
85AO
1,5A1
15A3
15A4
15A5
15A6
15A9
15AA
15AC
ISAD

79
C620
1638
01
57
79
8601
82"
01
51
2100FA
7E
8611
B2
77

BSAI+1806

·,

ATTCHK: KOV
ADI
ANI
RLC
!tOY
MOY
ANI '
ORA
RLC
!tOY
LXI
KOY
ANI
ORA
KOY
JR
DB
,

.

A,C
20H
38H

D,A
A,C
7H

o

D,A
H,CURATT
A,II
11H
D

",A
EXXT2
18H,EXXT2-S-1

:1-----------------------------1

:1

08H - ALTERNATE CHAR. SET

.;1-----------------------------1
,
15BO
ISBl
ES83
ESB6

79
8607
32FFF9
C3F7!'}

ALTCHK: KOV
ANI
STA
8XXT2: JMP
,..

A,C
7H
CURCHR
811T2

:1---------------------------1
:1

09H

~

SELECT CHAR. SIZE

I

I

CP/M MACRO ASS8M 2.0

.010

ATTACHE BIOS & BOOT: COPYRIGHT 1981" OTRONA CORP.

.;1---------------------------1
,
85B9
E5BC
E5BE
E5BF
E5CO

3AOOFA
1681'
41
79
0630

ISC2+2802
E5C4 3ElO
E5C6 80
E5C? 3200FA
ISCA+18!A

SIZCHK: LOA
ANI
KOV
KOV
SUI
JRZ
DB
MVI
SZCKJ1: ORA
STA
JR
DB

.,

CURATT
OEFH
B"A
A"C
30H
SZCKJl
28H "SZCKJ 1-8-1
A,,10H
B
CURATT
8XXT2
18H,,8XXT2-$-1

:1------------------1

:' °OAH - SET tABS' 1

.:1------------------1
,
E5CC 79
85CD FEIB
85CF+288S
B5Dl D620
8SD3 FAP7S1
85D6 FS50
8508+2006
150A CDOFB9
850D C3FB!1
ESBO F2F7Bl
ISE3 41
B584 3A09FA
15B7 88
85B8 78
1589+3003
151B 3209FA
ISlE 8607
85FO 3C
85F1 41
851'2 3180
8SF4+1802
ISF6+C83F
ESF8+10FC
8SPA 41
ISFB 79
15FC CDDFE8
ESFF ?E
8600 BO
E601 77
B602+1828

TABCHK: MOV
CPI
JRZ
DB
SUI
JM
CPI
JRNZ
DB
CALL
JMP
TBJO:
JP
KOV
LDA
CKP
KOV
JRNC
D8
STA
T80K:
ANI
INR
KOV
KVI
JR
08
TBJ2:
SRLR
DB
TBJl:
DJNZ
DB
MOV
MOV
CALL
MOV
ORA
MOV
JR
DB

A"C
8SC
EXXT2
28H,,8XXT2-$-1
20H
EXIT2
SOH
TBJO
20H,TBJO-$-1
CLRTBS
DSPRET
8XIT2
B,A
LASTAB
8
A"B
° T80K
30H,T80K-S-l
LASTAB
7H
A
B,A
A,80H
T8J1
18H"TBJ1-$-1
A

OCBH, 38H + A
TBJ2
1OH, T8J2-$-1
B,A
A,C
GT8FAO°
A"M
B
M,.A
SCHKl
18H "SCHK 1-$-1

CP/K KACRO ASS1M 2.0

.071

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

,
·;1---------------------------1

;1

OBH - ALTERNATB LEAD IN

I

;1---------------------------1

160~ 79
1605 3206'A

1608+18AC

·,
LEDCHK: MOV

STA
JR
DB

A"e

LBADIR
BXXT2
18H,BXXT2-S-1

·:1------------------------1

,

:1 OCH - INSBRT KODE OR
;1------------------------1
,

160A 3A06'A
160D B9
1608+2005
8610 3BOI
B612 C3F8Bl
B615 3118
1617 89
8618+28F6
861A C5
861B B5
B61C CD6AB9
861F In
8620 Cl
1621 CD1DI2
1624 CD1782
8621 1A
8628 B7
8629+2001
8628 7C
862C 3208PA
862F CD51B2
8632 C3F8Bl

·

INSCHK: LDA
CliP
JRHZ
DB
INCKJl: ItVI
JltP
INCKJ2: ItVI
CliP
JRZ
DB
PUSH
PUSH
CALL
POP
POP
CALL
CALL
MOV
ORA
JRHZ
DB
MOV
STA
CALL
SCHK1: JKP
PAGB

I

LIADIN

e

IHCKJ2
20H,INCKJ2-$-1
A,l
IXIT3
A,BSC

C
INCKJl
28H,INCKJl-$-1
B

H
IHSCHR
H
B

CHKCHR
OUTCHR
A"D
A
SCHKl
2OH ,SCHK I-S-1
A,H
CHRADR+l
OUTCUR
DSPRET

CP/M MACRO ASSIM 2.0

.012

ATTACHE BIOS & 800T; COPYRIGHT 1981, OTRONA CORP.

;1------------------1
:1 ODH - GET KASK 1
;1------------------1

.,
E635 3AEAF9
8638 FBOD
E63A+200B
863C 19
8630 326AF8
E640 AF
8641 32BAF9
8644 C3FBBl
E641 79
8648" 326F8A
E64B C3F78l

GRFCHK: LOA
CPI
JRNZ
DB
KOV
STA
XRA
STA
JKP
GRCKl: HOV
~ STA
JKP

GRFCIID
OOH
GRCKI
:IIASKS FOR FILL
20H,GRCK1-S-1
A,C
MASK
A
GRFCKD
DSPRET
A,C
XKASK
8XIT2

;1-------------------1

:1 OBH - GET X 115B 1
;1-------------------1

.,
8641 19
864F FB05
B651+3803
8653 32FOF9
B656+CB51
8658 3BOI
B65A+2001
B65C AF
8650 32F3F9
8660 79
B661 OF
8662 OF
8663 B6CO
8665 32F2F9
B668 3BOF
866A C3FSII

GRFCKl: KOV
CPI
JRC
DB
STA
GRCK2: BIT
DB
KVI
JRNZ
DB
XRA
GRCK3: 5TA
KOV
RRC
RRC
ANI
STA
KVI
JKP

.,

A,C
;X KS8'S
5
GRCK2
38H,GRCK2-S-1
GRFBRR
2,C
OCBH,2*8+C+40H
A,l
GRCK3
20H,GRCK3-S-1
A
GRX+l
A,C
OCOH
GRX
A,OFH
8XIT3

:1-------------------1
;1

OFH - GBT X LSB

I

;1-------------------1
8660
B66B
1671
8672
8673
8674
8611

79
21F2F9
86
11
AF
2AF2F9
114001

861A+BD52

GRFCK2: KOV
LXI
ORA
KOV
XRA
LHLO
LXI
DSBC
DB

A,C
;X LSB'S
H,GRX
M
M,A
A
GRX
0,320
D
010H,0-S+42H

• 073

CP/M MACRO ASSBM 2.0

ATTACH! BIOS & BOOT: COPYRIGHT 1981_ OTRONA CORP •

JRC
161C+3804
161E 2F
167F 32FOF9
1682 3EIO
1684 ClF8Bl

GRCK4
38H_GRCK4-S-1

DB

GRCK4:

.,

CItA
STA
MVI
JItP

GRFBRR
A_I0H
EXIT3

:1-------------------1
;t

10H - GBT Y KSB

1

:1-------------------1
1681 79
1688 FI04
168A+3803
168C 32'OF9
168F OF
1690 OF
1691 E6CO
8693 32F6F9
1696 3Ell
8698 ClF8Bl

GRIlCK3: KOV
CPt
JRC
DB
STA
GRCKS: RRC
RRC
All
STA
KVI
JKP

A,C

GRCKS
l8H,GRCKS-S-I
GRFBRR
OCOH
GRY
A,11H
BXIT3'

.,

:1-------------------1

:1

:Y KS8'S

4

liB - GBT Y LSB

I

:1-------------------1
869B
E69C
!69F
16AO
16A1

19
21F6F9
B6
17
FBFO

86A3+300F
86A5 3AFDF9
86A8 B1
16A9+2009
E6AB 3AEAF9
16AE B1
16AF+2006
E6Bl COAIBB
16B4 C3F7Sl
1681 3D
E688+2005
E6BA CD16EC
168D+18'5
E68F 3D
B6CO+2005
3804
!6C4 C3ABB3
86C? 3D
E6C2

GRFCK4: KOV
LXI
ORA
}lOY
CPI
JRNC
DB
LOA
ORA
JRNZ
DB
LDA
ORA
JRNZ
DB
CALL
GREXT2: JKP
GRCK6: OCR
JRNZ
DB
CALL
JR
DB
GReK?: OCR
JRNZ
DB
"VI

GRCK8: JKP
GROOIT: OCR

A,C
H,GRY

:Y LSB'S

}I

K,A
240
GRBXT2
3,OH,GRBXT2-S~ 1
GRFBRR
A
GREXT2
20H,GRBXT2-S-1
GRFCKD

A

GRCK6
20H,GRCK6-S-1
PPLOT
8XIT2
A

GRCK7
20H,GRCK7-S-1
VPLOT
GREXT2
18H,GRBXT2-S-1
A
GROOIT
20H,GRDOIT-S-1
A,4
PVCTl
A

CP/M MACRO A55BM 2.0
E6C8+2004
E6CA 3B05
E6CC+18F6
E6CE 3D

E6D9+18D9

ATTACHBBIOS " BOOT: COPYRIGHT 1981, OTRONA CORP.

JRNZ
DB

GROK
20H,GROK-S-l
A.. 5
GReK8
18H"GRCK8-S-1
A
GRCK9
20H"GRCK9-S-1
FILL
GREXT2
18H,GRBXT2-$-1
DRWBLK
GREXT2
18H,GRBXT2-$-1

flVI

GROK:

E6CF+2005
8601 COB3B9
86D4+1801
86D6 CDBBIB

#074

GReK9:

JR
DB
OCR
JRNZ
DB
CALL
JR
DB
CALL
JR
DB
PAGE

CP/K KACRO ASSBK 2.0

• 015

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP •

·

,
:1-----------------------1
:1 128 - READ eKas RAM

1

:1-----------------------1

!6DB
E6DC
E6DF
8680
1682
1684
8681
8688
!6BB

·,
GRFCK5:

41
CD63F2
FB
E60F
F630
2180FB
11
010100
CD81FS

HOV
CALL

B,C
RD5101

EI
ANI
ORI

l.Xl
KOV

K,A

LXI

B,l

CALL

PUSHKY
BIIX2
18H,EXXX2-S-1

JR
E68E+1812

DB

·

OFH
30H
H,HRSIO

,

:1------------------------------------1
;1 13H - GET ADDRESS FOR CKOS WRITE 1

;1------------------------------------1

86'0
86Fl
E6F4
E6F6

·,

GRFCK6: KOV
STA

19
32ADFB
31U4
C3F8Bl

KVI
JIIP

·

A,e
KIMS
A,14H
EXIT3

,

;1------------------------1
;1 148.. WRITE CHOS RAil

;1---.---------------------1

86F9 3AAOFB
86FC 41
E6FO 19
E6FE

·,
GRFCK1:

eD3AF2

E101 FS
8102 C3F1S1

EXXX2:

LDA
KOV

KIRS

KOV

CALL

A,C
WR5101·

EI
JHP

EXIT2

1

B,.A

.,
:1-------------------------1

:1

ISH - FILL TONE TABLE

I

.;1-------------------------1
,
E705 2142'A
£108 35

GETSND: l.XI
OCR

JRZ
£109+280B
E70B 2A40FA
E10E 11
870F

23

DB
I..HLO
GTSNOl: MOV
IMX

B710 2240'A
8113 e3FB!)

SHLD

H,SMOCNT
M
DOSMD
28H ,DOSMO-S-l
SNOADR

M,C
H

JKP

SNOAOR
OSPRBT
,

LXI

H,SNDTBL

,

II

1£116 2154FA
1119 CD781U

E11C FB

DOSMO:

CALL

El

SOUND

CP 1M MACRO ASSBM 2.0

E710+18B3

.,

.076

ATTACHBBIOS& BOOT: COPYRIGHT .1981, OTROHA CORP.

JR

BXXX2

DB

18H JlEXXX2 -$-1

:1------------------------------------1
;1 16H - GET 1ST BYTE OF TONB TABLB I
:1------------------------------------1
E71F
8721
E724
8726
E729

3BOE
3242FA
3B15
32FAF9
2154FA

E72C+18EO

SETSND: "VI
STA
MVI
STA

LXI
JR
DB

PAGB

A,14
SHDCNT

A,15H
OSPCYC
H,SNDTBL
GTSNDI
18H,GTSHD 1-$-1

CP '" KACRO ASSBH 2.0

.077

ATTACH! BIOS

&

BOOT: COPYRIGHT 1981, OTRONA CORP.

.,
:1--------------------------------------1
DISPLAY SUBROUTINES
:1

.,:1--------------------------------------1
1728 0603
1730 CD63F2
1733 P80B
!735+2011
1737 060A
8739 CS
873A 010107
8730 21BOFB
8740 CDABB7
1743 Cl
1744+2005
8746+10Fl
8148 313F
174A C9
8748 3ABOFB
1748 S6F3
1750 32BOP8
1153 C9
113B

:I

1154 0604
1756 CD63F2
8159 P805
875B+2031
1750 2180F8
B760 3A4oFA
8763 87
1764 P5
8765+2016
8767 010BOD
E76A BB
876B 2163P2
876B 22B117
E771 EB
1712 CDASS1
1175 EB
8716 2115F2
1719 22B1E7
E71C BB
B71D 060A
E71P C5
8780

is

8781 01070C
E784 CDASE7

R8AOTH: ItVI
CALL
CPt
JRNZ
DB
ItVI
ROTK1: PUSH
TCHG:
LXI
LXI
CALL
POP
JRNZ
DB
OJRZ
DB
RDTlt2: ItVI
RBT
RDTlt3: LOA
ANI
STA
RBT

.,
.,

TIKCHG

BaU

B,3
RD5l01
08H
RDTH2
20H,RDTlt2-S-1
8,10
8
8,101H
H,HRS10
GBTCLK
B
ROTlt3
2OH ,ROnt3-$-1
ROTltl
1OH ,ROTH 1-5-1
A,'?'
HRSIO
OP3H
HRSI0
TCHG+l

RBADAT: MVI
B,4
CALL
ROSIOI
cPt
5
JRNZ, ~OoT3 '
DB
20H,RODT3-S-1
LXI
H,HRSI0
LOA
OKIFLG
ORA
A
PUSH
PSW
JRNZ
ROOT!
DB
20H,RoOTl-S-l
8,OD08H
LXI
XCHG
LXI
H,RD5101
SHLO
GBTCLK+3
XCHG
CALL
GBTCLK
XCHG
LXI
H,R58114
SHLO
GBTCLK+3
XCHG
B,IO
RDDTI: ItVI
RDOT2: PUSH
8
PUSH
H
DCHG:
B,OC01H
LXI
CALL
GBTCLK

CP/M MACROASSEM 2.0
E787 81
1788 Cl
8789+2006
E78B+IOF2
1780 Cl
E78£ 3!3F
8790 C9
8791 Fl
8792 FS
E793+200C
1795 3AACFB
B798 2AAAF8
879B 22ABF8
B791 32AAFB·
E7Al 21ACF8
87A4 71
87AS 86F3
87A7 77
17A8 Fl
17A9 C8
B7AA 28
17A8 28
87AC 34
E7AD C9

RODT3:
RDDT4:

ROOTS:

.078
POP
POP
JRNZ
DB
OJNZ
DB
POP
KVI
RET
POP
PUSH
JRNZ
DB
LOA
LHLD
SHLD
ST·A
LXI
KOV
ANI
KOV
POP
RZ
DCX
DCX
INR
RIT

ATTACH! 8IOS & BOOT: COPYRIGHT 1981" OTRONA CORP.
H

B
RDDT4
2OH,RDDT4-S-1
RDDT2
10H,RDDT2-S-1
B
A,,'?'
PSW
PSW
RDDTS
20H,RDDTS-S-l
SIeSl0
OKIBYT
SCNDS
OKI8YT
H,SICSIO
A,M
OF3H
K"A
PSW

H
H
K

1782

:=

DATCHG EQU

DCHG+l

E7AE
B7AF
E780
E783
1784
B786
1788
17B9
E1BA
1188
E1BO
B1BE
E7BF
I1CO
87Cl

ES
CS
CD1SF2
F8
160F
FBOF
Cl
11
C8
P630
11
2B
05
78
89

GETCLK: PUSH
PUSH
CALL
II
ANI
CPI
POP
POP
RZ
ORI
MOV
DCX
OCR
KOV
CKP
JRNZ

H

17C2+20EA
I1C4 C602
I1C6 C9
B7C1 47
81C8 87
B7C9+284F
I1CB 3A03FA
I1CH 6F

DB

AOI
RIT
: SCROLL ACTIVE
SCRLUP: KOV
ORA
JRZ
DB
LOA
MOV

B
RS8114
OFH
OPH
8
H
30H
K,A
H
8
A,B
C
GETCLK
20H,GBTCLK-$-1
2
REGION UP
B,A
A
LFCLRO
28H,LPCLRO-$-1
TOPACT
L,A

CP/M KACRO ASSBM 2.0
I1CF
1102
·B1D3
.1104
8105

CD1182
5D
10
3C
F818

1101+2001
8109 AF
81DA 51
B10B 05
I1DC CS
8100 CD6S88
E180 C1
81111 01
1112 SA
8183 14
1114 3118
8186 8A
..~
-.
'

1181+2002
8119 1600
1188+1088
B11D 68
1111+1820

SCRUP 1: CALL
KOV
KOV
INR
cPt
JRNZ
08
XRA
SCRUPZ: HOV
SCRUP 3: PUSH
PUSH
CALL
POP
POP
KOV
INR
KVI
CliP
JRNZ
DB
KVI
SCRUP4: OJNZ
08
KOV
JR
08

.,:
87FO 3A05FA
I1F3 81
17'4+2824
17·'6 47
87F7" 3A04FA
17FA 6F
81FB CD1lB2
81FS SO
I1FF 1D
880·0 87
1801+2002
B803 3E18
8805 3D
8806 57
8807 05
8808 C5
B809 CD65B8
B80C Cl

1800 01
E80B 7A
B80F 5A
1810 87
8811+2002
B8l3 3E18

• 019

ATTACH! BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP •
CItPOFF
8,L
A,L
A

24
SCRUP2
20H,SCRUP2-S-1
A
D,A
0
B
KOVLIN
B
0

I,D
0

A,,24
D
SCRUP4
20H"SCRUP4-'-1
0,,0
SCRUP3
lOH,SCRUP3-S-1
L,I
LFCLRI
18H ,LFCLR I-S-1

SCROLL ACTIVI REGION DOWN

SCRLDN: LDA
ORA
JRZ
D8
SCRONl: KOV
LOA'
HOV
CALL
KOV
KOV
ORA

JRNZ
08
"VI
SCRONZ: OCR
KOV
SCRON3: PUSH
PUSH
CALL
POP
POP
KOV
KOV

H'GACT
A

LFCLRO
28H,LFCLRO-S-l
8,A
80TACT
L,A
CJfPOFF
I,L
A,L
A

SCRONZ
2 OH"SCRDN ~ -5-1
A,24
A

D,A

o
8

HOVLIN
8

o
A,D
E,D

ORA

A

JRNZ
08
MVI

SCRDN4
20H,SCRDN4-S-1
A,24

CP/M MACRO ASSEM 2.0
8815 3D
8816 57
8817+1088
8819 6B

.080

ATTACHE BIOS

SCRDN4: DCR
HOV
DJNZ
DB
HOV
,

BOOT: COPYRIGHT 1981, OTRONA CORP.

A

D,A
SCRDN3
10H,SCRDN3-S-l
L,B

.

:1----------------1
:I

&

CLEAR LINE L

I

.,:1----------------1
88lA CD6EE2
88lD 2600
881F 7D
8820 P6CO
8822 6F
B823 112000
8826'01E84F
8829 C5
882A+B069
88ZC OEFE

LFCLRO: CALL
LFCLR 1: BVI
HOV
ORl
HOV
LXI
LXI.
PUSH
OUTP
DB
HVI
LFCLl: OUTP

B828+B051

08

B830+10PC
E832+BD51
E834 Cl
883S+CBED
8837+E069
8839 OEPE
LFCLZ:
B838+BD59
E.83D+IOPC
883F+8059
8841 C9

.,
8842
8843
8845
8846
8849
E84A
884C
8848
884F

7D
F6CO
6F
112000
44
3E50
OEBE
B8
C8

8850+ED69
8852 OBFE

DJNZ
DB
OUTP
DB
POP
SITB
DB
OUTP
DB
MVI
OUTP
DB
OJNZ
DB
OUTP
DB
RET

CIIPOFI
H,O
A,L
OCOH
L,A
D,SPC
B,79*256+SDSPY
B
L
OBOH,L-8+41H
C,DDSPY
0
010H,O-8+41H
LFCLI
10H,LPCLl-S-l
D

0IDH,D-8+41H
B
5,L
OCBH,S-8+L+OCOH
L
OlDH,L-8+41H
C,DOSPY
E
080H,8-8+41H
LFCL2
10H,L.FCL2-S-1
8
080H,,8-8+41H

CLEAR LINE L FROM POSITION H TO BND OF LIN8

LFCLR2: MOV
ORl
tlOV
L.XI
KOV
HVI
LFCL3: BVI
CltP
RZ
OUTP
DB
MVI
OUTP

A"L
OCOH
L,A
D,SPC
B,H
A,80
C,SDSPY
B

L
:CLEAR ATTRIBUTE
OBDH,L-8+41H
C,DDSPY
D

CP/M KACRO ASSB" 2.0
8854+BD51
8856 0888

OB
MVI
SETB
OB
OUTP

8858+CBBO
885A+8069
E85C OEPB

08

"VI
OUTP
DB
R8S
DB
INR
JR
DB

885B+B059
8860+CBAD
8862 04
8863+1881

.,
8865
8866
8868
B869
886A
B86C
B860
886P
1810
8871
B874
E875

1A
F6CO
51
1B
F6CO
5'
064'
B5
C5
CD1AB8
Cl
Bl

B876+CBEA
B878+CBEB
E87A.OBBE
B87C+E051
B87B 21931'9
1881 B5
1882 C5
1883 OEPI
1885+BOB2
8881+BOA2
8889 Cl
888A 04
E88B 81
E88C+S059
E88E OSFB
1890+BOB3
B892 C9

'081

ATTACHB BIOS " BOOT: COPYRIGHT
OBOH~0-8+41H

C,SOSPY
5,1.
OCBH~5-8+1.+0COH

L
:CLEAR CHARACTER
OEOH,L-8+4'lH
C,OOSPY
B
OEOH,8-8+41H
5,L
OCBH,5*8+L+80H
B
LFCL3
18H,LPCL3-S-1

MOVE LINE D TO LINB B

KOVLIN: 1I0V
ORI
MOY
KOY
ORI
KOY
MYI
PUSH
PUSH
CALL
POP
POP
SETB
DB
SETB
DB
MOVLN1: MVI
OUTP
DB
LXI
PUSH
PUSH
KVI
INIR
DB
INI
DB
POP
IIR
POP
OUTP
DB
"VI
OUTIR
DB

A,O
OCOH
O,A

;S8T UP

A~B

OCOH
8,1.
B,19
H
B
MOYL,Nl
B

:MOVB ATTRIBUTES

H

5,0

:MOVE CHARACTERS

OCBH~5-8+D+OCOH

5,B
OCBH,5-8+E+OCOH
. C,SJ)SPY
0
08DH,0-8+41H
H,OSPBUF
H
B
C,DDSPY
08DH,OB2H
OEOH,OA2H
B
B

H

8
OEDH~8-8+41H

C,ODSPY
OEOH,OB3H

RET
:I--------------~------~------I

:I

MOVE CURSOR TO NEXT TAB

1981~

OTRONA CORPe

CP1M KACRO ASSEM 2.0
1893 3A09PA
1896 BC
E897 FAP711
E89A+2840
E89C is
E89D 44
189E 7C
B89F 8678
E8Al CDEIE8
88A4 78
E8AS B601
B8A1 41
E8A8 FE01
88AA+2813
B8AC C6F-8
B8AS 2F
E8AF 57
B880 78
E88l 04

E887+CB7F
E889+2010
E888+C801
E8BD+I0F8
B8BF 3E09
E8Cl 8B
B8C2+2817
B8C4 lC
E8CS 23
E8C6 1E
E8C7 060S
E8C9+18EC
B8CB 78
E8CCC6F1
E8CE 2F
E8CF 47
E800 1B
ESDI A7
E8D2 11
88D3 17
E804 17
88DS 80
E8D6 Bl

ATTACHE BIOS

&

:1----------------------------1

KOVTAB: L.DA
eHP
JM
JRZ
DB
PUSH
MOV
MOV
ANI
CALL
MOV
ANI
MOV
CPI
JRZ
DB "
ADI
eMA
MOV.
!tOV
INR
!tOVT8l: RLCR

B882+CB07
E8B4+10FC
B886 42

#082

08

DJNZ
DB
MOV
IfOVT82: BIT
DB
JRNZ
DB
RLCR
DB
DJNZ
08

flOVTB3: KVI
eflP
JRZ
DB
INR

TBIT:

INX
flOV
flVI
JR
DB
HOV
ADI
eflA
KOV
!tOV
ANA
RAL
RAL
RAL
ORA
POP

LASTAS
H
EXIT2
TBDON
28H,TBDON-$-1
H
B,H
A,H
78H
GTBFAD+2
A,8
1H
8,A
1
HOVTB3
28H,!tOVTB3;S-1
OF8H

O,A
A,!t
8
A
OCBK, OOH + A
MOVTBl
10H,IfOVTBl-S-1
B,D
.1 ,A
OCBH,7-S+A+40H·
TBIT
20 H,TBIT -8-1
A
OC8H, OOH + A
MOVTB2
10H,MOVTB2-S-1
A,9
E
TBOVR
28H,TBOVR-S-l
8
H
A,M
8,S
MOVTB2
18H,flOVTB2-S-1
A,8
OF7H
B,A
A,i
A

8
H

BOOT: COPYRIGHT 1981, OTRONA

CORP~

CPIlf MACRO ASSIJt 2.0
saD1
laD8
18DB
EaDC

61
C3FOBl
SI

C3F7B1

180P D620
18Bl+CB3F
88B3+CB3P
18B5+CB3F
BaB? 5F
saB8 1600
B8~A 210AFA
B8ED 19
BaBE C9

KOV
JtfP
TBOVR: POP
T800N: JKP
,
GTBFAO: SUI
SRLR
DB
SRLR
DB
SRLR
DB
KOV
KVI
LXI
DAD
RET

.

.,
18BF
18F2
18173
B8F5
18176

21FF'9
AF
0605

77
23

18P7+10FC
181'9 3E17
laFB 3204FA
B8FI "3205FA
1901 3118
B903 3206FA

1906 3141'
8908 3209FA
!908 3EOl
E90D+1804
E90F AF
8910 3209FA
1913
8916
E918
1919

210AFA
060A
77
23

891A+10FC
891C C9

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.
H,A
CUSTH
H
8XIT2
20H
A
OCBH, 38H + A
A
OCBH, 38H + A
A
OCBH" 38H + A
E,A
0,0
H,TA8S
0

RESET PARAKBTBRS

RSTPAR: LXI
XRA
ItVI
RSTLl: KOV
INX
DJNZ
08
HVI
STA
STA
flVI
STA

H,CURCHR
A
B,,5
H,A
H

RSTLl
10H"RSTLl-S-1
A,,23
BOT ACT
HAG ACT
A,ISC
" L.EAOIN

RBSET OR CLEAR TA8S
,
RSTAB5: MVI
A,4FH
STA
L.A5TA8
A,l
MVI
JR
00TA8S
08
18H ,00TA85-9-1

·

·

,
CLRTBS: XRA
STA
,
"00TA8S: LXI

·

MVI

00T8J1: KOV
INX
DJHZ
DB
RET

.,
8910 21FFF9
E920 1114FA

.oa3

A
LASTAB
H,1A85
8,10
H,A
H

DOTpJl
1 OR,DOTBJ 1-9-1

SAVE SCREEN PARAHETERS

SAVPAR: LXI
LXI

H,CURCHR
D,TEKPAR

CP/M MACRO ASSEM 2.0
8923 011500
E926+8DBO
£928 C9

8929 2114FA
892C 11FFF9
£92F 011500

1#084

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

LXI
LDIR
DB
RET

B,21
OEDH,OBOH

RESTORE SCREEN PARAMETERS
,
RSTORP: LXI
H,TE!lPAR
D,CURCHR
LXI
B,21
LXI

·

LOIR

8932+8D80
£934 C9

DB
RET

·

OEDH,OBOH

CLEAR SCREEN & RESET PARA!lETBRS

,

E9~5

8938
8939
893C
8938
8940
8942
8944
8941

E94A
1940
8950
8951
1954

CDEFB8
AF
32A40A
3EA6
03E8
3El1
03FI
210000
C351B3

CD42B8
3A07FA
47
3A04FA
90

8955+2812
£951 47
B958 70
£959 861F
8958 3C
E95C FE18
8958+2001
8960 AF
8961 6F
8962 C5
8963 CDIDB8
8966 Cl
8967+10EF
8969 C9

CLSC~H:

RSTPAR
A
LINOFS
A,OA6H
SDSPY
A,23
DOSPY
H,O
CTRLZ

CLEAR TO END OF ACTIVE REGION
,
CLTONO: CALL
LFCLR2
LDA
CHRADR
B,A
!lOV
BOT ACT
LOA
SUB
8
. JRZ
CLND3
28H,CLND3-S-1
OB
B,A
MOV
A,L
CLMOI : MOV
ANI
IFH
INR
A
CPI
24
CLN02
JRHZ
20H,CLND2-S-1
DB
A
XRA
L,A
CLH02: MOV
PUSH
B
LFCLRI
CALL
POP
B
DJNZ
CLNDI
10H,CLNDl-S-l
DB
CLND3: RET

·

.,
E96A 85
896B 2194F9
896E 22£7F9

CALL
XRA
STA
MVI
OUT
MVI
OUT
LXI
JKP

INSERT OR DELETE CHAR •

INSCHR: PUSH
LXI

SHLD

H

H,DSPBUF+'l
MOVBEG

:5ET UP FOR INSERT

CP/K MACRO ASSBM 2.0
8911 3E23
B913 32AIE9

ATTACHE BIOS

MVI
STA
JR
DB

A,.23H
MODX
INSOEL
18H,INSDEL-S-1

;INX

:SET UP FOR DELETE

8976+180C

.,

8918
E919
891C
E91F
E981

as
2192F9
22E7F9
3E2B
32AIE9

DELCHR: PUSH
LXI
SHI..O
MVI
S1A

H
H,DSPBFL+l
KOVBEG
A.2BH
KODX

E984
8985
8988
E989
E98A
£98B
E98D
898E
E98F
E992
8993
E994
E995
E997
899A

AF
CDB089
81
85
70
F6CO
6F
E5
COC7B9
B1
70
5C
03EE
2AE7P9
3AOOFA

A
FILBFF
H
H
A,1..
OCOH
L.A

E99D+CB67

INSOEL: XRA
CALL
POP
PUSH
MOV
ORI
KOV
PUSH
CALL
POP
KOV
MOV
OUT
I..HLO
LOA
BIT
DB

899F+2801
B9Al 2B
E9A2 85
E9A3 COD8E9
. E9A6 3E20
E9A8'CDBDB9
89AB 01
89AC 81
E9AO D5
E9AS 70
89AF F680
E9B1 6F
£982 85
89B3 COC7E9
£9B6 81
E9B7 70
E9B8 5C
E9B9 El
89BA C3D8E9

DB
DCX
KOOX:
INOEl..l: PUSH
CALL
ltVI
CALL
POP
POP
PUSH
KOV
ORI
KOV
PUSH
CALL
POP
KOV
KOV
POP
JMP

.

89C4+l0FC
E9C6 C9

.:DCX

H

H

: INSERT OR DELETE

H

H

:MODIFIABLE CODE

H
o

OUT LIN
A,2QH·
PILBFF
0

H
0

A,L
OEOH
L,A
H
INPLIN
H
A#L

E.H
H

OUTLIN

p

2191F9
0654
77
23

FILBFF: LXI
MVI
FLBFl: MOV

&.

INPLIN
H
A,1..
E,H
SOSpy
KOVBEG
CURATT
4,A
OCBH,.4 tt 8+A+40H
INOELl
28H,INOEL 1-$-1

JRZ

E9BD
E9CO
E9C2
E9C3

BOOT: COPYRIGHT 1981. OTRONA CORP.

#085

H,.DSPBFL

B'84
M,A

INX

H

DJNZ
DB
RET

FLBPl
lOH,FLBFl-S-l

:FILL BUFFER WITH 

'

RAM MONTH

CP/M MACRO ASSEM 2.0
F466 FE3F
F468 C1
F469+2832
F46B 21AEFB
F46E 78
F46F 860F
F471 2B
F472 7E
F473+2802
F475 C60A
F477 E60F
F479 B8
F47A+2805
F47C 0214F5
F47F+181C
F481 2B
F482 011210
F485 C057F5
F488 OA14F5
F488+2010
F480 C02EB7
F490 011612
F493 21BOF8
F496 C057F5
F499+2879
F498+3877

#122

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

CPI
POP
JRZ
DB
LXI

'1'

HOV

ANI
DCX
MOV

JRZ
08
AOI
CKALM1: ANI
CMP
JRZ
DB
JNC
JR
DB
CKALM2: DCX
LXI
CALL
JC
JRNZ
DB
'CALL
LXI
LXI
CALL
JRZ
DB
JRC
DB

B

VALP
28H,VALP-S-l
H,KINSlO
A,M
: 10'5 OF MONTH
OFH
H

A,M
:UNITS OF KONTH
CKALMl
28H,CKALIU -S-I
OAH
OFH
B

CKALM2
28H,CKALM2-S-I
Al..ARM,
"VALP
18H,VALP-S-l
H

8,1012H : CHOS RAK DAYIO
CHKKOS
ALARK
VALP
20H,VALP-S-l
READTM
B,12l6H : CHOS RAM HRS. & MINS.
H,HRSIO
CHKMOS
ALARK
28H,ALARK-S-l
ALARK
38H ,A LARK -S-1

:1------------------------------1
:1

VALET PENDING 1

.,:1------------------------------1
F490 3A830A
F4AO B7
F4Al C293F3

VALP:

LDA
ORA
JMZ

VALPND
A

CKVLKI

~

: DISPLAY TIKE AND DATE ?
F4A4 3A870A
F4A7 B7
F4A8+2807
F4AA AF
F4AB 32AEOA
F4AE 3287DA

LOA
ORA
JRZ

.,

VALTIM
A

DB

CHKMTR
28H,CHKMTR-S-l

XRA
STA
STA

TIMFLG
VALTIH

A

:1------------------------------1
:1

FLOPPY MOTOR SHUT-DOWN

:1------------------------------1

#123

CP/K BACRO ASSE" 2.0
F481 2A60FA
F4B4 1C
F485 85
F486+2006
F488 3EFE
F48A CD27Bl
F4BD 23
F4B! 2B
F4BF 2260FA

CHKKTR: LHLD
MOV
ORA
JRNZ
DB

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

CALL

KTRCNT :GET HOTOR TIMER
A,H
:1E5T FOR ZERO
L
CKMTRI :IF <>0 ,THEN DECREMENT
20H,CKMTR1-$-1
A,-2
: (Z BIT ALREADY SET)
LLATCH : ELSE SHUT OFF MOTORS

INX

H

HVI

CKKTRl: OCX
SHLD

H

HTRCNT

:1------------------------------1

:t

HANDLE DISK TIKE OUT

:t------------------------------I
F4C2 3AA9FB
F4CS B7

LOA
ORA
JRZ

F4C6+282A
F4C8 3D
F4C9 32A9FB

DB
OCR
STA
JRNZ
DB
LOA

F4CC+2024
F4CB 3A1CFB
F401 FE08

cPt

JRNZ
DB

F4D3+2012
F4D5 CDB5DE

CALL
BIT
DB
JZ

F4D8+CB6F
F40A CAl3EO
F400 2148F8
F4EO 3804
F4E2 COBCDE

LXI
HVI

CALL
JR
DB

F4E5+180B

DSKCNT
A

BRBAK
: DSKCNT ALREADY
28H,BREAK-$-1

=0

A

DSKCNT
: OSKCNT (> 0
BREAK
20H,BREAK-S-l
OSKCYC
8
: IF NOT WAITING FOR READY
TIMOUT , THEN ERROR
20H, TIMOUT-$-1

.

SISTAT : ELSE SENSE DRIVE STATUS
5,A
, IF DRIVE NOT OK
OCBH,5-8+A+40H
WFRBAD : THEN WAITING FOR READY ERROR
H,RCLTBL: ELSE START 1ST RECA!.
A,4
: NEW pSKCYC = 4 .
OORCSK
BREAK
18H,BRBAK-S-l

.

.,
F4E1
F4EA
F4ED
F4EF

CDABOE
3A1CFB
F6CO
321CFB

F4F2 3AFEF9
F4F5 B7
F4F6+2811
F4F8 3D
F4F9 32F8F9
F4PC+200B
F4FB 3B05
F500 03F1
F502 3A3DFA
F505 !6EF

TIKOUT: CALL
LOA
ORI
BREAK:

STA

CLRFDC : -ALL OTHER TIMEOUT ERRORS
DSKCYC
CLEAR OUT FOC
OCOH
, DSKCYC OR WITH OCOH
DSKCYC

LOA
ORA

BRKCHT
A

.

JRZ

lEND

DB

28H,IEND-S~ 1

OCR

A

STA
JRNZ
DB

lEND

20 H,18NO-S-l

MVI

A,5

OUT
LOA
ANI

seolt"

BRKCNT

BRKSAV
OSPH

CP/M MACRO ASS EM 2.0
F507 D3F1

#124
OUT

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.
SCOMM

~I----------------------------------------------I
;1
EXIT SRV60 {Al.SO USED BY SRVFPY>

.;1----------------------------------------------1
,
F509
F50A
F50B
F50C

Fl
Cl
Dl
El

US:ND:

POP
POP
POP
POP
LSPO

DB

F50D+ED7B
F50F+49FA
F5l1 FB

OW

PSW
B
D
H
TBKSTK
OEDH,O?BH
TEMSTK

E1

RETI
F512+E040
.

.,

DB

PAGE

OEDH,4DH

#125

CP/M MACRO ASSEM 2.0

ATTACHE BIOS & BOOT: COPYRIGHT 198 L OTRONA CORP.

,
II

;1--------------------------------------1
:I

;1

MISC .. SRV60 SUBROUTrNES

:1
:1--------------------------------------1

:1---·------------------1
: I SOUND VALET ALARM

I

:1---------------------1
..
,

F514 3AA7DA
F511 F640
F519 FB4Q

ALAR":

..

ALJO:

F522 3C
F523 211800
CD52BD
3B21
32860A
2126F6
CD?S8l
C39DF.

F537 FE42

ALHeNT

ORI

40H
40H

cPt
JRHZ

F518+201A
F51D 21A60A
F520 3600

F526
F529
FS2B
FS2E
F531
F534

LDA

.,
ALJ1:

08
LXI
HVI
INR

LXI
CALL

MVI

STA
ALJ2:

LXI

CALL

.,

JMP

ALJ3:

CPI

JRC
F539+3881
FS3B lAA6DA
FS3E 87

."

DB

AtJ3
20H,ALJ3-Ei-l

H,ALKWAT
K,O
A
H,120
RSTAL2
A, 't'

.

VALCMO
H,ALMSND
SOUND
VAL?
42H
A1.JO
38H,AL·JO-S-1

LOA

ALMWAT

ORA

A
ALJ4
20H,A1.J4-$-1

JRNZ
F53F+2010
F541 0617
F543 CD63F2

DB
MVI

CALL

RDS'} 01

F546 B602

ANI

2

JRZ

AtJ4

F548+2807
F54A 3EFF
F54C lZ8lDA

DB
MVI

28H,AtJ 4-$-1

A,OFFH

STA

VALPND

JR

A1.J2
18H,ALJ2-$-1

F54F+18DO

F551 214038
FS54 70

DB

ALJ4:

LXI

H,14400

JR

A.L
ALJl

DB

18H,AtJ 1-$-1

MOV

F555+18CF

B,l?H

: L=40H

,

;1----------------------------------------1
:1 COMPARE CMOS RAM TIME WITH REAL TIME
;1----------------------------------------1

I

,

CP/M MACRO ASSEM 2.0

#126

ATTACHE 8IoS & BOOT: COPYRIGHT 1981, oTRONA CORP.

.,
FSS7
F558
F5SB
F5SC
F5SE
F5SF
FS60
F561
F562
FS63

CS
CD63F2
C1
F630
BE
2B
CO
04
78
B9

F564+20Fl
F566 C9

CHKMOS: PUSH
CALL
POP
ORI
CMP
DCX
RNZ
INR
HOV
CMP
JRNZ
D8
RET

B
ROSIOl
B

30H
M
H
B
A,B
C
CHKHOS
20H,CHKMOS-$-1

;1--------------------------------------1

, ;I

ADD KEY. TO END(. OF . K.EYBO~RD

B~FFER

.;1--------------------------------------1
,
F567
F568
F56B
F560
F570
F573
F574
F577
F57A
F57B
F57C
F570
F580

47
3AFBF9
FIno
217DF6
CA78E1
3C
32FBF9
2A3BFA
78
77
23
223BFA
C9

ADDKBY: HOV
LOA
CPI
LXI
JZ
INR
STA
LHLO
HOV
MOV
INX
SHLD
RET

B,A
KEYCNT
KBUFLN :IF BUFFER FULL
H,BELLTN
SOUND
: SOUND BELL, BUFFER FULL
A
; ELSE ADD KEY
KEYCNT
KEYPNT
A,B
M,A
H

KEYPNT

.,

;1-----------------------------------1

:1

PUSH KEY(S) INTO KEYBOARD BUFER

.,:I----------------------~------------I
F581
F582
F583
F584
F587
F58A
F58B
F58C

C5
85
F3
3AFBF9
2A3BFA
09
81
FEll

F58E+3800
F590 217DF6
F593 CS
F594 CD78E1
F597 C1
F598 213BFA
F59B 3BlO
F59D 32FBF9
F5AO 223BFA
F5A3 3ElO

PUSHKY: PUSH
PUSH

B

H

01

LDA
LHLD
DAD
ADD
CPI
JRC
DB
LXI
PUSH
CA~L

POP
LXI
MVI
PSHKYl: 5TA
SHLD
MVI

KEYCNT
KEYPNT
B
C
KBUFLN ... 1
PSHKYl
38H,PSHKY 1-$-1
H,BELLTN
B
SOUND
B
H,KEYBUF+ 16
A,KBUFLN
KEYCNT
KEYPNT
A,16

I

CP/M MACRO ASSBM 2.0
F5A5 91
F5A6 213AFA
F5A9 85
F5AA+CBOO
F5AC+!D42
F5A! 01
F5AF 4F

'127

ATTACHE BIOS

SUB
L.XI
PUSH
RL.CR
OB
OSBC
OB
POP

C
H,KEYBUF+15

MOV

C,A

H

B
OCBH, OOH + B
B
OBDH,B*8"'42H
0

L.DOR
F5BO+EDB8
F5B2 81
F583 Cl
F584 1128P'A
F581+BD80
F589 F8
F58A C9

08

POP
POP
L.XI
L.OIR
DB
81

RET
PAGB

&

OEDH,OB8H
H

B
O,KEYBUF
OEDH,OBOH

BOOT; COPYRIGHT

1981~

OTRONA CORP.

:MOVE OLD CHARS. UP BY Be

CP/M MACRO ASSB" 2.0

#128

ATTACHE BIOS & BOOT: COPYRIGHT

1981~

OTRONA CORP.

:1-------------------------------------1
BAUD TABLE
.:1-------------------------------------1
:1

F5BB
P5Cl
F5C7
P5CD
F5Dl
F506
F5DB
F5BO
F5B5
P5EA
. F5BP
F5F4
F5F9
F5FE
F603
F608
F60D
F612
F617
F6lC
F621

,
370D57AF57BTABL:
5780574057
5710570857
57025701
20202037B5BNKTBL:
20203131BO
3133342EB5
20203135BO
20203330BO
20203630BO
.2031.3230BO
20323430BO
20343830BO
20393630BO
31393230BO
204F4B20AOBELTBL:
204F4646AOKNKTBL:
434C4943CB
2044494ECB
42454550Bl
4245455082

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

t,

37H,ODH,,57H,OAFH,,57H,8FH
57H,80H,57H,40H,,57H,20H
57H,,1 OH,,57H,08H ,57H,04H
57H,02H,57H,0 1H
7' ,'5'+80H
, 11 ' , , 0' +8 08
'134.' ,'5'+80H
, 15','0'+80H
, 30' , , 0' +808
" 60','0'+80H
.' 120' ,,'0'+8QH
, 240' ,'0'+80H
, 480' ,"0'+80H
, 960' ,'0'+80H
'1920' ,'0'+808
, ON ',' '+80H
, OFF',' '+80H
'CLIC', 'K'+80H
, DIN' ,'K'+80H
'BEEP' ,'1 '+80H
'BEEP' ,'2'+808

;1------------------------------1
SOUND TABLES

:1

;1------------------------------1

,
·;K8YCLICK

F626 000320201FALKSND: DB
F630 87
DB
,.
F631 00
TONPER: DB

·

·
,

F632
F641
F64A
'650
'65A
'65F
·)66A
~66E

'679
F67D
F687

000000000FNOTON8:
010400000FCLICK:
471D20F6AF
020200000FBEEP:
3256203E25
020000000F"IDA:
00000000
020000000FAUP30:
00000000
020200000FBELLTN:
3256203825

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

o,3,,20H,,20H,1 FH,O ,0"OF8H,,0 ,41H
87H

o
0,0,0,0,OF8,OFH,OFH,OFFH,0,0,0,,0,0,0,,0
;SN APS
47H"lDH,20H,OF6H,OAFH,OEDH
2 ,2,0,0 ,OFH ,OFH,OFH,32H,54H,20H :SHORT DINK
32H,56H,2 OH, 38H,25H
2,0,0 ,0,OFH,OFH,OFH,OF8H, 1FH,O"OFEH
0,0,0,0
2,0,0,,0 ,OFR ,OFH,OFH,OF8H,1 FH,2 ,OFAH
0,0,0,0
2,2,0,0,OFH,OFH,OFH,32H,54H,20H : BELL TONE
32H,56H,20H,3EH,25H

1, 4,0,,0,0 FH ,OFH "OPH ,,0 ,80H

;1----------------------------------------------1
:1

AL.TERNATE CHARACTER SET TRANSLATION TABLE

;1----------------------------------------------1
.
r

F68C 40
'680 00

CHRTBL: DB
DB

40H
OOH

:0 : STANDARD SET
:1 = FORKS RUL.ING

CP/M KACRO ASSBM 2.0
F68B 80
F68F CO
F690 00000000

• 129

ATTACHE

08

80H
oeOH
0.0,0,0

DB
DB

8IOS

:2

& BOOT: COPYRIGHT 1981, OTRONA CORP •

= GREEK

& LANGUAGES

:3 = HATH & WORD PROCESSING

:1-----------------------------------------------1
:1

KIYCODE

TRANSLATION TABLE CWORDSTAR VERSION) I

:1-----------------------------------------------1

.,
F694
F69C
F6A4
F6AC
F684
F6BC
F6C4
F6CC

08090AOOOOKBYTBL:
2000001BOI
5121402324
2829223A3C
7141424344
48494A4B4C
5051525354
58595A1B7C

.,
'60<4
F60C
F614
F6EC
F6'<4
F6FC
',04
F10C

08090AOOOO
200000FF93
IB85C803B3
B6A327382C
000102030<4
08090AOBOC
1011121"314
18191AIBIC

NO CTRL, SHIFT

DB
DB
DB
DB
DB
DB
08
DB
CTRL,

DB
DB

DB
DB
DB
DB
DB

.

,

08

;BS TAB LF NA NA CR NA LOCK
;SP NA NA ESC LFT RT UP ON
5IH,21H,40H.23H,24H,25H,26H,2AH ;" EXCL i#S%&28H,29H,22H,3AH,3CH,2BH,3EH,3FH ;O":<+)?
18H,,418,42H,43H,448,45H,46H,47H ; .. ABCDBFG
48H,49H,4AH,4BH,4CH,4DH,4EH,4FH ;HIJKLMND
SOH.S 1H,52H,5 3H.54H,55H,56H,57H ;PQRSTUVW

8,9"OAH,0,0,00H,0 ,OFEH
20H,0,,0,IBH,I,6,1AH,17H

58H,59H,5AH,7BH.1CH,7DH,5FH,7

;XYZ{ Il_OEI.

SHIFT
;8S TAB L.F NA NA CR NA LOCK
:SP NA NA ESC LFT RT UP ON
lEH,,85H,OC8H,OD3H,OB3H.OBOH,OA2H,OABH ;" BXCt i#$"&*
OB6H,OA3H,27H,3BH,2CH,OCH,2EH.2FH
;O":<+)?
0,1,2,3,4,5,6,7
:CTRL.-.... A8CDEFG
8.,f,9,OAH,OBH,OCH,ODH,OBH,OFH
:CTRL.-HIJKLMNO
8,9,OAH,0,0,OOH,0,OFDH
20H,0,0,OFFH,93H,84H,92H.83H

lOH,11H,12H,13H,14H,15H,16H,17H

~CTRL.-PQRSTUVW

18H,19H"lAH,lBH,,1 CH,lDH,OCH,19H ;CTRL-XYZ{I }_OEL

NO SHIFT OR CTRL

F?14
F?IC
F724
F12C
F134
F73C
'744
F14C

08090AOOOO
2000001B08
303132333<4
3839213B2C
6061626364
68696A6B6C
7071727374
18191A5B5C

DB

8,9,OAH,O,Q,ODH,Q,OP,EH
:BS TAB LF HA NA CR NALOCK
20H,0,0,lBH,8,OCH,OBH,OAH
;SP NA NA ESC LFT RTUP ON
30H,31H,32H,33H,34H~35H,36H,37H ;01234567
38H,39H,27H,3BH,2CH,3DH,2BH,2FH ;89';,=.1
60H,61H,62H,63H,64H,65H,66H,67H ;'ABCDEFG
68H,69H,6AH,6BH,6CH,6DH,6EH,6FH ;HIJKLMNO

DB
DB

70H,71H,7 2H,7 3H,7 4H ,75H,76H,77H ;PQRSTUVW
78H,79H,7 AH,5BH ,5CH ,5DH,2DH,7FH ;XYZ(\J-DEL

,08
08

DB
DB

DB

CTRL, NO SHIFT

F75<4
'75C
F164
F76C
F174
F71C

FC09FBOOOO
200000FF01
CBIIOAOFIO
D8C9273B2C
0001020304

08

DB
DB
DB

"84 1011121314

DB
DB
DB

F78e 18191AIBIC

DB

08090AOBOC

.

OFCH,9,OFBH,O,O,ODH,O,OFDH
20H,0,0,OFFH,,1,6,12H,3

;BS TAB LF NA NA CR N'A ~LOCK
;SP NA NA ESC, LFT RT u~~ ON

OCBH,11H,OAH,OFH,10H,OBH,16H,2
:01234567
OD8H.OC9H,27H,3BH,2CH,81 H,ZEH,2FH ;89 ':~=./
00,01,02.03,04 ,OS ,06,07
:CTRL- 'ABCDEFG
08,09 ,OAH,OBH ,OCH,OOH ,OEH ,OFH
;CTRL-HIJKLHNO
lOH,11H,12H,13H,14H,15H,16H,17H :CTRL-PQRSTUVW
18H,19H,1 AH, 1BH,1 CH, 1DH.1 FH, 14 H:CTRL- )(VZC\ ]-DEL

KEYPAD TABLE

,

F194 2A2C3D2E2FPADTBL: DB

2AH,2CH,30H,2EH,2FH

:* ,=.1

CP/M MACRO

ASSBM 2.0

F799 6061626364
F7Al 6835313233
F7A9 2871727374

M130

ATTACHE BIOS & BOOT: COPYRIGHT 1981, OTRONA CORP.

DB
DB

60H,61H,62H,6 3H,64H,65H,6 6H,67H ;' ABCDEFG
68H,35H,31H,32H,33H,30H,6EH,36H :HS1230N6

DB

28H,71H,72H,73H,74H,34H :+CRST4

PAGE

CP/It MACRO ASSBK 2.0

.131

ATTACHE BIOS & BOOT;

C~PYRIGHT

1981, OTRONA CORP.

,
o

:1------------------------------1

:I

ESCAPE SEQUENCE VECTOR TABLE

I

.;1------------------------------1
,
F7AF
F781
F783
F785
F187
F789
'788
'780
F7BF
F7Cl
F7C3
F7C5
F7C7
'7C9
F7CB
F7CD
F7CF

F1Dl
F7D3
F705
F707

F1D9
F70B

F7DD
F1DF
F1KI
F7E3
F7KS
F717
F7K9
'7BB
F180
F7EF
F7Fl
F7F3
F7F5
F7F7

F7F9
F7FB
F7FO
F7FJI
F801
F803
F805
F801
'809
F80B
F80D
F80P'
F811

AIE3
ACI3
C9E3
CDB3
0213
0613

DBI3
B813
BOl3
F483
F883
0114
1414
1914
1014

33B4
3784
3884
5214
6884
9CI2
9883
9883
9883
8084
9884
AFB4.
BSB4
BAB4
CBB4
OF84
8314
8984
EBB4
F781
1'384
F7B4
FBE4
FF84
03ES
0785

1984
OB85
1085
3589
1585
IBBS
22E5
29E5
20B5

ESCT8L: OW

DW
DW
DW
OW
OW
OW
OW
OW
OW
OW
OW
OW
DW
DW
OW
OW
OW
DW
DW
DW
OW
OW
OW
OW
DW
OW
DW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW
OW

PPOINT : PLOT POINT
PYCTOR : PLOT VECTOR
BLKDRW : BLOCK DRAW
CLRGRF : CLEAR GRAPHICS MEM.
BLKFIL : BLOCK FILL
SBTlt5K : SET MASK FOR BLOCK FILL
DSBGRF ; DISABLE GRAPHICS
ENBGRF ; ENABLE GRAPHICS
PTBRT
; SET TO PLOT BRIGHT
PTORK
; SET TO PLOT DARK
REDDAT : READ DATE FROM CLOCK CHIP
CltOSPN : SET PRINTER BAUD FROM CHOS RAM
CMOSCM ; SET COMM. BAUO FROM CMOS RAM
DRCTMY : DIRECT CURSOR MOVEMENT
RBDTI" : READ TIME FROM CLOCK CHIP
REDRAM : READ CMOS RAM
WRTRAM : WRITE CHOS RAM
UPCUR
: CURSOR UP
DWNCUR : CURSOR DOWN
RITCUR : CURSOR RIGHT
CTROL2+4: CURSOR LEFT
NFGESC ; -- NOT USED -NFGBSC : -- NOT USED -NFGESC : -- NOT USEO -HOKCUR ; CURSOR HOKE
REYLF
: REVERSE LINE FEED
CLRBND : CLEAR TO END OF ACTIVE REGION
,CLRELN : CLAR TO" END OF. LIME
INSLIN ; INSERT L.INE
OELLIN : DELETE LINE
SETTA8 ~ SET TAB
CLRTA8 : CLEAR TAB
DELLCR : DELETE CHARACTER
INseON : INSERT CHAR. MODE ON
8X112
; INSERT CHAR. MODE OFF
CHRSIZ : SELECT CHAR. SIZE
CHRSET ; SELECT CHAR. SET
SELATR : SELECT CHAR. ATTRIBUTE
SELDIN : SELECT ALi. LEAD-IN
DSPSND ; SOUND GENERATOR
SETACR : SET ACTIVE REGION
DRCTMV : DIRECT CURSOR MOVE
RESPAR : RESET PARAMETERS
SAYVPR : SAVE PARAMETERS (SYSTEM USE ONLY)
CLSCRN : CLEAR SCREEN & RESET PARAMETERS
RCLPAR : RECALL PARAMETERS (SYSTEM USE ONLY)
WRPOFF : WORD WRAP OFF
WRPON
: WORD WRAP ON
SETWS
: SST WSFLAG (ON)
CLRWS
: RESET WSFLAG 0 =OKI
: KEYTONE
: BRIGHTNESS LEVEL
: BELL TOGGLE
: VOLUME LEVEL
: SHIFT LOCK
: VALET INHIBIT FLAG
: SOUND TABLE FOR USER TONES
: R/W COMMAND FOR VALET DISK 10
: t# OF A.U. "S TO RBAD IN VALET DISK 10

f

':';

,;'~RAPHICS"

~FA65

,GRX12:

:.05

FA67
'FA69
¥ll,6A

"GRX1?:,X'·,DS,
STRX1: OS

2
'2 ,
1

STRX:

1

...,

DS

"F~6a

PIXBIT: OS

'FMC

;' ,lPIXBT2: OS

VARIABLES

: USED IN FILL ROUTINE

1
1

FLOPPY VARIABLES
ALL VARIABLES FROM HERE TO THE END MUST REMAIN AS THEY
ARE NOW. THIER RELATIVE POSITIONS MUST NOT CHANGE.
FA6D
"·FA6F

FA70
'FA'l

FA7:2

MTRCNT: OS
'. ;';rmSUL T: DS
~TrSK'CMD: DS

UNACNT: DS
UNADSK: DS

2
1
1
1
1

; MOTOR TIPlER
: # OF BYTES TO GET FROM U765
: DISK COMMAND
:UNALLOC REC CMT
: LAST UNALLOC DISK

#139

ATT ACHE BIOS &. BOOT: COPYRIGHT 1981, OTRONA CORP.

UNATRK:
UNASEC:
HHFLGS:
SAVECH:
sEKOSK:
SEKTRK:
SEKSEC:
HSTDSK:
H5TTRK:
HSTSEC:
SEKHST:
HSTACT:
HSTWRT:
HSTHD:
ERFLAG:
RSFLAG:
READOP:
WRTYPE:
OItAAoR:
DIRBUF:
RECHT:
ALVO:
CSVO:
ALVI:
CSV1:

05
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS·
OS
OS

: LAST UNALLOC TRACK
2
: LAST UNALLOC SECTOR
1
; HOME BEEN HERE BEFORE FLAG
NDISK
1
; SEEK DISK NUMBER
1
2
: SEEK TRACK NUMBER
: SEEK SECTOR NUMBER
1
: HOST DISK NUMBER
I
: HOST TRACK NUMBER
2
: HOST SECTOR NUMBER
1
: SEEK SHR SECSHF
I
: HOST ACTIVE FLAG
1
: HOST WRITTEN FLAG
1
1
: HOST Ho 
Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2013:04:02 13:17:01-08:00
Modify Date                     : 2013:04:02 14:09:58-08:00
Metadata Date                   : 2013:04:02 14:09:58-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:7bdf7cf5-8db3-4dfe-b104-fde0bdc4b3cd
Instance ID                     : uuid:1068fa84-bf59-4804-a93e-ab89e3aeeae2
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 140
EXIF Metadata provided by EXIF.tools

Navigation menu