ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / V4.x / LST MONITOR


Listing programu MONITOR V4.0F, doplněn o handler snímače FS1503 pro DPP-1


'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1


    1	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2	                                TITLE 'MONITOR SAPI-1  V4.0F'
    3	                                ;       30.7.1985       (P+S)
    4	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5	                                ;
    6	                                ; DOPLNEN HANDLER SNIMACE FS1503 PRO DPP-1
    7	                                ;
    8	                                ;  VOLBA SYSTEMU
    9	  FFFF                          SP1     EQU     -1      ; -1 YES
   10	  0000                          SP1A    EQU     0       ;FOR CP/M SYSTEM MONITOR
   11	  0000                          CPM     EQU     00      ;JPR-1 EPROM VERSION
   12	                                ;
   13	                                ;
   14	                                ;       *** DEFINOVANI PAMETOVEHO PROSTORU *
   15	                                ;
   16	  0100                          MONIT   EQU     100H    ; START MONITORU
   17	                                ;  NASTAVENI PAMETI R A M
   18	                                
   19	  4000                          RAM     EQU     4000H   ;START RAM
   20	                                        IF      CPM
   21	                                ERAM    EQU     9FFFH   ;TOP RAM
   22	                                TVBEG   EQU     0E800H  ;TV-RAM
   23	                                EP2     EQU     800H+200H       ; SECOND EPROM
   24	                                        ELSE
   25	  FFFF                          ERAM    EQU     0FFFFH  ;RAM-1 48K
   26	  3800                          TVBEG   EQU     3800H   ;TV-RAM
   27	  0800                          EP2     EQU     800H    ; SECOND EPROM
   28	                                        ENDIF
   29	  4000                          @R@     EQU     4000H   ;RESTART VECTOR
   30	  00CF                          RSTN    EQU     0CFH    ; RST 1
   31	                                
   32	                                ; GLOBAL CONSTANTS
   33	                                
   34	  000D                          CR      EQU     0DH     ; CARRIAGE RETURN
   35	  0009                          HT      EQU     9       ; TAB
   36	  0008                          BACK    EQU     8       ; BACK SPACE
   37	  0007                          BELL    EQU     7       ; BELL
   38	  000A                          LF      EQU     0AH     ; LINE FEED
   39	  0003                          ETX     EQU     03H     ; BREAK CHAR.(CONTROL C)
   40	  0017                          CTRLW   EQU     17H     ; BREAK USER
   41	  0055                          BEGIO   EQU     55H     ; START VALUE FOR I/O BYTE
   42	                                
   43	                                
   44	                                ; I/O STATUS BYTE MASKS AND VALUES
   45	                                
   46	  00FC                          CMSK    EQU     11111100B       ; MASK FOR CONZOLE
   47	  00F3                          RMSK    EQU     11110011B       ; MASK FOR READER
   48	  00CF                          PMSK    EQU     11001111B       ; MASK FOR PUNCH
   49	  003F                          LMSK    EQU     00111111B       ; MASK FOR LIST
   50	                                
   51	                                
   52	  0000                          CTTY    EQU     00000000B       ; CONZOLE=TTY
   53	  0001                          CCRT    EQU     00000001B       ; CONZOLE=CRT
   54	  0002                          BATCH   EQU     00000010B       ; INPUT=READER,OUTPUT=LIST
   55	  0003                          CUSE    EQU     00000011B       ; USER REFINED CONZOLE
   56	                                
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-1


   57	                                
   58	  0000                          RTTY    EQU     00000000B       ; READER=TTY
   59	  0004                          RPTR    EQU     00000100B       ; READER=PTR
   60	  0008                          RUSE1   EQU     00001000B       ; USER DEFINED READER 1
   61	  000C                          RUSE2   EQU     00001100B       ; USER DEFINED READER 2
   62	                                
   63	                                
   64	  0000                          PTTY    EQU     00000000B       ; PUNCH=TTY
   65	  0010                          PPTR    EQU     00010000B       ; PUNCH=PTR
   66	  0020                          PUSE1   EQU     00100000B       ; USER DEFINED PUNCH 1
   67	  0030                          PUSE2   EQU     00110000B       ; USER DEFINED PUNCH 2
   68	                                
   69	                                
   70	  0000                          LTTY    EQU     00000000B       ; LIST=TTY
   71	  0040                          LCRT    EQU     01000000B       ; LIST=CRT
   72	  0080                          LLPT    EQU     10000000B       ; LIST=LPT
   73	  00C0                          LUSE    EQU     11000000B       ; USER DEFINED LIST
   74	                                ;
   75	                                ;       SEPI CONTROL I/O
   76	                                ;
   77	  0012                          UDATA   EQU     12H
   78	  0011                          USTAT   EQU     11H
   79	  0011                          MMODE   EQU     11H
   80	  0010                          UMODE   EQU     10H
   81	  0013                          URES    EQU     13H
   82	  0002                          ALLINT  EQU     02H
   83	                                
   84	  0000'                                 ASEG
   85	                                        IF      SP1
   86	                                ;
   87	                                ;       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   88	                                ;       RESTARTS & CP/M ENTRY
   89	                                ;
   90	                                ;       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   91	                                
   92	                                        IF      CPM
   93	                                        ORG     100H
   94	                                        ENDIF
   95	                                        IF      NOT CPM
   96	                                        ORG     0       ; BEGIN MEMORY
   97	                                        ENDIF
   98	  0000    C3 04CF                       JMP     COLD    ; COLD START
   99	  0003    55                            DB      55H     ;INTEL IOBYT
  100	  0004    40                            DB      40H     ;V 4.0
  101	  0005    C3 003B                       JMP     CCPM
  102	  0008    C3 4000                       JMP     @R@
  103	                                ;
  104	  000B    3E 2D                 MINUS:  MVI     A,'-'
  105	  000D    C3 04B8                       JMP     COA
  106	  0010    C3 4003                       JMP     @R@+3
  107	                                ;
  108	  0013    3E 3D                 EQUAL:  MVI     A,'='
  109	  0015    C3 04B8                       JMP     COA
  110	  0018    C3 4006                       JMP     @R@+6
  111	                                ;
  112	  001B    3E 3F                 QUES:   MVI     A,'?'
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-2


  113	  001D    C3 04B8                       JMP     COA
  114	  0020    C3 4009                       JMP     @R@+9
  115	                                ;
  116	  0023    3A 40ED               IOCHK:  LDA     IOBYT
  117	  0026    C9                            RET
  118	  0027    50                            DB      'P'
  119	  0028    C3 400C                       JMP     @R@+12
  120	                                ;
  121	  002B    79                    IOSET:  MOV     A,C
  122	  002C    32 40ED                       STA     IOBYT
  123	  002F    C9                            RET
  124	  0030    C3 400F                       JMP     @R@+15
  125	                                ;
  126	  0033    2A 40A5               SPCL:   LHLD    CADR
  127	  0036    7E                            MOV     A,M
  128	  0037    C9                            RET             ; FOR PEDIT
  129	  0038    C3 4012                       JMP     @R@+18
  130	                                ;
  131	  003B    79                    CCPM:   MOV     A,C     ;CONTINUE ENTRY TO CPM
  132	  003C    4B                            MOV     C,E     ; INTEL
  133	  003D    D5                            PUSH    D       ;DE->HL
  134	  003E    21 0046                       LXI     H,TCPM
  135	  0041    06 0B                         MVI     B,11    ; MAX CPM ENTRY
  136	  0043    C3 0554                       JMP     INJM@
  137	                                ;-------------------------------
  138	  0046    04CF 005E             TCPM:   DW      COLD,CI
  139	  004A    05E4 02E9                     DW      CO,RI
  140	  004E    02F5 0301                     DW      PO,LO
  141	  0052    028B 0023                     DW      CICO,IOCHK
  142	  0056    002B 0162                     DW      IOSET,ERROR
  143	  005A    0162 01C6                     DW      ERROR,CSTS
  144	                                
  145	  005E    E5                    CI:     PUSH    H
  146	  005F    21 00D3                       LXI     H,CITB
  147	  0062    C3 05E8                       JMP     IOCOM-3
  148	                                ;
  149	                                
  150	  0065    41 51 31              TABCOD: DB      'AQ1'
  151	  0068    1B 0D                         DB      1BH,0DH         ; ESC, CR
  152	  006A    50 30                         DB      'P0'
  153	                                
  154	  006C    5A 53 57 32                   DB      'ZSW2 LO9'
  155	  0070    20 4C 4F 39           
  156	                                
  157	  0074    58 44 45 33                   DB      'XDE3MKI8'
  158	  0078    4D 4B 49 38           
  159	                                
  160	  007C    43 46 52 34                   DB      'CFR4NJU7'
  161	  0080    4E 4A 55 37           
  162	                                
  163	  0084    56 47 54 35                   DB      'VGT5BHY6'
  164	  0088    42 48 59 36           
  165	                                
  166	                                ; POKRACOVANI TABULKY - SHIFT
  167	  008C    10 11                         DB      10H,11H         ; ^A ^Q
  168	  008E    21                            DB      '!'
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-3


  169	  008F    0A 0D                         DB      0AH,0DH
  170	  0091    7F                            DB      7FH
  171	  0092    29                            DB      ')'
  172	                                
  173	  0093    5A                            DB      'Z'
  174	  0094    13 17                         DB      13H,17H         ; ^S, ^W
  175	  0096    3F                            DB      '?'
  176	  0097    09                            DB      9               ; TABELATOR/SHIFT SPC
  177	  0098    3D 23 28                      DB      '=#('
  178	                                
  179	  009B    03                            DB      3               ; EXT/SHIFT X
  180	  009C    26 45 22 2E                   DB      '&E".*@>'
  181	  00A0    2A 40 3E              
  182	                                
  183	  00A3    5B 5C 25 24                   DB      '[\%$,-:<'
  184	  00A7    2C 2D 3A 3C           
  185	                                
  186	  00AB    5D 5F                         DB      ']_'
  187	  00AD    08                            DB      8               ; BACKSPACE
  188	  00AE    5E                            DB      '^'
  189	  00AF    3B 2B 2F                      DB      ';+/'
  190	  00B2    27                            DB      27H             ; ' UVOZOVKA
  191	                                
  192	                                ; I/O DEVICE TABLE
  193	                                ;
  194	  00B3    43 03                 IOTAB:  DB      'C',03H ;CONSOLE (LOCAL, MASK)
  195	  00B5    54 43 42 31                   DB      'TCB1'  ;PHYSICAL
  196	  00B9    52 0C                         DB      'R',0CH ;READER
  197	  00BB    54 50 31 32                   DB      'TP12'
  198	  00BF    50 30                         DB      'P',30H ;PUNCHER
  199	  00C1    54 50 31 32                   DB      'TP12'
  200	  00C5    4C C0                         DB      'L',0C0H        ;LIST
  201	  00C7    54 43 4C 31                   DB      'TCL1'
  202	                                
  203	                                ;  ASSING TABLE FOR LOG. DEVICE
  204	                                ;
  205	  00CB    030D 06A4             COTB:   DW      COLO,CRT,LO,COLOC
  206	  00CF    0301 40CE             
  207	  00D3    0265 0265             CITB:   DW      KBR,KBR,RI,CILOC
  208	  00D7    02E9 40CB             
  209	  00DB    030D 05E4             LOTB:   DW      COLO,CO,LPR,LILOC
  210	  00DF    07B9 40DD             
  211	  00E3    0265 07E8             RITB:   DW      KBR,RDR,R1LOC,R2LOC
  212	  00E7    40D1 40D4             
  213	  00EB    05E4 07D3             POTB:   DW      CO,PUN,P1LOC,P2LOC
  214	  00EF    40D7 40DA             
  215	                                ;
  216	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  217	  00F3    0D 0A                 VERS:   DB      CR,LF
  218	  00F5    53 41 50 49                   DB      'SAPI-1 V4.0'
  219	  00F9    2D 31 20 56           
  220	  00FD    34 2E 30              
  221	  000D                          LVER    EQU     $-VERS  ; DELKA OHLASENI
  222	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  223	                                
  224	                                ;***************************************************
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-4


  225	                                        IF      CPM
  226	                                        ORG     MONIT+100H
  227	                                        ELSE
  228	                                        ORG     MONIT   ; *** ZACATEK MONITORU ***
  229	                                        ENDIF
  230	                                ;***************************************************
  231	                                
  232	                                ; TABLE OF EXTERNALLY REFERENCED  ROUTINES
  233	                                
  234	  0100    C3 04CF                       JMP     COLD    ; START MONITORU
  235	  0103    C3 005E                       JMP     CI      ; CONZOLE INPUT <A>
  236	  0106    C3 02E9                       JMP     RI      ; READER INPUT <A>, CY=1 ERROR
  237	  0109    C3 05E4                       JMP     CO      ; CONZOLE OUTPUT <C>
  238	  010C    C3 02F5                       JMP     PO      ; PUNCH OUTPUT <C>
  239	  010F    C3 0301                       JMP     LO      ; LIST OUTPUT <C>
  240	  0112    C3 01C6                       JMP     CSTS    ; CONZOLE INPUT STATUS
  241	  0115    C3 0023                       JMP     IOCHK   ; I/O BYTE CHEK <A>
  242	  0118    C3 002B                       JMP     IOSET   ; I/O BYTE SET <C>
  243	  011B    C3 065F                       JMP     MEMCK   ; SIZE MEMORY CHECK
  244	  011E    C3 0604                       JMP     IODEF   ; DEFINE USER I/O ENTRY POINTS
  245	  0121    C3 0033                       JMP     SPCL    ; I/O CONTROL SPECIAL
  246	  0124    C3 05DD                       JMP     CRLF    ; NOVY RADEK
  247	  0127    C3 05B1                       JMP     EXPR    ; SKLADANI ADRES (N=POCET <C>, SP)
  248	  012A    C3 0162                       JMP     ERROR   ; HLASENI CHYBY
  249	  012D    C3 0667                       JMP     ASHEX   ; PREVOD ASCII->HEX,CHYBA-CARRY
  250	  0130    C3 0646                       JMP     DADR    ; ZOBRAZENI ADRESY <HL>
  251	  0133    C3 0651                       JMP     DBYT    ; ZOBRAZENI ZNAKU <A> NA 'CO'
  252	  0136    C3 0624                       JMP     HILO    ; HL+1,SROVNANI S DE,(HL=0)
  253	  0139    C3 0526                       JMP     NEXT    ; PREDANI MONITORU
  254	  013C    C3 0697                       JMP     SPACE   ; MEZERA NA 'CO'
  255	  013F    C3 067B                       JMP     CINCR   ; ECHO+ANALIZA
  256	  0142    C3 068A                       JMP     TEXT    ; VYPIS TEXTU <HL=ADRESA>,<D=DELKA>
  257	  0145    C3 0547                       JMP     XY      ; PROVEDENI POVELU DLE <A>
  258	  0148    C3 05A6                       JMP     HXASC   ; PREVOD HEX->ASCII DO <A>,<C>
  259	  014B    C3 04BF                       JMP     EXFLG   ; EXTERNAL CONTROL FLAGS
  260	                                ;
  261	                                ;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  262	                                ;  ASSIGN I/O DEVICE MODUL
  263	                                ;
  264	  014E    CD 0678               ASIGN:  CALL    CIMIN   ;NAME
  265	                                ; <A>..NAME (EXTERN CALLS)
  266	  0151    21 00B3                       LXI     H,IOTAB ;TABLE
  267	  0154    0E 04                         MVI     C,4     ;COUNTER
  268	  0156    11 0006                       LXI     D,6     ;OFFSET
  269	  0159    BE                    ASS0:   CMP     M       ;IS IT?
  270	  015A    CA 016B                       JZ      ASS1    ;+
  271	  015D    19                            DAD     D       ;ADR
  272	  015E    0D                            DCR     C       ;ALL ?
  273	  015F    C2 0159                       JNZ     ASS0    ;-
  274	                                ;
  275	                                ; ERROR MESSAGE
  276	                                ;
  277	  0162    CD 001B               ERROR:  CALL    QUES
  278	  0165    CD 0218                       CALL    BEEP
  279	  0168    C3 051E                       JMP     INIC    ;START
  280	                                ;
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-5


  281	  016B    CD 0013               ASS1:   CALL    EQUAL
  282	  016E    CD 04B5                       CALL    ECHO    ;PHIS.D
  283	  0171    23                            INX     H
  284	  0172    46                            MOV     B,M     ;MASK
  285	  0173    0E 00                         MVI     C,0     ;IOBYT
  286	  0175    23                    ASS2:   INX     H
  287	  0176    BE                            CMP     M       ;IS IT?
  288	  0177    CA 0186                       JZ      ASS3    ;+
  289	  017A    F5                            PUSH    PSW
  290	  017B    3E 55                         MVI     A,55H   ;OFFSET
  291	  017D    81                            ADD     C
  292	  017E    4F                            MOV     C,A
  293	  017F    DA 0162                       JC      ERROR   ;NO #
  294	  0182    F1                            POP     PSW
  295	  0183    C3 0175                       JMP     ASS2    ;NEXT
  296	  0186    79                    ASS3:   MOV     A,C     ;COMPUTE IOBYT
  297	  0187    A0                            ANA     B       ;MASK
  298	  0188    4F                            MOV     C,A     ;SAVE
  299	  0189    78                            MOV     A,B
  300	  018A    2F                            CMA             ;NEG
  301	  018B    21 40ED               IONEW:  LXI     H,IOBYT
  302	  018E    A6                            ANA     M
  303	  018F    B1                            ORA     C
  304	  0190    77                            MOV     M,A
  305	  0191    C9                            RET
  306	                                ;
  307	                                ; QUERY DEVICE
  308	                                ;
  309	  0192    21 00B3               QUERY:  LXI     H,IOTAB ;TABLE
  310	  0195    3A 40ED                       LDA     IOBYT   ; READ
  311	  0198    47                            MOV     B,A     ;SAVE
  312	  0199    CD 019C                       CALL    $+3
  313	  019C    CD 019F                       CALL    $+3     ;DO IT
  314	                                ; DISPLAY ASSIGN I/O
  315	  019F    CD 0697                       CALL    SPACE
  316	  01A2    7E                            MOV     A,M     ; READ LOGICAL NAME
  317	  01A3    CD 04B8                       CALL    COA
  318	  01A6    CD 0013                       CALL    EQUAL
  319	  01A9    E5                            PUSH    H       ;SAVE ADR
  320	  01AA    23                            INX     H
  321	  01AB    23                            INX     H       ;ADR
  322	  01AC    78                            MOV     A,B
  323	  01AD    E6 03                         ANI     3
  324	  01AF    5F                            MOV     E,A
  325	  01B0    16 00                         MVI     D,0
  326	  01B2    19                            DAD     D       ;PHYSICAL DEVICE ADR
  327	  01B3    7E                            MOV     A,M
  328	  01B4    CD 04B8                       CALL    COA
  329	  01B7    78                            MOV     A,B
  330	  01B8    0F                            RRC
  331	  01B9    0F                            RRC             ;ROTATE IOBYT
  332	  01BA    47                            MOV     B,A
  333	  01BB    E1                            POP     H
  334	  01BC    1E 06                         MVI     E,6     ;OFFSET
  335	  01BE    19                            DAD     D
  336	  01BF    C9                            RET             ;HL=NEXT ADR
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-6


  337	                                ;
  338	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%
  339	                                ; I/O DEVICE CONTROL
  340	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%
  341	                                
  342	  01C0    B7                    CSTS1:  ORA     A
  343	  01C1    FA 40E0                       JM      CSLOC   ;USER CSTS
  344	  01C4    AF                            XRA     A
  345	  01C5    C9                            RET             ;BATCH-NOT READY
  346	                                ;
  347	  01C6    3A 40ED               CSTS:   LDA     IOBYT
  348	  01C9    1F                            RAR
  349	  01CA    1F                            RAR
  350	  01CB    DA 01C0                       JC      CSTS1
  351	                                        IF      NOT CPM
  352	                                
  353	  01CE    E5                    KBRST:  PUSH    H       ; KEYBOARD STATUS
  354	  01CF    D5                            PUSH    D
  355	  01D0    C5                            PUSH    B
  356	  01D1    26 24                         MVI     H,24H   ; PORT0
  357	                                ;                        #VERS."F"#
  358	  01D3    36 10                         MVI     M,10H   ;#BEZ SLOUPCE SHIFT
  359	  01D5    7E                            MOV     A,M     ;#
  360	  01D6    3C                            INR     A       ;#0FFH+1=CO
  361	  01D7    C2 01E0                       JNZ     KBRS1   ;#
  362	  01DA    36 0F                         MVI     M,0FH   ;#JEN SLOUPEC SHIFT
  363	  01DC    37                            STC             ;#
  364	  01DD    7E                            MOV     A,M     ;#
  365	  01DE    1F                            RAR             ;#SHIFT NETESTUJE
  366	  01DF    3C                            INR     A       ;#
  367	  01E0    21 40A8               KBRS1:  LXI     H,FLAG
  368	  01E3    CA 01F8                       JZ      SET80   ; POVOL
  369	  01E6    7E                            MOV     A,M     ; CSTS POVOLENO?
  370	  01E7    3C                            INR     A       ; FF+1=00..ZAKAZ
  371	  01E8    CA 01FB                       JZ      CSTS0
  372	  01EB    CD 0233                       CALL    KEYIN   ; ZACHOVA 'HL'
  373	  01EE    FA 01F8                       JM      SET80   ; POVOL
  374	  01F1    77                            MOV     M,A     ; USCHOVA LIN. KODU
  375	  01F2    3E FF                         MVI     A,0FFH
  376	  01F4    B7                            ORA     A       ; TRUE, NOT ZERO
  377	  01F5    C3 01FB                       JMP     CSTS0
  378	                                
  379	  01F8    36 80                 SET80:  MVI     M,80H   ; POVOL CSYS
  380	  01FA    AF                            XRA     A       ; SET ZERO
  381	  01FB    C1                    CSTS0:  POP     B
  382	  01FC    D1                            POP     D
  383	  01FD    E1                            POP     H
  384	  01FE    C9                            RET
  385	                                ;
  386	                                        ELSE
  387	                                        PUSH    B
  388	                                        PUSH    D
  389	                                        PUSH    H
  390	                                        MVI     C,6
  391	                                        MVI     E,0FFH
  392	                                        CALL    5
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-7


  393	                                        CPI     CTRLW
  394	                                        CZ      RESTA   ; BREAK
  395	                                        ORA     A
  396	                                        POP     H
  397	                                        POP     D
  398	                                        POP     B
  399	                                        RET
  400	                                ;
  401	                                        ENDIF
  402	                                
  403	  01FF    3A 40A4               DTTO?:  LDA     LASTC
  404	  0202    B9                            CMP     C
  405	  0203    C2 02B6                       JNZ     LONG
  406	  0206    2A 40A9                       LHLD    LIMIT
  407	  0209    2B                            DCX     H
  408	  020A    22 40A9                       SHLD    LIMIT
  409	  020D    7C                            MOV     A,H
  410	  020E    B5                            ORA     L
  411	  020F    C2 02A4                       JNZ     CI1
  412	  0212    21 0064                       LXI     H,100   ; 100 MS
  413	  0215    C3 02B9                       JMP     LSET
  414	                                
  415	  0218    C5                    BEEP:   PUSH    B
  416	  0219    0E 28                         MVI     C,40
  417	  021B    CD 0224                       CALL    CLICK
  418	  021E    0D                            DCR     C
  419	  021F    C2 021B                       JNZ     $-4
  420	  0222    C1                            POP     B
  421	  0223    C9                            RET
  422	                                
  423	  0224    26 24                 CLICK:  MVI     H,24H   ; PORT0
  424	  0226    36 5F                         MVI     M,5FH   ; REPRO ON
  425	  0228    05                    CLCK1:  DCR     B
  426	  0229    C2 0228                       JNZ     CLCK1
  427	  022C    36 1F                         MVI     M,1FH   ; REPRO OFF
  428	  022E    05                    CLCK2:  DCR     B
  429	  022F    C2 022E                       JNZ     CLCK2
  430	  0232    C9                            RET
  431	                                
  432	                                
  433	                                ; PROHLEDAVANI KLAVESNICE ANK-1
  434	                                ;===============================
  435	                                ; KONSTANTNI DOBA PROHLEDAVANI 0.816 MS/488NS.
  436	                                ; PLATNA POSLEDNI NALEZENA KLAVESA.
  437	                                ; B...CITAC DO 8, C... LINEARNI KOD
  438	                                ; D...SHIFT FLAG, SOUCASNE MASKA LED.
  439	                                ; E...CITAC LINEARNIHO KODU KLAVES:
  440	                                ;     A-Q-1-LF-CR-P-0 Z-S-W-SP-L-O-9..
  441	                                ; H...UKAZATEL NA PORT0 JPR-1
  442	                                ; L...VYBER MATICE VODOROVNE
  443	                                
  444	                                ; PO PROVEDENI KOD V 'A', 'C' REGISTRU.
  445	                                ; PRIZNAK 'SHIFT' V 'D' REGISTRU.
  446	                                ; FLAG 'SIGN' SIGNALIZUJE STISKNUTI-
  447	                                ;  PLUS...ANO, MINUS...NE
  448	                                
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-8


  449	  0233    E5                    KEYIN:  PUSH    H       ; V2.2  20.1.85
  450	  0234    11 1FFF                       LXI     D,1FFFH ; MASKA&CITAC
  451	  0237    0E 00                         MVI     C,0
  452	  0239    26 24                         MVI     H,24H   ; PORT0
  453	  023B    3E EF                         MVI     A,11101111B
  454	  023D    6F                    NXLIN:  MOV     L,A
  455	  023E    A2                            ANA     D
  456	  023F    77                            MOV     M,A
  457	  0240    06 08                         MVI     B,8     ; CITAC BITU
  458	  0242    7E                            MOV     A,M
  459	  0243    0F                    KEY:    RRC
  460	  0244    1C                            INR     E       ; NACTI KOD
  461	  0245    DA 024E                       JC      NXKEY   ; SKOC, KDYZ NIC
  462	  0248    4B                            MOV     C,E     ; KOD KLAVESY
  463	  0249    C2 024E                       JNZ     NXKEY   ; SHIFT ?
  464	  024C    16 3F                         MVI     D,3FH   ; ANO NASTAV MASKU
  465	  024E    05                    NXKEY:  DCR     B
  466	  024F    C2 0243                       JNZ     KEY
  467	  0252    7D                            MOV     A,L
  468	  0253    0F                            RRC
  469	  0254    DA 023D                       JC      NXLIN
  470	  0257    0D                            DCR     C       ; NASTAV 'SIGN'
  471	  0258    E1                            POP     H
  472	  0259    F8                            RM              ; STISKNUTA?
  473	  025A    7A                            MOV     A,D     ; SHIFT?
  474	  025B    E6 20                         ANI     20H
  475	  025D    79                            MOV     A,C
  476	  025E    C8                            RZ              ; NE,NAVRAT
  477	  025F    83                            ADD     E       ; ANO, +39
  478	  0260    4F                            MOV     C,A
  479	  0261    C9                            RET
  480	                                
  481	                                        ENDIF
  482	                                ;
  483	                                ;
  484	                                ;
  485	  0262    CD 0313                       CALL    RESTA   ;^W
  486	  0265    CD 0294               KBR:    CALL    KBRD
  487	  0268    FE 17                         CPI     CTRLW
  488	  026A    CA 0262                       JZ      KBR-3   ; SIMUL. INTERRUPT
  489	  026D    FE 11                         CPI     CTRLQ
  490	  026F    C0                            RNZ
  491	                                
  492	  0270    C5                            PUSH    B       ;WINDOW
  493	  0271    D5                            PUSH    D
  494	  0272    E5                            PUSH    H
  495	  0273    06 00                         MVI     B,0
  496	  0275    CD 07A0                       CALL    UCMD    ;CLEAR
  497	  0278    CD 0294                       CALL    KBRD    ;NUMBER OF RESEVED LINES
  498	  027B    E6 0F                         ANI     0FH     ;MAX 15
  499	  027D    32 40EA                       STA     RESL
  500	  0280    06 80                         MVI     B,80H   ;SET NEW LINE
  501	  0282    CD 07A0                       CALL    UCMD
  502	  0285    E1                            POP     H
  503	  0286    D1                            POP     D
  504	  0287    C1                            POP     B
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-9


  505	  0288    C3 0265                       JMP     KBR     ;NEW CHAR.
  506	                                ;
  507	  028B    79                    CICO:   MOV     A,C     ; DIRECT CRT/KBRD
  508	  028C    3C                            INR     A
  509	  028D    C2 06A4                       JNZ     CRT     ; ONLY OUTPUT
  510	  0290    CD 01CE                       CALL    KBRST
  511	  0293    C8                            RZ
  512	                                
  513	  0294    C5                    KBRD:   PUSH    B       ;DIRCT  KEYBOARD
  514	  0295    D5                            PUSH    D
  515	  0296    E5                            PUSH    H
  516	                                ;
  517	                                        IF      CPM
  518	                                KBR1    MVI     E,0FFH
  519	                                        MVI     C,6
  520	                                        CALL    5
  521	                                        ANI     7FH
  522	                                        JNZ     KBR1    ;WAIT
  523	                                        ELSE
  524	                                ;
  525	                                ; AUTOREPEAT+KEYIN+CSTS+CLICK V2.6
  526	                                
  527	  0297    3A 40A8                       LDA     FLAG    ; STATUS CSTS
  528	  029A    B7                            ORA     A
  529	  029B    FA 02A4                       JM      CI1     ; BIT7..STANDARD CI
  530	  029E    4F                            MOV     C,A
  531	  029F    06 00                         MVI     B,0     ; LIN. KOD V 'BC'
  532	  02A1    C3 02C8                       JMP     SETLST  ; SET LAST CODE
  533	                                
  534	  02A4    CD 0233               CI1:    CALL    KEYIN
  535	  02A7    F2 01FF                       JP      DTTO?
  536	  02AA    2E 14                 PRESS:  MVI     L,20
  537	  02AC    CD 0233               WAIT0:  CALL    KEYIN
  538	  02AF    F2 02AA                       JP      PRESS
  539	  02B2    2D                            DCR     L
  540	  02B3    C2 02AC                       JNZ     WAIT0
  541	  02B6    21 03E8               LONG:   LXI     H,1000  ; 1 SEKUNDA
  542	  02B9    22 40A9               LSET:   SHLD    LIMIT
  543	  02BC    2E 0A                 FREE:   MVI     L,10    ; 10 MS
  544	  02BE    CD 0233               WAIT1:  CALL    KEYIN
  545	  02C1    FA 02BC                       JM      FREE
  546	  02C4    2D                            DCR     L
  547	  02C5    C2 02BE                       JNZ     WAIT1
  548	  02C8    32 40A4               SETLST: STA     LASTC
  549	  02CB    21 0065                       LXI     H,TABCOD
  550	  02CE    09                            DAD     B
  551	  02CF    3E FF                         MVI     A,0FFH
  552	  02D1    32 40A8                       STA     FLAG    ; ZAKAZ CSTS
  553	  02D4    7E                            MOV     A,M
  554	  02D5    CD 0224                       CALL    CLICK
  555	                                
  556	                                        ENDIF
  557	                                ;
  558	  02D8    E1                            POP     H
  559	  02D9    D1                            POP     D
  560	  02DA    C1                            POP     B
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-10


  561	  02DB    FE 10                         CPI     CTRLP   ;^P
  562	  02DD    C0                            RNZ
  563	  02DE    3A 40E3                       LDA     MODE
  564	  02E1    EE 01                         XRI     1
  565	  02E3    32 40E3                       STA     MODE    ; LPR ON/OFF
  566	  02E6    C3 0294                       JMP     KBRD
  567	                                ;
  568	                                ;
  569	  02E9    E5                    RI:     PUSH    H
  570	  02EA    21 00E3                       LXI     H,RITB
  571	  02ED    3A 40ED                       LDA     IOBYT
  572	  02F0    0F                    RICOM:  RRC
  573	  02F1    0F                            RRC
  574	  02F2    C3 05EB                       JMP     IOCOM
  575	                                ;
  576	  02F5    E5                    PO:     PUSH    H
  577	  02F6    21 00EB                       LXI     H,POTB
  578	  02F9    3A 40ED                       LDA     IOBYT
  579	  02FC    0F                            RRC
  580	  02FD    0F                            RRC
  581	  02FE    C3 02F0                       JMP     RICOM
  582	                                ;
  583	  0301    E5                    LO:     PUSH    H
  584	  0302    21 00DB                       LXI     H,LOTB
  585	  0305    3A 40ED                       LDA     IOBYT
  586	  0308    07                            RLC
  587	  0309    07                            RLC
  588	  030A    C3 05EB                       JMP     IOCOM
  589	                                ;----------------------------
  590	                                ;
  591	  030D    CD 07B9               COLO:   CALL    LPR
  592	  0310    C3 06A4                       JMP     CRT
  593	                                ;----------------------------
  594	                                ;
  595	                                ;
  596	                                ; RUN AND BREAK MODUL:
  597	                                ;
  598	  0313    F3                    RESTA:  DI              ;SAVE ALL
  599	  0314    22 4098                       SHLD    HLSAV
  600	  0317    F5                            PUSH    PSW
  601	  0318    21 0002                       LXI     H,2     ;OFSSET
  602	  031B    39                            DAD     SP
  603	  031C    22 409C                       SHLD    SPSAV
  604	  031F    F1                            POP     PSW
  605	  0320    E1                            POP     H       ;PC
  606	  0321    31 4098                       LXI     SP,HLSAV
  607	  0324    D5                            PUSH    D
  608	  0325    C5                            PUSH    B
  609	  0326    F5                            PUSH    PSW
  610	  0327    EB                            XCHG
  611	  0328    1B                            DCX     D       ; PC-1
  612	  0329    21 409E                       LXI     H,BRAD  ;BREAK ?
  613	  032C    0E 02                         MVI     C,2     ; TWO BREAKS
  614	  032E    C5                    RST10:  PUSH    B       ;COUNTER
  615	  032F    4E                            MOV     C,M
  616	  0330    36 00                         MVI     M,0
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-11


  617	  0332    23                            INX     H
  618	  0333    46                            MOV     B,M
  619	  0334    36 00                         MVI     M,0
  620	  0336    23                            INX     H
  621	  0337    79                            MOV     A,C
  622	  0338    B0                            ORA     B       ;0 ?
  623	  0339    CA 034A                       JZ      RST20   ;NO BREAK
  624	  033C    7E                            MOV     A,M     ;RESTORE INSTR
  625	  033D    02                            STAX    B
  626	  033E    23                            INX     H
  627	  033F    E5                            PUSH    H
  628	  0340    60                            MOV     H,B
  629	  0341    69                            MOV     L,C     ;BREAK/INTR ?
  630	  0342    CD 0629                       CALL    COMPR
  631	  0345    E1                            POP     H
  632	  0346    C2 034A                       JNZ     RST20
  633	  0349    1B                            DCX     D       ;PC-1
  634	  034A    C1                    RST20:  POP     B
  635	  034B    0D                            DCR     C
  636	  034C    C2 032E                       JNZ     RST10
  637	  034F    EB                            XCHG
  638	  0350    23                            INX     H       ;RESTORE PC
  639	  0351    22 409A                       SHLD    PCSAV
  640	  0354    37                            STC
  641	  0355    CD 03AB                       CALL    X+3     ;DISPLAY ALL REGISTERS
  642	  0358    C3 0526                       JMP     NEXT    ;WAIT FOR COMMAND
  643	                                ;
  644	                                ; GO TO COMMAND
  645	                                ;
  646	  035B    CD 0013               GOTO:   CALL    EQUAL
  647	  035E    CD 067B                       CALL    CINCR   ;COMMAND
  648	  0361    DA 0392                       JC      GO@     ;IF CR THEN GOTO FROM OLD PC
  649	  0364    CA 0374                       JZ      GO@BR   ; OLD PC AND BREAK
  650	  0367    CD 05F0                       CALL    EXPRM   ;START ADR
  651	  036A    E1                            POP     H
  652	  036B    22 409A                       SHLD    PCSAV   ;SET NEW
  653	  036E    78                            MOV     A,B     ;ONLY START ADR ?
  654	  036F    FE 0D                         CPI     CR
  655	  0371    CA 0392                       JZ      GO@
  656	  0374    CD 062F               GO@BR:  CALL    RADR    ;READ BREAK ADR
  657	  0377    22 409E                       SHLD    BRAD
  658	  037A    7E                            MOV     A,M     ;SAVE INSTR. CODE
  659	  037B    32 40A0                       STA     INSTR
  660	  037E    36 CF                         MVI     M,RSTN  ;SET RST
  661	  0380    3E 0D                         MVI     A,CR
  662	  0382    B8                            CMP     B       ;ONLY 1-BREAK ?
  663	  0383    CA 0392                       JZ      GO@
  664	                                ; SECOND BREAK
  665	  0386    CD 062F                       CALL    RADR
  666	  0389    22 40A1                       SHLD    BRAD2
  667	  038C    7E                            MOV     A,M
  668	  038D    32 40A3                       STA     INST2
  669	  0390    36 CF                         MVI     M,RSTN
  670	                                ; START PROGRAM
  671	  0392    CD 05DD               GO@:    CALL    CRLF
  672	  0395    F3                            DI
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-12


  673	  0396    31 4092                       LXI     SP,ACSAV        ;REASTORE REGISTERS
  674	  0399    F1                            POP     PSW
  675	  039A    C1                            POP     B
  676	  039B    D1                            POP     D
  677	  039C    2A 409C                       LHLD    SPSAV   ;STACK
  678	  039F    F9                            SPHL
  679	  03A0    2A 409A                       LHLD    PCSAV   ; PC
  680	  03A3    E3                            XTHL
  681	  03A4    2A 4098                       LHLD    HLSAV
  682	  03A7    C9                            RET             ;CONTINUE...
  683	                                ;
  684	                                ; EXAMINE REGISTRS
  685	                                ;
  686	  03A8    CD 067B               X:      CALL    CINCR   ;COMMAND
  687	  03AB    21 0419                       LXI     H,RGNAM ;NAME TABLE
  688	  03AE    16 40                         MVI     D,HIGH ACSAV    ;DATA
  689	  03B0    D2 03BE                       JNC     X1      ;CHANGE
  690	  03B3    CD 05DD                       CALL    CRLF
  691	  03B6    CD 03F6               X0:     CALL    XDISP
  692	  03B9    C8                            RZ              ;END
  693	  03BA    23                            INX     H
  694	  03BB    C3 03B6                       JMP     X0
  695	  03BE    CA 03D5               X1:     JZ      X2      ;NO CHANGE
  696	  03C1    5F                            MOV     E,A     ;SAVE NAME
  697	  03C2    01                            DB      1       ; LXI B,##
  698	  03C3    23                    X10:    INX     H
  699	  03C4    23                            INX     H
  700	  03C5    7E                            MOV     A,M     ; READ NAME REG.
  701	  03C6    E6 7F                         ANI     7FH
  702	  03C8    CA 0162                       JZ      ERROR   ; NO FIND
  703	  03CB    BB                            CMP     E
  704	  03CC    C2 03C3                       JNZ     X10     ; NEXT
  705	  03CF    CD 0400                       CALL    XDIS1   ; DISPLAY IT
  706	  03D2    C3 03D8                       JMP     X2+3
  707	                                ;
  708	  03D5    CD 03F9               X2:     CALL    XDISP+3
  709	  03D8    C8                            RZ
  710	  03D9    CD 0678                       CALL    CIMIN   ;- COMMAND
  711	  03DC    D8                            RC              ;CR - END
  712	  03DD    5E                            MOV     E,M     ;LOW ADR
  713	  03DE    23                            INX     H
  714	  03DF    CA 03D5                       JZ      X2      ;SP - NEXT
  715	  03E2    EB                            XCHG
  716	  03E3    D5                            PUSH    D
  717	  03E4    CD 0636                       CALL    RBYT    ; READ NEW BYTE AND CHANGE
  718	  03E7    05                            DCR     B
  719	  03E8    CA 03EE                       JZ      $+6
  720	  03EB    72                            MOV     M,D     ; HIGH BYTE
  721	                                
  722	  03EC    2B                            DCX     H
  723	  03ED    73                            MOV     M,E     ;LOW
  724	  03EE    D1                            POP     D
  725	  03EF    EB                            XCHG
  726	  03F0    FE 0D                         CPI     CR      ;LAST?
  727	  03F2    C8                            RZ              ;+
  728	  03F3    C3 03D5                       JMP     X2      ;NEXT
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-13


  729	                                ;
  730	  03F6    CD 0697               XDISP:  CALL    SPACE
  731	  03F9    7E                            MOV     A,M
  732	  03FA    E6 7F                         ANI     7FH
  733	  03FC    C8                            RZ
  734	  03FD    CD 04B8                       CALL    COA
  735	  0400    CD 0013               XDIS1:  CALL    EQUAL   ;NAME=
  736	  0403    7E                            MOV     A,M
  737	  0404    07                            RLC
  738	  0405    3E 01                         MVI     A,1
  739	  0407    CE 00                         ACI     0       ; COMPUTE LENGHT
  740	  0409    47                            MOV     B,A     ; SAVE
  741	  040A    23                            INX     H
  742	  040B    5E                            MOV     E,M     ; LOW ADR
  743	  040C    1A                            LDAX    D       ;HIG BYTE
  744	  040D    CD 0651                       CALL    DBYT
  745	  0410    78                            MOV     A,B     ;SINGLE REG. ?
  746	  0411    3D                            DCR     A
  747	  0412    1B                            DCX     D
  748	  0413    1A                            LDAX    D       ;READ SECOND BYTE
  749	  0414    C4 0651                       CNZ     DBYT    ;IF 2.BYTE REG. THEN DISP.
  750	  0417    B3                            ORA     E       ;NZY (IN PAGE)
  751	  0418    C9                            RET
  752	                                ;
  753	                                ; X: COMMAND TABLE
  754	  0419    41 93                 RGNAM:  DB      'A',LOW ACSAV+1
  755	  041B    46 92                         DB      'F',LOW ACSAV
  756	  041D    42 95                         DB      'B',LOW BCSAV+1
  757	  041F    43 94                         DB      'C',LOW BCSAV
  758	  0421    44 97                         DB      'D',LOW DESAV+1
  759	  0423    45 96                         DB      'E',LOW DESAV
  760	  0425    48 99                         DB      'H',LOW HLSAV+1
  761	  0427    4C 98                         DB      'L',LOW HLSAV
  762	  0429    D0 9B                         DB      'P' OR 80H,LOW PCSAV+1
  763	  042B    D3 9D                         DB      'S' OR 80H,LOW SPSAV+1
  764	  042D    00                            DB      0
  765	                                ;
  766	                                ; DISPLAY CONTENS OF MEMORY
  767	                                ;
  768	  042E    CD 05B1               DISP:   CALL    EXPR    ; FROM -TO
  769	  0431    D1                            POP     D
  770	  0432    E1                            POP     H
  771	  0433    E5                    DI0:    PUSH    H       ;FIRST ADR
  772	  0434    CD 0643                       CALL    DNADR   ;NEW ADR
  773	  0437    7E                    DI1:    MOV     A,M
  774	  0438    CD 0694                       CALL    DBYTE
  775	  043B    CD 0624                       CALL    HILO
  776	  043E    DA 0447                       JC      DIA     ;DISPLAY  ASCII
  777	  0441    7D                            MOV     A,L
  778	  0442    E6 07                         ANI     7
  779	  0444    C2 0437                       JNZ     DI1     ;NEXT BYTE
  780	  0447    E1                    DIA:    POP     H
  781	  0448    CD 0697                       CALL    SPACE
  782	  044B    7E                    DI2:    MOV     A,M
  783	  044C    0E 2E                         MVI     C,'.'   ;NO ASCII
  784	  044E    FE 20                         CPI     ' '
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-14


  785	  0450    D2 0454                       JNC     $+4
  786	  0453    79                            MOV     A,C
  787	  0454    FE 60                         CPI     60H
  788	  0456    DA 045B                       JC      $+5
  789	  0459    D6 20                         SUI     ' '
  790	  045B    CD 04B8                       CALL    COA
  791	  045E    CD 0624                       CALL    HILO
  792	  0461    D8                            RC
  793	  0462    7D                            MOV     A,L
  794	  0463    E6 07                         ANI     7
  795	  0465    C2 044B                       JNZ     DI2     ;NEXT ASCII
  796	  0468    CD 01C6                       CALL    CSTS
  797	  046B    CA 0433                       JZ      DI0     ;NEXT LINE
  798	  046E    CD 0678                       CALL    CIMIN   ;#VERS."F" -
  799	  0471    D8                            RC              ;#IF SPC WAIT
  800	  0472    C0                            RNZ             ;#ELSE BREAK.
  801	  0473    CD 067B                       CALL    CINCR   ;#CR?
  802	  0476    D2 0433                       JNC     DI0     ;#BREAK,IF CR
  803	  0479    C9                            RET
  804	                                ;
  805	                                ; FILL MEMORY BLOCK WITH BYTE
  806	                                ;
  807	  047A    0C                    FILL:   INR     C
  808	  047B    CD 05B1                       CALL    EXPR    ;FROM-TO-WITH
  809	  047E    C1                            POP     B
  810	  047F    D1                            POP     D
  811	  0480    E1                            POP     H
  812	  0481    71                    FI1:    MOV     M,C
  813	  0482    CD 0624                       CALL    HILO
  814	  0485    D2 0481                       JNC     FI1
  815	  0488    C9                            RET
  816	                                ;
  817	                                ; MOVE BLOCK MEMORY
  818	                                ;
  819	  0489    0C                    MOVE:   INR     C
  820	  048A    CD 05B1                       CALL    EXPR
  821	  048D    C1                            POP     B
  822	  048E    D1                            POP     D
  823	  048F    E1                            POP     H
  824	  0490    7E                    MO1:    MOV     A,M
  825	  0491    02                            STAX    B
  826	  0492    03                            INX     B
  827	  0493    CD 0624                       CALL    HILO
  828	  0496    D2 0490                       JNC     MO1
  829	  0499    C9                            RET
  830	                                ;
  831	                                ; SUBSTITUTE MEMORY
  832	                                ;
  833	  049A    CD 062F               SUBS:   CALL    RADR    ;ADR
  834	  049D    7E                    SU1:    MOV     A,M
  835	  049E    CD 0651                       CALL    DBYT
  836	  04A1    CD 0678                       CALL    CIMIN   ;- & CINCR
  837	  04A4    D8                            RC              ;CR
  838	  04A5    CA 04AC                       JZ      SU2
  839	  04A8    CD 0636                       CALL    RBYT    ;CHANGE
  840	  04AB    C8                            RZ              ;END
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-15


  841	  04AC    23                    SU2:    INX     H       ;NEXT BYTE
  842	  04AD    FE 2C                         CPI     ','     ;IF , THEN DISPLAY ADR
  843	  04AF    CC 0643                       CZ      DNADR
  844	  04B2    C3 049D                       JMP     SU1
  845	                                ;
  846	                                ; CONSOLE MODUL
  847	                                ;
  848	                                ;
  849	  04B5    CD 005E               ECHO:   CALL    CI
  850	  04B8    C5                    COA:    PUSH    B
  851	  04B9    4F                            MOV     C,A
  852	  04BA    CD 05E4                       CALL    CO
  853	  04BD    C1                            POP     B
  854	  04BE    C9                            RET
  855	                                ;
  856	                                        IF      SP1A
  857	                                MINUS:  MVI     A,'-'
  858	                                        JMP     COA
  859	                                ;
  860	                                EQUAL:  MVI     A,'='
  861	                                        JMP     COA
  862	                                ;
  863	                                QUES:   MVI     A,'?'
  864	                                        JMP     COA
  865	                                ;
  866	                                        ENDIF
  867	                                ;
  868	                                ;SET MODE. I/O FLAGS
  869	                                ;
  870	  04BF    47                    EXFLG:  MOV     B,A
  871	  04C0    79                            MOV     A,C
  872	  04C1    FE 0A                         CPI     EXSER   ; OVERFLOW ?
  873	  04C3    78                            MOV     A,B
  874	  04C4    D0                            RNC
  875	  04C5    E5                            PUSH    H       ; <A> .. COMMAND
  876	                                                        ; <C> .. 0-N SLUZBA
  877	  04C6    06 00                         MVI     B,0     ; 0-MODE, 1-@IF1..4@OF2
  878	  04C8    21 40E3                       LXI     H,MODE  ; 0=0
  879	  04CB    09                            DAD     B       ; 5- RESERVE_LINE, 6-S@FLG
  880	  04CC    77                            MOV     M,A
  881	  04CD    E1                            POP     H
  882	  04CE    C9                            RET
  883	                                
  884	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  885	                                ; ****   S T A R T    M O N I T O R U   ****
  886	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  887	                                ;
  888	  04CF    D3 13                 COLD:   OUT     URES    ; RESET
  889	  04D1    AF                            XRA     A       ;MONITORU
  890	  04D2    D3 10                         OUT     UMODE
  891	  04D4    3E 0D                         MVI     A,0DH
  892	  04D6    D3 11                         OUT     MMODE
  893	  04D8    3E BC                         MVI     A,0BCH  ; A-IN,B-OUT,MOD1
  894	  04DA    D3 33                         OUT     CNTR1   ; DPP-1
  895	                                ;
  896	                                ;-------------------------------------
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-16


  897	  04DC    F3                    BEG:    DI              ; COMMAND "C"
  898	  04DD    21 4090                       LXI     H,MSTAK ; SET STACK POINTER
  899	  04E0    F9                            SPHL
  900	  04E1    11 40FF                       LXI     D,@R@+255
  901	  04E4    0E 00                         MVI     C,0
  902	  04E6    CD 0481                       CALL    FI1     ;CLEAR M-RAM
  903	  04E9    3E 55                         MVI     A,BEGIO ;SET IOBYTE
  904	  04EB    32 40ED                       STA     IOBYT
  905	  04EE    CD 069C                       CALL    COINIT  ;TV
  906	  04F1    CD 059A                       CALL    EP2?    ;M-PLUS ?
  907	  04F4    CC 0803                       CZ      EP2+3   ;INIT M-PLUS
  908	  04F7    21 4000                       LXI     H,RAM
  909	  04FA    24                    MEM1:   INR     H       ; NEXT PAGE
  910	  04FB    7C                            MOV     A,H
  911	                                        IF      HIGH ERAM NE 0FFH
  912	                                        CPI     HIGH ERAM+1
  913	                                        ELSE
  914	  04FC    FE 00                         CPI     0
  915	                                        ENDIF
  916	  04FE    CA 050A                       JZ      MEM2
  917	  0501    7E                            MOV     A,M
  918	  0502    2F                            CMA
  919	  0503    77                            MOV     M,A     ; WRITE COMPLEMENT
  920	  0504    BE                            CMP     M       ; WRITE O.K. ?
  921	  0505    2F                            CMA
  922	  0506    77                            MOV     M,A     ; RAM RESTORE
  923	  0507    CA 04FA                       JZ      MEM1
  924	  050A    2B                    MEM2:   DCX     H       ; LAST BYTE IN RAM
  925	  050B    22 40EE                       SHLD    MEMTOP  ; SAVE ADDRES
  926	  050E    3E 17                         MVI     A,17H   ; LIN. KOD 'C'
  927	  0510    32 40A4                       STA     LASTC   ; LAST CODE
  928	  0513    3E FF                         MVI     A,0FFH
  929	  0515    32 40A8                       STA     FLAG    ; ZAKAZ CSTS
  930	  0518    21 4070                       LXI     H,MSTAK-20H
  931	  051B    22 409C                       SHLD    SPSAV
  932	                                
  933	                                ; OHLASENI MONITORU
  934	                                
  935	  051E    21 00F3               INIC:   LXI     H,VERS  ; TEXT OHLASENI
  936	  0521    16 0D                         MVI     D,LVER ; DELKA TEXTU
  937	  0523    CD 068A                       CALL    TEXT    ; TEXT OHLASENI
  938	                                ;------------------------------------
  939	                                ;  *  VYHODNOCENI POVELU OPERATORA  *
  940	                                ;------------------------------------
  941	                                
  942	  0526    31 4090               NEXT:   LXI     SP,MSTAK        ; SET STACK FOR MONITOR
  943	  0529    21 0526                       LXI     H,NEXT
  944	  052C    E5                            PUSH    H       ;RET. ADR
  945	                                        IF      NOT CPM
  946	  052D    26 30                         MVI     H,30H   ;INTERRUPT ENABLE
  947	  052F    36 02                         MVI     M,2
  948	                                        ENDIF
  949	  0531    CD 05DD                       CALL    CRLF
  950	  0534    3E C3                         MVI     A,0C3H  ; JMP
  951	  0536    32 4000                       STA     @R@     ; SET INTERUPT ADR "08CH"
  952	  0539    21 0313                       LXI     H,RESTA
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-17


  953	  053C    22 4001                       SHLD    @R@+1
  954	  053F    0E 2E                         MVI     C,'.'
  955	  0541    CD 05E4                       CALL    CO
  956	  0544    CD 067B                       CALL    CINCR   ; POVEL
  957	  0547    6F                    XY:     MOV     L,A     ; L-COMMAND
  958	  0548    E5                            PUSH    H       ; SAVE
  959	  0549    D6 41                         SUI     'A'
  960	  054B    FA 0526                       JM      NEXT    ; ASCII < "A"
  961	  054E    21 0561                       LXI     H,CTBL  ; ZACATEK COMMAND TABLE
  962	  0551    01 1802                       LXI     B,(LCT SHL 8) OR 2
  963	  0554    B8                    INJM@:  CMP     B
  964	  0555    D2 0162                       JNC     ERROR   ;OVERFLOW
  965	  0558    87                    INJMP:  ADD     A       ;2*
  966	  0559    85                            ADD     L
  967	  055A    6F                            MOV     L,A
  968	  055B    7E                            MOV     A,M
  969	  055C    23                            INX     H
  970	  055D    66                            MOV     H,M
  971	  055E    6F                            MOV     L,A
  972	  055F    E3                            XTHL            ;SET HL
  973	  0560    C9                            RET             ;START
  974	                                
  975	                                ;----------------------------------
  976	                                ;   *  TABULKA POVELU MOVITORU  *
  977	                                ;----------------------------------
  978	                                
  979	                                ;
  980	  0561    014E                  CTBL:   DW      ASIGN   ; ASSING I/O RUTINE
  981	  0563    0591                          DW      EXROM   ;B
  982	  0565    04DC                          DW      BEG     ; CLEAR
  983	  0567    042E                          DW      DISP    ; DISPLAY MEMORY
  984	  0569    0591                          DW      EXROM   ; END OF FILE
  985	  056B    047A                          DW      FILL    ; FILL MEMORY
  986	  056D    035B                          DW      GOTO    ; GOTO WITH BREAK
  987	  056F    0591                          DW      EXROM
  988	  0571    0591                          DW      EXROM   ;I
  989	  0573    0591                          DW      EXROM   ;J
  990	  0575    0591                          DW      EXROM   ;K
  991	  0577    0591                          DW      EXROM   ;L
  992	  0579    0489                          DW      MOVE    ; MOVE MEM.
  993	  057B    0591                          DW      EXROM   ; N - BLANK
  994	  057D    0591                          DW      EXROM   ;O
  995	  057F    0591                          DW      EXROM   ;P
  996	  0581    0192                          DW      QUERY   ; Q - MEMTOP & IOBYTE
  997	  0583    0591                          DW      EXROM   ; READ TAPE
  998	  0585    049A                          DW      SUBS    ; SUBSTITUTE
  999	  0587    0591                          DW      EXROM
 1000	  0589    0591                          DW      EXROM   ;U
 1001	  058B    0591                          DW      EXROM
 1002	  058D    0591                          DW      EXROM   ;WRITE TO TAPE
 1003	  058F    03A8                          DW      X       ;X - EXAMINE
 1004	  0018                          LCT     EQU     ($-CTBL)/2
 1005	                                
 1006	                                
 1007	                                ;
 1008	                                ; EXTEND ROM WITH MONIT-PLUS ?
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-18


 1009	                                ;
 1010	  0591    CD 059A               EXROM:  CALL    EP2?
 1011	  0594    C2 0162                       JNZ     ERROR   ;NO, ERROR
 1012	  0597    C3 0806                       JMP     EP2 + 6 ;YES, EXECUTE COMMAND
 1013	                                ;
 1014	  059A    3A 0800               EP2?:   LDA     EP2
 1015	  059D    FE C3                         CPI     0C3H    ;JMP?
 1016	  059F    C9                            RET
 1017	                                ;
 1018	                                ;
 1019	                                
 1020	                                ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 1021	                                ;  *  EXTERNAL RUTINES FOR MONITOR  *
 1022	                                ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 1023	                                
 1024	                                
 1025	                                
 1026	                                ; HIGH NIBBLE
 1027	  05A0    0F                    HBYTE:  RRC
 1028	  05A1    0F                            RRC
 1029	  05A2    0F                            RRC
 1030	  05A3    0F                            RRC
 1031	  05A4    E6 0F                 LBYTE:  ANI     0FH
 1032	                                ; PREVOD HEXADECIMALNI CIFRY NA ASCII V "C" REG
 1033	                                
 1034	  05A6    C6 90                 HXASC:  ADI     90H
 1035	  05A8    27                            DAA
 1036	  05A9    CE 40                         ACI     40H
 1037	  05AB    27                            DAA
 1038	  05AC    4F                            MOV     C,A
 1039	  05AD    C9                            RET
 1040	                                
 1041	                                ; SKLADANI ADRES (VSTUP PARAMETRU) DO STACKU, POCET V C-REG
 1042	                                
 1043	  05AE    DA 0162               EXPRO:  JC      ERROR   ;# VERS."C" #
 1044	  05B1    CD 0013               EXPR:   CALL    EQUAL   ; TISK =
 1045	  05B4    21 0000                       LXI     H,0
 1046	  05B7    CD 04B5               EX0:    CALL    ECHO
 1047	  05BA    47                    EX1:    MOV     B,A
 1048	  05BB    FE 27                         CPI     27H     ;'
 1049	  05BD    CA 05F8                       JZ      EX4
 1050	  05C0    CD 0667                       CALL    ASHEX   ; HEX CIFRA ?
 1051	  05C3    DA 05CF                       JC      EX3     ; POSUV "HL" O 4 BITY VLEVO
 1052	  05C6    29                            DAD     H
 1053	  05C7    29                            DAD     H
 1054	  05C8    29                            DAD     H
 1055	  05C9    29                            DAD     H
 1056	  05CA    B5                            ORA     L
 1057	  05CB    6F                            MOV     L,A
 1058	  05CC    C3 05B7                       JMP     EX0     ; DALSI ZNAK
 1059	                                
 1060	  05CF    78                    EX3:    MOV     A,B
 1061	  05D0    CD 067E                       CALL    ANAL
 1062	  05D3    C2 0162                       JNZ     ERROR   ; NENI HEX CIFRA
 1063	  05D6    E3                            XTHL
 1064	  05D7    E5                            PUSH    H
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-19


 1065	  05D8    0D                            DCR     C       ; CARKA, MEZERA
 1066	  05D9    C2 05AE                       JNZ     EXPRO   ; DALSI ADRESY
 1067	  05DC    D0                            RNC             ;#VERS."F"#
 1068	                                ;
 1069	  05DD    0E 0D                 CRLF:   MVI     C,CR
 1070	  05DF    CD 05E4                       CALL    CO
 1071	  05E2    0E 0A                         MVI     C,LF    ; DO CR,LF
 1072	                                ;
 1073	  05E4    E5                    CO:     PUSH    H
 1074	  05E5    21 00CB                       LXI     H,COTB
 1075	  05E8    3A 40ED                       LDA     IOBYT
 1076	  05EB    E6 03                 IOCOM:  ANI     3
 1077	  05ED    C3 0558                       JMP     INJMP
 1078	                                
 1079	                                
 1080	  05F0    0E 01                 EXPRM:  MVI     C,1
 1081	  05F2    21 0000                       LXI     H,0
 1082	  05F5    C3 05BA                       JMP     EX1
 1083	                                ;
 1084	  05F8    CD 067B               EX4:    CALL    CINCR   ;COMMAND
 1085	  05FB    47                            MOV     B,A     ;SAVE
 1086	  05FC    CA 05CF                       JZ      EX3
 1087	  05FF    65                            MOV     H,L
 1088	  0600    6F                            MOV     L,A
 1089	  0601    C3 05F8                       JMP     EX4
 1090	                                
 1091	                                ;  IODEF:... DEFINE USER I/O RUTINE
 1092	                                
 1093	  0604    C5                    IODEF:  PUSH    B
 1094	  0605    E5                            PUSH    H
 1095	  0606    21 40EE                       LXI     H,MEMTOP        ;NEW FUNCTION
 1096	  0609    79                            MOV     A,C     ; NUMBER
 1097	  060A    FE 08                         CPI     8
 1098	  060C    CA 061E                       JZ      IODEF1
 1099	  060F    F2 0162                       JP      ERROR
 1100	  0612    81                            ADD     C
 1101	  0613    81                            ADD     C
 1102	  0614    4F                            MOV     C,A
 1103	  0615    06 00                         MVI     B,0     ; OFFSET
 1104	  0617    21 40CB                       LXI     H,CILOC ; COMPUTE ADR
 1105	  061A    09                            DAD     B
 1106	  061B    36 C3                         MVI     M,0C3H  ; JMP
 1107	  061D    23                            INX     H
 1108	  061E    73                    IODEF1: MOV     M,E
 1109	  061F    23                            INX     H
 1110	  0620    72                            MOV     M,D     ; ADR
 1111	  0621    E1                            POP     H       ; UNSAVE
 1112	  0622    C1                            POP     B
 1113	  0623    C9                            RET
 1114	                                
 1115	                                
 1116	                                ; INKREMENTRUJE "HL" ,KONTROLUJE "HL"=0 NEBO
 1117	                                ;   "HL">"DE"...CARRY=1
 1118	                                
 1119	  0624    23                    HILO:   INX     H
 1120	  0625    7C                            MOV     A,H
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-20


 1121	  0626    B5                            ORA     L
 1122	  0627    37                            STC
 1123	  0628    C8                            RZ              ; NAVRAT PO "HL"=0000
 1124	  0629    7A                    COMPR:  MOV     A,D
 1125	  062A    BC                            CMP     H
 1126	  062B    C0                            RNZ
 1127	  062C    7B                            MOV     A,E
 1128	  062D    BD                            CMP     L
 1129	  062E    C9                            RET
 1130	                                
 1131	                                ; READ ADR
 1132	                                
 1133	  062F    0E 01                 RADR:   MVI     C,1
 1134	  0631    CD 05B1                       CALL    EXPR
 1135	  0634    E1                            POP     H
 1136	  0635    C9                            RET
 1137	                                
 1138	                                
 1139	                                ; READ NEW BYTE
 1140	                                
 1141	  0636    C5                    RBYT:   PUSH    B
 1142	  0637    E5                            PUSH    H
 1143	  0638    CD 05F0                       CALL    EXPRM
 1144	  063B    D1                            POP     D
 1145	  063C    E1                            POP     H
 1146	  063D    73                            MOV     M,E
 1147	  063E    78                            MOV     A,B
 1148	  063F    FE 0D                         CPI     CR
 1149	  0641    C1                            POP     B
 1150	  0642    C9                            RET
 1151	                                
 1152	                                
 1153	                                ; DISPLAY NEW ADR
 1154	                                
 1155	  0643    CD 05DD               DNADR:  CALL    CRLF
 1156	  0646    CD 064C               DADR:   CALL    DADR0
 1157	  0649    C3 0697                       JMP     SPACE
 1158	                                
 1159	                                
 1160	                                        IF      SP1A
 1161	                                ; CHEK I/O STATUS BYTE
 1162	                                
 1163	                                IOCHK:  LDA     IOBYT
 1164	                                        RET
 1165	                                
 1166	                                
 1167	                                ; SET I/O STATUS BYTE
 1168	                                
 1169	                                IOSET:  MOV     A,C
 1170	                                        STA     IOBYT
 1171	                                        RET
 1172	                                        ENDIF
 1173	                                
 1174	                                ; DISPLAY ADDRES INT0 "HL"
 1175	                                
 1176	  064C    7C                    DADR0:  MOV     A,H
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-21


 1177	  064D    CD 0651                       CALL    DBYT
 1178	  0650    7D                            MOV     A,L
 1179	                                
 1180	                                ; DISPLAY BYTE INT0 ACC
 1181	                                
 1182	  0651    F5                    DBYT:   PUSH    PSW
 1183	  0652    CD 05A0                       CALL    HBYTE
 1184	  0655    CD 05E4                       CALL    CO
 1185	  0658    F1                            POP     PSW
 1186	  0659    CD 05A4                       CALL    LBYTE
 1187	  065C    C3 05E4                       JMP     CO
 1188	                                
 1189	                                
 1190	                                ; CHEK SIZE RAM MEMORY
 1191	                                
 1192	  065F    E5                    MEMCK:  PUSH    H
 1193	  0660    2A 40EE                       LHLD    MEMTOP
 1194	  0663    7D                            MOV     A,L
 1195	  0664    44                            MOV     B,H
 1196	  0665    E1                            POP     H
 1197	  0666    C9                            RET
 1198	                                
 1199	                                ; PREVOD ZNAKU ASCII NA HEXADEC
 1200	                                
 1201	  0667    D6 30                 ASHEX:  SUI     '0'     ;#VERS."F"#
 1202	  0669    D8                            RC              ; <'0'
 1203	  066A    FE 17                         CPI     17H     ; >'F'
 1204	  066C    3F                            CMC
 1205	  066D    D8                            RC
 1206	  066E    FE 0A                         CPI     10      ; '0'..'9'
 1207	  0670    3F                            CMC
 1208	  0671    D0                            RNC
 1209	  0672    FE 11                         CPI     11H     ; 0AH..10H
 1210	  0674    D8                            RC
 1211	  0675    D6 07                         SUI     7       ; 'A'..'F'
 1212	  0677    C9                            RET
 1213	                                
 1214	                                
 1215	  0678    CD 000B               CIMIN:  CALL    MINUS   ;-
 1216	                                ;
 1217	  067B    CD 04B5               CINCR:  CALL    ECHO
 1218	  067E    FE 2C                 ANAL:   CPI     ','
 1219	  0680    C8                    ANAL0:  RZ
 1220	  0681    FE 20                         CPI     ' '
 1221	  0683    C8                            RZ
 1222	  0684    FE 0D                         CPI     CR
 1223	  0686    37                            STC
 1224	  0687    C8                            RZ
 1225	  0688    B7                            ORA     A
 1226	  0689    C9                            RET             ; PO CR CARRY=1
 1227	                                
 1228	                                ; VYPIS TEXTU - HL ADRESA, D DELKA
 1229	                                
 1230	  068A    4E                    TEXT:   MOV     C,M
 1231	  068B    23                            INX     H
 1232	  068C    CD 05E4                       CALL    CO
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-22


 1233	  068F    15                            DCR     D
 1234	  0690    C2 068A                       JNZ     TEXT
 1235	  0693    C9                            RET
 1236	                                
 1237	  0694    CD 0651               DBYTE:  CALL    DBYT
 1238	  0697    0E 20                 SPACE:  MVI     C,' '   ; DISPLAY MEZERY
 1239	  0699    C3 05E4                       JMP     CO
 1240	                                ;
 1241	                                ;
 1242	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1243	                                ;       I/O  DEVICE
 1244	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1245	                                ;
 1246	                                ; T.V. PARAM.
 1247	  0028                          WIDTH   EQU     40
 1248	  0018                          HEIGHT  EQU     24
 1249	  0040                          LINOF   EQU     64      ;OFFSET
 1250	  0018                          LREST   EQU     LINOF - WIDTH
 1251	  3DE7                          TVEND   EQU     TVBEG + 5E7H
 1252	  001F                          ERS     EQU     1FH             ;ERASE SCREEN
 1253	  001E                          EOL     EQU     1EH             ;ERASE END OF LINE
 1254	  0011                          CTRLQ   EQU     11H     ;^Q-RESERVE
 1255	  0010                          CTRLP   EQU     10H     ;^P-LIST
 1256	  00A0                          CURSOR  EQU     0A0H            ;CODE
 1257	  001D                          HOME    EQU     1DH             ;HOME
 1258	                                ;
 1259	                                ;-------------------------------------------------
 1260	                                
 1261	  069C    21 3800               COINIT: LXI     H,TVBEG
 1262	  069F    22 40A5                       SHLD    CADR            ;SET CURSOR ADR
 1263	  06A2    0E 1F                         MVI     C,ERS           ;CLEAR SCREEN
 1264	                                ;
 1265	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%
 1266	                                ;       CONSOLE OUTPUT
 1267	                                ;       <C>...WRITE ON SCREN
 1268	                                ;
 1269	  06A4    D5                    CRT:    PUSH    D
 1270	  06A5    E5                            PUSH    H
 1271	  06A6    21 073B                       LXI     H,COEX  ;RET-ADR
 1272	  06A9    E5                            PUSH    H       ;PUT TO STACK
 1273	  06AA    2A 40A5                       LHLD    CADR    ;CLEAR CURSOR
 1274	  06AD    3A 40A7                       LDA     CHAR    ;ADR RESTORE
 1275	  06B0    77                            MOV     M,A     ;CHART
 1276	  06B1    CD 075A                       CALL    COADR   ;COMPUTE ADR
 1277	  06B4    79                            MOV     A,C
 1278	  06B5    FE 20                         CPI     ' '     ;IF ' '...'Z' THEN WRITE
 1279	  06B7    D2 06DE                       JNC     CRTWR   ;ELSE DECODE CONTROL
 1280	  06BA    FE 0D                         CPI     CR      ;CHARTS AND DO
 1281	  06BC    CA 0791                       JZ      CR@     ;CHANGE ON SCREEN
 1282	  06BF    FE 0A                         CPI     LF
 1283	  06C1    CA 06FC                       JZ      LF@
 1284	  06C4    FE 1E                         CPI     EOL
 1285	  06C6    CA 076F                       JZ      EOL@    ;ERASE TO END LINE
 1286	  06C9    FE 08                         CPI     BACK
 1287	  06CB    CA 077B                       JZ      BACK@   ;LEFT SHIFT
 1288	  06CE    FE 1D                         CPI     HOME
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-23


 1289	  06D0    CA 0796                       JZ      HOME@   ;LEFT UP
 1290	  06D3    FE 1F                         CPI     ERS
 1291	  06D5    CA 072A                       JZ      ERS@
 1292	  06D8    FE 07                         CPI     BELL
 1293	  06DA    CA 0218                       JZ      BEEP
 1294	  06DD    C9                            RET
 1295	                                ;
 1296	  06DE    3A 40E3               CRTWR:  LDA     MODE
 1297	  06E1    E6 C0                         ANI     0C0H    ;MODE
 1298	  06E3    57                            MOV     D,A     ; SAVE
 1299	  06E4    79                            MOV     A,C     ;6.BITS
 1300	  06E5    E6 3F                         ANI     3FH
 1301	  06E7    B2                            ORA     D       ;COMPOSITE
 1302	  06E8    77                            MOV     M,A     ;WRITE!
 1303	  06E9    D6 C0                         SUI     0C0H    ;DOUBLE ?
 1304	  06EB    D4 06EE                       CNC     CONXT   ;+
 1305	  06EE    CD 075A               CONXT:  CALL    COADR   ;COMPUTE NEXT ADR
 1306	  06F1    7A                            MOV     A,D
 1307	  06F2    3C                            INR     A
 1308	  06F3    32 40E9                       STA     COLUM   ;NEW POSITION
 1309	  06F6    D6 28                         SUI     WIDTH   ;END LINE
 1310	  06F8    D8                            RC              ;NO
 1311	  06F9    32 40E9                       STA     COLUM   ;SET POSITION AND COMPUTE
 1312	                                ; NEXT LINE
 1313	  06FC    7B                    LF@:    MOV     A,E
 1314	  06FD    3C                            INR     A
 1315	  06FE    FE 18                         CPI     HEIGHT  ;END OF SCREEN?
 1316	  0700    DA 079C                       JC      LF@1    ;NO
 1317	  0703    2A 40EA                       LHLD    RESL
 1318	  0706    26 00                         MVI     H,0
 1319	  0708    CD 075D                       CALL    COADR+3 ;FIRST LINE
 1320	  070B    C5                            PUSH    B
 1321	  070C    3A 40EA                       LDA     RESL    ;LINE COUNTER
 1322	  070F    D6 18                         SUI     HEIGHT
 1323	  0711    2F                            CMA
 1324	  0712    4F                            MOV     C,A
 1325	  0713    06 28                 ROLL:   MVI     B,WIDTH
 1326	  0715    EB                            XCHG
 1327	  0716    21 0040               ROLL1:  LXI     H,LINOF ;OFFSET
 1328	  0719    19                            DAD     D
 1329	  071A    7E                            MOV     A,M
 1330	  071B    12                            STAX    D       ;COPY
 1331	  071C    13                            INX     D       ;+
 1332	  071D    05                            DCR     B
 1333	  071E    C2 0716                       JNZ     ROLL1   ;ALL LINE
 1334	  0721    21 0018                       LXI     H,LREST ;NEW LINE
 1335	  0724    19                            DAD     D
 1336	  0725    0D                            DCR     C
 1337	  0726    C2 0713                       JNZ     ROLL    ;NEXT LINE
 1338	  0729    C1                            POP     B
 1339	                                ;
 1340	  072A    CD 076F               ERS@:   CALL    EOL@
 1341	  072D    11 0018                       LXI     D,LREST
 1342	  0730    19                            DAD     D
 1343	  0731    11 3DE6                       LXI     D,TVEND-1
 1344	  0734    CD 0629                       CALL    COMPR
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-24


 1345	  0737    D2 072A                       JNC     ERS@
 1346	  073A    C9                            RET
 1347	                                ;
 1348	                                ;
 1349	                                ;  "EXIT" AND SET CURSOR
 1350	  073B    CD 075A               COEX:   CALL    COADR   ;WRITE CURSOR
 1351	  073E    3A 40E3                       LDA     MODE
 1352	  0741    0F                            RRC             ;CY=1.. LIST
 1353	  0742    DC 07B9                       CC      LPR     ;PRINT ECHO
 1354	  0745    7E                            MOV     A,M
 1355	  0746    32 40A7                       STA     CHAR    ;ADD SAVE CHAR
 1356	  0749    22 40A5                       SHLD    CADR
 1357	  074C    3A 40E3                       LDA     MODE    ;#VERS."F"#
 1358	  074F    E6 20                         ANI     20H     ;#SUPRESS CURSOR?
 1359	  0751    C2 0756                       JNZ     COEX1   ;#
 1360	  0754    36 A0                         MVI     M,CURSOR
 1361	  0756    E1                    COEX1:  POP     H       ;UNSAVE
 1362	  0757    D1                            POP     D
 1363	  0758    79                            MOV     A,C
 1364	  0759    C9                            RET             ;END OF CONSOLE OUTPUT
 1365	                                
 1366	                                ;  SUBROUTINES
 1367	                                ;--------------------------------------------------
 1368	                                
 1369	  075A    2A 40E8               COADR:  LHLD    LINE    ;COMPARE ADR <HL>
 1370	  075D    E5                            PUSH    H
 1371	  075E    26 00                         MVI     H,0
 1372	  0760    29                            DAD     H
 1373	  0761    29                            DAD     H
 1374	  0762    29                            DAD     H
 1375	  0763    29                            DAD     H
 1376	  0764    29                            DAD     H
 1377	  0765    29                            DAD     H       ;64*
 1378	  0766    11 3800                       LXI     D,TVBEG ;TV-RAM
 1379	  0769    19                            DAD     D       ;BEGIN LINE
 1380	  076A    D1                            POP     D       ;SET DE
 1381	  076B    7D                            MOV     A,L     ;D-COLUM
 1382	  076C    B2                            ORA     D       ;E-LINE
 1383	  076D    6F                            MOV     L,A     ;HL...ADR
 1384	  076E    C9                            RET
 1385	                                
 1386	                                
 1387	                                ; ERASE FROM CURSOR TO END LINE
 1388	  076F    36 20                 EOL@:   MVI     M,' '
 1389	  0771    23                            INX     H
 1390	  0772    7D                            MOV     A,L
 1391	  0773    E6 3F                         ANI     3FH
 1392	  0775    FE 28                         CPI     WIDTH
 1393	  0777    DA 076F                       JC      EOL@
 1394	  077A    C9                            RET
 1395	                                
 1396	  077B    7A                    BACK@:  MOV     A,D     ;COLUMN:0 ?
 1397	  077C    B7                            ORA     A
 1398	  077D    C2 078F                       JNZ     BAC@1   ;NO FINST POSITIONS
 1399	  0780    1C                            INR     E       ;IF LINE=0 THEN BEGIN
 1400	  0781    1D                            DCR     E       ;OF SCREEN
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-25


 1401	  0782    C8                            RZ
 1402	  0783    3A 40EA                       LDA     RESL    ;SAVE "RESERVE" PARTIONS
 1403	  0786    BB                            CMP     E
 1404	  0787    C8                            RZ              ;YES,GO OUT
 1405	  0788    7B                            MOV     A,E     ;NO SET NEW LINE
 1406	  0789    3D                            DCR     A
 1407	  078A    32 40E8                       STA     LINE
 1408	  078D    3E 28                         MVI     A,WIDTH
 1409	  078F    3D                    BAC@1:  DCR     A
 1410	  0790    16                            DB      16H     ;MVI D,#
 1411	  0791    AF                    CR@:    XRA     A       ;CARIG. RETURN
 1412	  0792    32 40E9                       STA     COLUM
 1413	  0795    C9                            RET
 1414	                                
 1415	                                ;SET CURSOR ON BEGIN "NORMAL" SCREEN
 1416	  0796    CD 0791               HOME@:  CALL    CR@     ;NULL
 1417	  0799    3A 40EA                       LDA     RESL    ;"RESERVE" LINE SET
 1418	  079C    32 40E8               LF@1:   STA     LINE
 1419	  079F    C9                            RET
 1420	                                ;
 1421	                                ; UNDERLINE
 1422	  07A0    3A 40EA               UCMD:   LDA     RESL    ;EMPTY ?
 1423	  07A3    B7                            ORA     A
 1424	  07A4    C8                            RZ              ;EMPTY
 1425	  07A5    3D                            DCR     A
 1426	  07A6    6F                            MOV     L,A
 1427	  07A7    26 00                         MVI     H,0
 1428	  07A9    CD 075D                       CALL    COADR+3
 1429	  07AC    16 28                         MVI     D,WIDTH
 1430	  07AE    7E                    RESX:   MOV     A,M     ;UNDER LINE
 1431	  07AF    E6 3F                         ANI     3FH     ;ASCII
 1432	  07B1    B0                            ORA     B       ;PARAM
 1433	  07B2    77                            MOV     M,A
 1434	  07B3    23                            INX     H
 1435	  07B4    15                            DCR     D
 1436	  07B5    C2 07AE                       JNZ     RESX
 1437	  07B8    C9                            RET
 1438	                                ;**********************************************************
 1439	                                ;
 1440	                                ; LINE PRINTER
 1441	                                ;
 1442	  07B9    E5                    LPR:    PUSH    H
 1443	  07BA    21 2C01                       LXI     H,2C01H
 1444	  07BD    71                            MOV     M,C
 1445	  07BE    25                            DCR     H
 1446	  07BF    75                            MOV     M,L
 1447	  07C0    24                            INR     H
 1448	  07C1    7E                    LPR1:   MOV     A,M
 1449	  07C2    87                            ADD     A
 1450	  07C3    F2 07C1                       JP      LPR1
 1451	  07C6    25                            DCR     H
 1452	  07C7    36 03                         MVI     M,3
 1453	  07C9    24                            INR     H
 1454	  07CA    7E                    LPR2:   MOV     A,M
 1455	  07CB    87                            ADD     A
 1456	  07CC    FA 07CA                       JM      LPR2
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-26


 1457	  07CF    25                            DCR     H
 1458	  07D0    75                            MOV     M,L
 1459	  07D1    E1                            POP     H
 1460	  07D2    C9                            RET
 1461	                                ;
 1462	                                ;
 1463	                                ; PUNCH OUTPUT
 1464	                                ;
 1465	  07D3    C9                    PUN:    RET             ; EMPTY
 1466	  07D4                                  DS      20      ; RESERVA
 1467	                                ;
 1468	                                ; READER INPUT
 1469	                                
 1470	  0030                          PA1     EQU     30H
 1471	  0032                          PC1     EQU     32H
 1472	  0033                          CNTR1   EQU     33H
 1473	                                ;
 1474	  07E8    DB 32                 RDR:    IN      PC1
 1475	  07EA    07                            RLC
 1476	  07EB    07                            RLC
 1477	  07EC    D8                            RC              ;PRETRZENA PASKA
 1478	  07ED    B7                            ORA     A
 1479	  07EE    F2 07E8                       JP      RDR
 1480	  07F1    DB 30                         IN      PA1
 1481	  07F3    C9                            RET
 1482	                                ;
 1483	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1484	                                        ORG     @R@
 1485	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1486	                                ; SYSTEM RAM SAPI-1
 1487	                                ;
 1488	  4000                          RST1:   DS      21      ;RESTART VECTOR
 1489	                                ;<<... USER & MONITOR STACK
 1490	                                ;
 1491	                                ;
 1492	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1493	                                        ORG     @R@+090H
 1494	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1495	                                ; MONITOR DATA
 1496	                                ;
 1497	  4090                          MSTAK:  DS      2       ; SAVE REGISTERS
 1498	  4092                          ACSAV:  DS      2
 1499	  4094                          BCSAV:  DS      2
 1500	  4096                          DESAV:  DS      2
 1501	  4098                          HLSAV:  DS      2
 1502	  409A                          PCSAV:  DS      2
 1503	  409C                          SPSAV:  DS      2
 1504	                                ;
 1505	  409E                          BRAD:   DS      2
 1506	  40A0                          INSTR:  DS      1
 1507	  40A1                          BRAD2:  DS      2
 1508	  40A3                          INST2:  DS      1
 1509	  40A4                          LASTC:  DS      1       ;LAST CODE "REPEAT"
 1510	  40A5                          CADR:   DS      2       ; CURSOR ADR
 1511	  40A7                          CHAR:   DS      1       ; CODE
 1512	  40A8                          FLAG:   DS      1       ; FLAG MEMBR
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-27


 1513	  40A9                          LIMIT:  DS      2       ; TIME LIMIT FOR AUTO REPEAT
 1514	  40AB                          @BT:    DS      1
 1515	  40AC                          @PED:   DS      1
 1516	  40AD                          UADR:   DS      2       ;USER ADR
 1517	  40AF                          SADR:   DS      2       ; START ADR
 1518	  40B1                          EADR:   DS      2       ; END ADR
 1519	  40B3                          SUM:    DS      1
 1520	                                
 1521	                                ;*******************************
 1522	                                ;MONITOR PLUS DATA
 1523	  40B4                          JOINT:  DS      1
 1524	  40B5                          FNAME:  DS      11
 1525	  40C0                          BNO:    DS      1       ;BLOCK NUMSER,FILE NUMBER
 1526	  40C1                          BTO:    DS      1
 1527	  40C2                          BNI:    DS      1       ; --- " ---
 1528	  40C3                          BTI:    DS      1
 1529	  40C4                          ADRO:   DS      2
 1530	  40C6                          ADRI:   DS      2
 1531	  40C8                          PBITM:  DS      2
 1532	  40CA                          FND:    DS      1       ; FIND FLAG
 1533	                                
 1534	                                ;-------------------------
 1535	                                ;       USER I/O DEVICE
 1536	                                ;                       IODEF NUMBER
 1537	  40CB                          CILOC:  DS      3       ; (0)
 1538	  40CE                          COLOC:  DS      3       ; (1)
 1539	  40D1                          R1LOC:  DS      3       ; (2)
 1540	  40D4                          R2LOC:  DS      3       ; (3)
 1541	  40D7                          P1LOC:  DS      3       ; (4)
 1542	  40DA                          P2LOC:  DS      3       ; (5)
 1543	  40DD                          LILOC:  DS      3       ; (6)
 1544	  40E0                          CSLOC:  DS      3       ; (7)
 1545	                                ;******************************
 1546	                                ;<< EXTERNE OVLADANE FLAGY: >>
 1547	                                ;******************************
 1548	  40E3                          MODE:   DS      1       ;CRT-MODE
 1549	  40E4                          @IF1:   DS      1       ;OPEN FLAGS
 1550	  40E5                          @IF2:   DS      1
 1551	  40E6                          @OF1:   DS      1
 1552	  40E7                          @OF2:   DS      1
 1553	  40E8                          LINE:   DS      1       ;LINE
 1554	  40E9                          COLUM:  DS      1       ;COLUMN
 1555	  40EA                          RESL:   DS      1       ;RESERVE
 1556	  40EB                          UBYTE:  DS      1       ;USER BYTE (REALTIME..)
 1557	  40EC                          @SFLG:  DS      1       ;#0..NO STOP
 1558	  000A                          EXSER   EQU     $-MODE  ;EXTERNAL SERVICE
 1559	  40ED                          IOBYT:  DS      1       ;I/O CONTROL
 1560	  40EE                          MEMTOP: DS      2       ;MEMTOP "RAM"
 1561	                                
 1562	                                ;-------------------------
 1563	                                ; I/O BUFFERS
 1564	  40F0                                  DS      1       ;BLOCK LABEL
 1565	  40F1                          BOUT:   DS      255     ;BLOCK LENGHT
 1566	  41F0                          BOEND   EQU     $
 1567	                                ;
 1568	  41F0                                  DS      1       ; BLOCK LABELS
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-28


 1569	  41F1                          BIN:    DS      255     ;BLOCK  LENGHT
 1570	  42F0                          BIEND   EQU     $
 1571	                                ;
 1572	  42F0                          WRNM:   DS      11
 1573	                                ;=============================
 1574	                                        ORG     @R@ + 300H
 1575	                                ;=============================
 1576	                                ; "MAT" ARRAY
 1577	  4300                                  DS      0FFH
 1578	                                ;=============================
 1579	                                        ORG     @R@ + 400H
 1580	                                ;=============================
 1581	                                ; SYSTEM OR USER PROGRAMS
 1582	                                ;---->>>>>>>>>>>
 1583	                                ;
 1584	                                ;
 1585	                                ;
 1586	                                        END
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	S


Macros:

Symbols:
40AB 	@BT             40E4 	@IF1            40E5 	@IF2            
40E6 	@OF1            40E7 	@OF2            40AC 	@PED            
4000 	@R@             40EC 	@SFLG           4092 	ACSAV           
40C6 	ADRI            40C4 	ADRO            0002 	ALLINT          
067E 	ANAL            0680 	ANAL0           0667 	ASHEX           
014E 	ASIGN           0159 	ASS0            016B 	ASS1            
0175 	ASS2            0186 	ASS3            078F 	BAC@1           
0008 	BACK            077B 	BACK@           0002 	BATCH           
4094 	BCSAV           0218 	BEEP            04DC 	BEG             
0055 	BEGIO           0007 	BELL            42F0 	BIEND           
41F1 	BIN             40C2 	BNI             40C0 	BNO             
41F0 	BOEND           40F1 	BOUT            409E 	BRAD            
40A1 	BRAD2           40C3 	BTI             40C1 	BTO             
40A5 	CADR            003B 	CCPM            0001 	CCRT            
40A7 	CHAR            005E 	CI              02A4 	CI1             
028B 	CICO            40CB 	CILOC           0678 	CIMIN           
067B 	CINCR           00D3 	CITB            0228 	CLCK1           
022E 	CLCK2           0224 	CLICK           00FC 	CMSK            
0033 	CNTR1           05E4 	CO              04B8 	COA             
075A 	COADR           073B 	COEX            0756 	COEX1           
069C 	COINIT          04CF 	COLD            030D 	COLO            
40CE 	COLOC           40E9 	COLUM           0629 	COMPR           
06EE 	CONXT           00CB 	COTB            0000 	CPM             
000D 	CR              0791 	CR@             05DD 	CRLF            
06A4 	CRT             06DE 	CRTWR           40E0 	CSLOC           
01C6 	CSTS            01FB 	CSTS0           01C0 	CSTS1           
0561 	CTBL            0010 	CTRLP           0011 	CTRLQ           
0017 	CTRLW           0000 	CTTY            00A0 	CURSOR          
0003 	CUSE            0646 	DADR            064C 	DADR0           
0651 	DBYT            0694 	DBYTE           4096 	DESAV           
0433 	DI0             0437 	DI1             044B 	DI2             
0447 	DIA             042E 	DISP            0643 	DNADR           
01FF 	DTTO?           40B1 	EADR            04B5 	ECHO            
001E 	EOL             076F 	EOL@            0800 	EP2             
059A 	EP2?            0013 	EQUAL           FFFF 	ERAM            
0162 	ERROR           001F 	ERS             072A 	ERS@            
0003 	ETX             05B7 	EX0             05BA 	EX1             
05CF 	EX3             05F8 	EX4             04BF 	EXFLG           
05B1 	EXPR            05F0 	EXPRM           05AE 	EXPRO           
0591 	EXROM           000A 	EXSER           0481 	FI1             
047A 	FILL            40A8 	FLAG            40B5 	FNAME           
40CA 	FND             02BC 	FREE            0392 	GO@             
0374 	GO@BR           035B 	GOTO            05A0 	HBYTE           
0018 	HEIGHT          0624 	HILO            4098 	HLSAV           
001D 	HOME            0796 	HOME@           0009 	HT              
05A6 	HXASC           051E 	INIC            0554 	INJM@           
0558 	INJMP           40A3 	INST2           40A0 	INSTR           
40ED 	IOBYT           0023 	IOCHK           05EB 	IOCOM           
0604 	IODEF           061E 	IODEF1          018B 	IONEW           
002B 	IOSET           00B3 	IOTAB           40B4 	JOINT           
0265 	KBR             0294 	KBRD            01E0 	KBRS1           
01CE 	KBRST           0243 	KEY             0233 	KEYIN           
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	S-1


40A4 	LASTC           05A4 	LBYTE           0040 	LCRT            
0018 	LCT             000A 	LF              06FC 	LF@             
079C 	LF@1            40DD 	LILOC           40A9 	LIMIT           
40E8 	LINE            0040 	LINOF           0080 	LLPT            
003F 	LMSK            0301 	LO              02B6 	LONG            
00DB 	LOTB            07B9 	LPR             07C1 	LPR1            
07CA 	LPR2            0018 	LREST           02B9 	LSET            
0000 	LTTY            00C0 	LUSE            000D 	LVER            
04FA 	MEM1            050A 	MEM2            065F 	MEMCK           
40EE 	MEMTOP          000B 	MINUS           0011 	MMODE           
0490 	MO1             40E3 	MODE            0100 	MONIT           
0489 	MOVE            4090 	MSTAK           0526 	NEXT            
024E 	NXKEY           023D 	NXLIN           40D7 	P1LOC           
40DA 	P2LOC           0030 	PA1             40C8 	PBITM           
0032 	PC1             409A 	PCSAV           00CF 	PMSK            
02F5 	PO              00EB 	POTB            0010 	PPTR            
02AA 	PRESS           0000 	PTTY            07D3 	PUN             
0020 	PUSE1           0030 	PUSE2           0192 	QUERY           
001B 	QUES            40D1 	R1LOC           40D4 	R2LOC           
062F 	RADR            4000 	RAM             0636 	RBYT            
07E8 	RDR             40EA 	RESL            0313 	RESTA           
07AE 	RESX            0419 	RGNAM           02E9 	RI              
02F0 	RICOM           00E3 	RITB            00F3 	RMSK            
0713 	ROLL            0716 	ROLL1           0004 	RPTR            
4000 	RST1            032E 	RST10           034A 	RST20           
00CF 	RSTN            0000 	RTTY            0008 	RUSE1           
000C 	RUSE2           40AF 	SADR            01F8 	SET80           
02C8 	SETLST          FFFF 	SP1             0000 	SP1A            
0697 	SPACE           0033 	SPCL            409C 	SPSAV           
049D 	SU1             04AC 	SU2             049A 	SUBS            
40B3 	SUM             0065 	TABCOD          0046 	TCPM            
068A 	TEXT            3800 	TVBEG           3DE7 	TVEND           
40AD 	UADR            40EB 	UBYTE           07A0 	UCMD            
0012 	UDATA           0010 	UMODE           0013 	URES            
0011 	USTAT           00F3 	VERS            02AC 	WAIT0           
02BE 	WAIT1           0028 	WIDTH           42F0 	WRNM            
03A8 	X               03B6 	X0              03BE 	X1              
03C3 	X10             03D5 	X2              0400 	XDIS1           
03F6 	XDISP           0547 	XY              



No Fatal error(s)



@BT	 1514#
@IF1	 1549#
@IF2	 1550#
@OF1	 1551#
@OF2	 1552#
@PED	 1515#
@R@	   29#	  102	  106	  110	  114	  119	  124	  129	  900	  951	  953	 1484
	 1493	 1574	 1579
@SFLG	 1557#
ACSAV	  673	  688	  754	  755	 1498#
ADRI	 1530#
ADRO	 1529#
ALLINT	   82#
ANAL	 1061	 1218#
ANAL0	 1219#
ASHEX	  249	 1050	 1201#
ASIGN	  264#	  980
ASS0	  269#	  273
ASS1	  270	  281#
ASS2	  286#	  295
ASS3	  288	  296#
BAC@1	 1398	 1409#
BACK	   36#	 1286
BACK@	 1287	 1396#
BATCH	   54#
BCSAV	  756	  757	 1499#
BEEP	  278	  415#	 1293
BEG	  897#	  982
BEGIO	   41#	  903
BELL	   37#	 1292
BIEND	 1570#
BIN	 1569#
BNI	 1527#
BNO	 1525#
BOEND	 1566#
BOUT	 1565#
BRAD	  612	  657	 1505#
BRAD2	  666	 1507#
BTI	 1528#
BTO	 1526#
CADR	  126	 1262	 1273	 1356	 1510#
CCPM	  101	  131#
CCRT	   53#
CHAR	 1274	 1355	 1511#
CI	  138	  145#	  235	  849
CI1	  411	  529	  534#
CICO	  141	  507#
CILOC	  208	 1104	 1537#

CIMIN	  264	  710	  798	  836	 1215#
CINCR	  255	  647	  686	  801	  956	 1084	 1217#
CITB	  146	  207#
CLCK1	  425#	  426
CLCK2	  428#	  429
CLICK	  417	  423#	  554
CMSK	   46#
CNTR1	  894	 1472#
CO	  139	  209	  213	  237	  852	  955	 1070	 1073#	 1184	 1187	 1232	 1239
COA	  105	  109	  113	  317	  328	  734	  790	  850#
COADR	 1276	 1305	 1319	 1350	 1369#	 1428
COEX	 1271	 1350#
COEX1	 1359	 1361#
COINIT	  905	 1261#
COLD	   98	  138	  234	  888#
COLO	  205	  209	  591#
COLOC	  206	 1538#
COLUM	 1308	 1311	 1412	 1554#
COMPR	  630	 1124#	 1344
CONXT	 1304	 1305#
COTB	  205#	 1074
CPM	   11#	   20	   92	   95	  225	  351	  517	  945
CR	   34#	  217	  654	  661	  726	 1069	 1148	 1222	 1280
CR@	 1281	 1411#	 1416
CRLF	  246	  671	  690	  949	 1069#	 1155
CRT	  205	  509	  592	 1269#
CRTWR	 1279	 1296#
CSLOC	  343	 1544#
CSTS	  143	  240	  347#	  796
CSTS0	  371	  377	  381#
CSTS1	  342#	  350
CTBL	  961	  980#	 1004
CTRLP	  561	 1255#
CTRLQ	  489	 1254#
CTRLW	   40#	  487
CTTY	   52#
CURSOR	 1256#	 1360
CUSE	   55#
DADR	  250	 1156#
DADR0	 1156	 1176#
DBYT	  251	  744	  749	  835	 1177	 1182#	 1237
DBYTE	  774	 1237#
DESAV	  758	  759	 1500#
DI0	  771#	  797	  802
DI1	  773#	  779
DI2	  782#	  795
DIA	  776	  780#
DISP	  768#	  983
DNADR	  772	  843	 1155#

DTTO?	  403#	  535
EADR	 1518#
ECHO	  282	  849#	 1046	 1217
EOL	 1253#	 1284
EOL@	 1285	 1340	 1388#	 1393
EP2	   27#	  907	 1012	 1014
EP2?	  906	 1010	 1014#
EQUAL	  108#	  281	  318	  646	  735	 1044
ERAM	   25#	  911
ERROR	  142	  143	  248	  277#	  293	  702	  964	 1011	 1043	 1062	 1099
ERS	 1252#	 1263	 1290
ERS@	 1291	 1340#	 1345
ETX	   39#
EX0	 1046#	 1058
EX1	 1047#	 1082
EX3	 1051	 1060#	 1086
EX4	 1049	 1084#	 1089
EXFLG	  259	  870#
EXPR	  247	  768	  808	  820	 1044#	 1134
EXPRM	  650	 1080#	 1143
EXPRO	 1043#	 1066
EXROM	  981	  984	  987	  988	  989	  990	  991	  993	  994	  995	  997	  999
	 1000	 1001	 1002	 1010#
EXSER	  872	 1558#
FI1	  812#	  814	  902
FILL	  807#	  985
FLAG	  367	  527	  552	  929	 1512#
FNAME	 1524#
FND	 1532#
FREE	  543#	  545
GO@	  648	  655	  663	  671#
GO@BR	  649	  656#
GOTO	  646#	  986
HBYTE	 1027#	 1183
HEIGHT	 1248#	 1315	 1322
HILO	  252	  775	  791	  813	  827	 1119#
HLSAV	  599	  606	  681	  760	  761	 1501#
HOME	 1257#	 1288
HOME@	 1289	 1416#
HT	   35#
HXASC	  258	 1034#
INIC	  279	  935#
INJM@	  136	  963#
INJMP	  965#	 1077
INST2	  668	 1508#
INSTR	  659	 1506#
IOBYT	  116	  122	  301	  310	  347	  571	  578	  585	  904	 1075	 1559#
IOCHK	  116#	  141	  241
IOCOM	  147	  574	  588	 1076#

IODEF	  244	 1093#
IODEF1	 1098	 1108#
IONEW	  301#
IOSET	  121#	  142	  242
IOTAB	  194#	  266	  309
JOINT	 1523#
KBR	  207	  207	  211	  486#	  488	  505
KBRD	  486	  497	  513#	  566
KBRS1	  361	  367#
KBRST	  353#	  510
KEY	  459#	  466
KEYIN	  372	  449#	  534	  537	  544
LASTC	  403	  548	  927	 1509#
LBYTE	 1031#	 1186
LCRT	   71#
LCT	  962	 1004#
LF	   38#	  217	 1071	 1282
LF@	 1283	 1313#
LF@1	 1316	 1418#
LILOC	  210	 1543#
LIMIT	  406	  408	  542	 1513#
LINE	 1369	 1407	 1418	 1553#
LINOF	 1249#	 1250	 1327
LLPT	   72#
LMSK	   49#
LO	  140	  205	  239	  583#
LONG	  405	  541#
LOTB	  209#	  584
LPR	  209	  591	 1353	 1442#
LPR1	 1448#	 1450
LPR2	 1454#	 1456
LREST	 1250#	 1334	 1341
LSET	  413	  542#
LTTY	   70#
LUSE	   73#
LVER	  221#	  936
MEM1	  909#	  923
MEM2	  916	  924#
MEMCK	  243	 1192#
MEMTOP	  925	 1095	 1193	 1560#
MINUS	  104#	 1215
MMODE	   79#	  892
MO1	  824#	  828
MODE	  563	  565	  878	 1296	 1351	 1357	 1548#	 1558
MONIT	   16#	  228
MOVE	  819#	  992
MSTAK	  898	  930	  942	 1497#
NEXT	  253	  642	  942#	  943	  960
NXKEY	  461	  463	  465#

NXLIN	  454#	  469
P1LOC	  213	 1541#
P2LOC	  214	 1542#
PA1	 1470#	 1480
PBITM	 1531#
PC1	 1471#	 1474
PCSAV	  639	  652	  679	  762	 1502#
PMSK	   48#
PO	  140	  238	  576#
POTB	  213#	  577
PPTR	   65#
PRESS	  536#	  538
PTTY	   64#
PUN	  213	 1465#
PUSE1	   66#
PUSE2	   67#
QUERY	  309#	  996
QUES	  112#	  277
R1LOC	  211	 1539#
R2LOC	  212	 1540#
RADR	  656	  665	  833	 1133#
RAM	   19#	  908
RBYT	  717	  839	 1141#
RDR	  211	 1474#	 1479
RESL	  499	 1317	 1321	 1402	 1417	 1422	 1555#
RESTA	  485	  598#	  952
RESX	 1430#	 1436
RGNAM	  687	  754#
RI	  139	  207	  236	  569#
RICOM	  572#	  581
RITB	  211#	  570
RMSK	   47#
ROLL	 1325#	 1337
ROLL1	 1327#	 1333
RPTR	   59#
RST1	 1488#
RST10	  614#	  636
RST20	  623	  632	  634#
RSTN	   30#	  660	  669
RTTY	   58#
RUSE1	   60#
RUSE2	   61#
SADR	 1517#
SET80	  368	  373	  379#
SETLST	  532	  548#
SP1	    9#	   85
SP1A	   10#	  856	 1160
SPACE	  254	  315	  730	  781	 1157	 1238#
SPCL	  126#	  245

SPSAV	  603	  677	  763	  931	 1503#
SU1	  834#	  844
SU2	  838	  841#
SUBS	  833#	  998
SUM	 1519#
TABCOD	  150#	  549
TCPM	  134	  138#
TEXT	  256	  937	 1230#	 1234
TVBEG	   26#	 1251	 1261	 1378
TVEND	 1251#	 1343
UADR	 1516#
UBYTE	 1556#
UCMD	  496	  501	 1422#
UDATA	   77#
UMODE	   80#	  890
URES	   81#	  888
USTAT	   78#
VERS	  217#	  221	  935
WAIT0	  537#	  540
WAIT1	  544#	  547
WIDTH	 1247#	 1250	 1309	 1325	 1392	 1408	 1429
WRNM	 1572#
X	  641	  686#	 1003
X0	  691#	  694
X1	  689	  695#
X10	  698#	  704
X2	  695	  706	  708#	  714	  728
XDIS1	  705	  735#
XDISP	  691	  708	  730#
XY	  257	  957#

138#
TEXT	  256	  937	 1230

ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / V4.x / LST MONITOR



SAPI.cz - web o československých osmibitech, zejména SAPI-1. Provozuje EC1045 od roku 2011
Za korekce češtiny dekuji: MELSOFTovi, Silliconovi, Martinu Lukáškovi a NOSTALCOMPovi

Když začínám blbnout z 8bitů tak se chodím léčit mezi otaku.
Animefest.cz