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 .
Page Count: 140
Download | |
Open PDF In Browser | View 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 : 140EXIF Metadata provided by EXIF.tools