Ú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 | SP 830 | PCS 1-QR6000


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


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


Listing programu MONITOR V4.0F


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


  841	  04AF    CC 0643                       CZ      DNADR
  842	  04B2    C3 049D                       JMP     SU1
  843	                                ;
  844	                                ; CONSOLE MODUL
  845	                                ;
  846	                                ;
  847	  04B5    CD 005E               ECHO:   CALL    CI
  848	  04B8    C5                    COA:    PUSH    B
  849	  04B9    4F                            MOV     C,A
  850	  04BA    CD 05E4                       CALL    CO
  851	  04BD    C1                            POP     B
  852	  04BE    C9                            RET
  853	                                ;
  854	                                        IF      SP1A
  855	                                MINUS:  MVI     A,'-'
  856	                                        JMP     COA
  857	                                ;
  858	                                EQUAL:  MVI     A,'='
  859	                                        JMP     COA
  860	                                ;
  861	                                QUES:   MVI     A,'?'
  862	                                        JMP     COA
  863	                                ;
  864	                                        ENDIF
  865	                                ;
  866	                                ;SET MODE. I/O FLAGS
  867	                                ;
  868	  04BF    47                    EXFLG:  MOV     B,A
  869	  04C0    79                            MOV     A,C
  870	  04C1    FE 0A                         CPI     EXSER   ; OVERFLOW ?
  871	  04C3    78                            MOV     A,B
  872	  04C4    D0                            RNC
  873	  04C5    E5                            PUSH    H       ; <A> .. COMMAND
  874	                                                        ; <C> .. 0-N SLUZBA
  875	  04C6    06 00                         MVI     B,0     ; 0-MODE, 1-@IF1..4@OF2
  876	  04C8    21 40E3                       LXI     H,MODE  ; 0=0
  877	  04CB    09                            DAD     B       ; 5- RESERVE_LINE, 6-S@FLG
  878	  04CC    77                            MOV     M,A
  879	  04CD    E1                            POP     H
  880	  04CE    C9                            RET
  881	                                
  882	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  883	                                ; ****   S T A R T    M O N I T O R U   ****
  884	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  885	                                ;
  886	  04CF    D3 13                 COLD:   OUT     URES    ; RESET
  887	  04D1    AF                            XRA     A       ;MONITORU
  888	  04D2    D3 10                         OUT     UMODE
  889	  04D4    3E 0D                         MVI     A,0DH
  890	  04D6    D3 11                         OUT     MMODE
  891	  04D8    00                            NOP             ; RESERVA
  892	  04D9    00                            NOP
  893	  04DA    00                            NOP
  894	  04DB    00                            NOP
  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	  07E8    37                    RDR:    STC             ; CHYBA SNIMACE
 1471	  07E9    C9                            RET
 1472	                                ;
 1473	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1474	                                        ORG     @R@
 1475	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1476	                                ; SYSTEM RAM SAPI-1
 1477	                                ;
 1478	  4000                          RST1:   DS      21      ;RESTART VECTOR
 1479	                                ;<<... USER & MONITOR STACK
 1480	                                ;
 1481	                                ;
 1482	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1483	                                        ORG     @R@+090H
 1484	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1485	                                ; MONITOR DATA
 1486	                                ;
 1487	  4090                          MSTAK:  DS      2       ; SAVE REGISTERS
 1488	  4092                          ACSAV:  DS      2
 1489	  4094                          BCSAV:  DS      2
 1490	  4096                          DESAV:  DS      2
 1491	  4098                          HLSAV:  DS      2
 1492	  409A                          PCSAV:  DS      2
 1493	  409C                          SPSAV:  DS      2
 1494	                                ;
 1495	  409E                          BRAD:   DS      2
 1496	  40A0                          INSTR:  DS      1
 1497	  40A1                          BRAD2:  DS      2
 1498	  40A3                          INST2:  DS      1
 1499	  40A4                          LASTC:  DS      1       ;LAST CODE "REPEAT"
 1500	  40A5                          CADR:   DS      2       ; CURSOR ADR
 1501	  40A7                          CHAR:   DS      1       ; CODE
 1502	  40A8                          FLAG:   DS      1       ; FLAG MEMBR
 1503	  40A9                          LIMIT:  DS      2       ; TIME LIMIT FOR AUTO REPEAT
 1504	  40AB                          @BT:    DS      1
 1505	  40AC                          @PED:   DS      1
 1506	  40AD                          UADR:   DS      2       ;USER ADR
 1507	  40AF                          SADR:   DS      2       ; START ADR
 1508	  40B1                          EADR:   DS      2       ; END ADR
 1509	  40B3                          SUM:    DS      1
 1510	                                
 1511	                                ;*******************************
 1512	                                ;MONITOR PLUS DATA
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	1-27


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


 1569	                                        ORG     @R@ + 400H
 1570	                                ;=============================
 1571	                                ; SYSTEM OR USER PROGRAMS
 1572	                                ;---->>>>>>>>>>>
 1573	                                ;
 1574	                                ;
 1575	                                ;
 1576	                                        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            
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           40A4 	LASTC           
'MONITOR SAPI-1  V4.0F'	MACRO-80 3.44	09-Dec-81	PAGE	S-1


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           
40C8 	PBITM           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	 1504#
@IF1	 1539#
@IF2	 1540#
@OF1	 1541#
@OF2	 1542#
@PED	 1505#
@R@	   27#	  100	  104	  108	  112	  117	  122	  127	  900	  951	  953	 1474
	 1483	 1564	 1569
@SFLG	 1547#
ACSAV	  671	  686	  752	  753	 1488#
ADRI	 1520#
ADRO	 1519#
ALLINT	   80#
ANAL	 1061	 1218#
ANAL0	 1219#
ASHEX	  247	 1050	 1201#
ASIGN	  262#	  980
ASS0	  267#	  271
ASS1	  268	  279#
ASS2	  284#	  293
ASS3	  286	  294#
BAC@1	 1398	 1409#
BACK	   34#	 1286
BACK@	 1287	 1396#
BATCH	   52#
BCSAV	  754	  755	 1489#
BEEP	  276	  413#	 1293
BEG	  897#	  982
BEGIO	   39#	  903
BELL	   35#	 1292
BIEND	 1560#
BIN	 1559#
BNI	 1517#
BNO	 1515#
BOEND	 1556#
BOUT	 1555#
BRAD	  610	  655	 1495#
BRAD2	  664	 1497#
BTI	 1518#
BTO	 1516#
CADR	  124	 1262	 1273	 1356	 1500#
CCPM	   99	  129#
CCRT	   51#
CHAR	 1274	 1355	 1501#
CI	  136	  143#	  233	  847
CI1	  409	  527	  532#
CICO	  139	  505#
CILOC	  206	 1104	 1527#

CIMIN	  262	  708	  796	  834	 1215#
CINCR	  253	  645	  684	  799	  956	 1084	 1217#
CITB	  144	  205#
CLCK1	  423#	  424
CLCK2	  426#	  427
CLICK	  415	  421#	  552
CMSK	   44#
CO	  137	  207	  211	  235	  850	  955	 1070	 1073#	 1184	 1187	 1232	 1239
COA	  103	  107	  111	  315	  326	  732	  788	  848#
COADR	 1276	 1305	 1319	 1350	 1369#	 1428
COEX	 1271	 1350#
COEX1	 1359	 1361#
COINIT	  905	 1261#
COLD	   96	  136	  232	  886#
COLO	  203	  207	  589#
COLOC	  204	 1528#
COLUM	 1308	 1311	 1412	 1544#
COMPR	  628	 1124#	 1344
CONXT	 1304	 1305#
COTB	  203#	 1074
CPM	    9#	   18	   90	   93	  223	  349	  515	  945
CR	   32#	  215	  652	  659	  724	 1069	 1148	 1222	 1280
CR@	 1281	 1411#	 1416
CRLF	  244	  669	  688	  949	 1069#	 1155
CRT	  203	  507	  590	 1269#
CRTWR	 1279	 1296#
CSLOC	  341	 1534#
CSTS	  141	  238	  345#	  794
CSTS0	  369	  375	  379#
CSTS1	  340#	  348
CTBL	  961	  980#	 1004
CTRLP	  559	 1255#
CTRLQ	  487	 1254#
CTRLW	   38#	  485
CTTY	   50#
CURSOR	 1256#	 1360
CUSE	   53#
DADR	  248	 1156#
DADR0	 1156	 1176#
DBYT	  249	  742	  747	  833	 1177	 1182#	 1237
DBYTE	  772	 1237#
DESAV	  756	  757	 1490#
DI0	  769#	  795	  800
DI1	  771#	  777
DI2	  780#	  793
DIA	  774	  778#
DISP	  766#	  983
DNADR	  770	  841	 1155#
DTTO?	  401#	  533

EADR	 1508#
ECHO	  280	  847#	 1046	 1217
EOL	 1253#	 1284
EOL@	 1285	 1340	 1388#	 1393
EP2	   25#	  907	 1012	 1014
EP2?	  906	 1010	 1014#
EQUAL	  106#	  279	  316	  644	  733	 1044
ERAM	   23#	  911
ERROR	  140	  141	  246	  275#	  291	  700	  964	 1011	 1043	 1062	 1099
ERS	 1252#	 1263	 1290
ERS@	 1291	 1340#	 1345
ETX	   37#
EX0	 1046#	 1058
EX1	 1047#	 1082
EX3	 1051	 1060#	 1086
EX4	 1049	 1084#	 1089
EXFLG	  257	  868#
EXPR	  245	  766	  806	  818	 1044#	 1134
EXPRM	  648	 1080#	 1143
EXPRO	 1043#	 1066
EXROM	  981	  984	  987	  988	  989	  990	  991	  993	  994	  995	  997	  999
	 1000	 1001	 1002	 1010#
EXSER	  870	 1548#
FI1	  810#	  812	  902
FILL	  805#	  985
FLAG	  365	  525	  550	  929	 1502#
FNAME	 1514#
FND	 1522#
FREE	  541#	  543
GO@	  646	  653	  661	  669#
GO@BR	  647	  654#
GOTO	  644#	  986
HBYTE	 1027#	 1183
HEIGHT	 1248#	 1315	 1322
HILO	  250	  773	  789	  811	  825	 1119#
HLSAV	  597	  604	  679	  758	  759	 1491#
HOME	 1257#	 1288
HOME@	 1289	 1416#
HT	   33#
HXASC	  256	 1034#
INIC	  277	  935#
INJM@	  134	  963#
INJMP	  965#	 1077
INST2	  666	 1498#
INSTR	  657	 1496#
IOBYT	  114	  120	  299	  308	  345	  569	  576	  583	  904	 1075	 1549#
IOCHK	  114#	  139	  239
IOCOM	  145	  572	  586	 1076#
IODEF	  242	 1093#

IODEF1	 1098	 1108#
IONEW	  299#
IOSET	  119#	  140	  240
IOTAB	  192#	  264	  307
JOINT	 1513#
KBR	  205	  205	  209	  484#	  486	  503
KBRD	  484	  495	  511#	  564
KBRS1	  359	  365#
KBRST	  351#	  508
KEY	  457#	  464
KEYIN	  370	  447#	  532	  535	  542
LASTC	  401	  546	  927	 1499#
LBYTE	 1031#	 1186
LCRT	   69#
LCT	  962	 1004#
LF	   36#	  215	 1071	 1282
LF@	 1283	 1313#
LF@1	 1316	 1418#
LILOC	  208	 1533#
LIMIT	  404	  406	  540	 1503#
LINE	 1369	 1407	 1418	 1543#
LINOF	 1249#	 1250	 1327
LLPT	   70#
LMSK	   47#
LO	  138	  203	  237	  581#
LONG	  403	  539#
LOTB	  207#	  582
LPR	  207	  589	 1353	 1442#
LPR1	 1448#	 1450
LPR2	 1454#	 1456
LREST	 1250#	 1334	 1341
LSET	  411	  540#
LTTY	   68#
LUSE	   71#
LVER	  219#	  936
MEM1	  909#	  923
MEM2	  916	  924#
MEMCK	  241	 1192#
MEMTOP	  925	 1095	 1193	 1550#
MINUS	  102#	 1215
MMODE	   77#	  890
MO1	  822#	  826
MODE	  561	  563	  876	 1296	 1351	 1357	 1538#	 1548
MONIT	   14#	  226
MOVE	  817#	  992
MSTAK	  898	  930	  942	 1487#
NEXT	  251	  640	  942#	  943	  960
NXKEY	  459	  461	  463#
NXLIN	  452#	  467

P1LOC	  211	 1531#
P2LOC	  212	 1532#
PBITM	 1521#
PCSAV	  637	  650	  677	  760	 1492#
PMSK	   46#
PO	  138	  236	  574#
POTB	  211#	  575
PPTR	   63#
PRESS	  534#	  536
PTTY	   62#
PUN	  211	 1465#
PUSE1	   64#
PUSE2	   65#
QUERY	  307#	  996
QUES	  110#	  275
R1LOC	  209	 1529#
R2LOC	  210	 1530#
RADR	  654	  663	  831	 1133#
RAM	   17#	  908
RBYT	  715	  837	 1141#
RDR	  209	 1470#
RESL	  497	 1317	 1321	 1402	 1417	 1422	 1545#
RESTA	  483	  596#	  952
RESX	 1430#	 1436
RGNAM	  685	  752#
RI	  137	  205	  234	  567#
RICOM	  570#	  579
RITB	  209#	  568
RMSK	   45#
ROLL	 1325#	 1337
ROLL1	 1327#	 1333
RPTR	   57#
RST1	 1478#
RST10	  612#	  634
RST20	  621	  630	  632#
RSTN	   28#	  658	  667
RTTY	   56#
RUSE1	   58#
RUSE2	   59#
SADR	 1507#
SET80	  366	  371	  377#
SETLST	  530	  546#
SP1	    7#	   83
SP1A	    8#	  854	 1160
SPACE	  252	  313	  728	  779	 1157	 1238#
SPCL	  124#	  243
SPSAV	  601	  675	  761	  931	 1493#
SU1	  832#	  842
SU2	  836	  839#

SUBS	  831#	  998
SUM	 1509#
TABCOD	  148#	  547
TCPM	  132	  136#
TEXT	  254	  937	 1230#	 1234
TVBEG	   24#	 1251	 1261	 1378
TVEND	 1251#	 1343
UADR	 1506#
UBYTE	 1546#
UCMD	  494	  499	 1422#
UDATA	   75#
UMODE	   78#	  888
URES	   79#	  886
USTAT	   76#
VERS	  215#	  219	  935
WAIT0	  535#	  538
WAIT1	  542#	  545
WIDTH	 1247#	 1250	 1309	 1325	 1392	 1408	 1429
WRNM	 1562#
X	  639	  684#	 1003
X0	  689#	  692
X1	  687	  693#
X10	  696#	  702
X2	  693	  704	  706#	  712	  726
XDIS1	  703	  733#
XDISP	  689	  706	  728#
XY	  255	  957#

136#
TEXT	  254	  937	 1230#	 1234
TVBEG	   24#	 1251	 1261	 1378
TVEND	 1251#	 1343
UADR	 1506#
UBYTE	 1546#
UCMD

Ú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 | SP 830 | PCS 1-QR6000


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