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


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


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


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


Listing programu MONITOR V4.1F
Upraveno dle "MODIFIKACE MONITORU "M4F" PRO KLAVESNICI C259.11" pravděpodobně nebude fungovat podmíněny překlad pro CP/M


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


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


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


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


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


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


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


  337	                                ;
  338	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%
  339	                                ; I/O DEVICE CONTROL
  340	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%
  341	                                
  342	  01C0    B7                    CSTS1:  ORA     A
  343	  01C1    FA 40E0                       JM      CSLOC   ;USER CSTS
  344	  01C4    AF                            XRA     A
  345	  01C5    C9                            RET             ;BATCH-NOT READY
  346	                                ;
  347	  01C6    3A 40ED               CSTS:   LDA     IOBYT
  348	  01C9    1F                            RAR
  349	  01CA    1F                            RAR
  350	  01CB    DA 01C0                       JC      CSTS1
  351	                                        IF      NOT CPM
  352	                                
  353	                                ; STATUS KLAVESNICE
  354	                                
  355	  01CE    3A 2400               KBSTS:  LDA     2400H   ; STATUS SC/
  356	  01D1    0F                            RRC
  357	  01D2    3E FF                         MVI     A,0FFH
  358	  01D4    CE 00                         ACI     0
  359	  01D6    C9                            RET
  360	  01D7    FFFF FFFF                     DW      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  361	  01DB    FFFF FFFF             
  362	  01DF    FFFF FFFF             
  363	  01E3    FFFF FFFF             
  364	  01E7    FFFF FFFF             
  365	  01EB    FFFF FFFF                     DW      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  366	  01EF    FFFF FFFF             
  367	  01F3    FFFF FFFF             
  368	  01F7    FFFF FFFF             
  369	  01FB    FFFF FFFF             
  370	  01FF    FFFF FFFF                     DW      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  371	  0203    FFFF FFFF             
  372	  0207    FFFF FFFF             
  373	  020B    FFFF FFFF             
  374	  020F    FFFF FFFF             
  375	  0213    FF FF FF FF                   DB      -1,-1,-1,-1,-1
  376	  0217    FF                    
  377	                                ;
  378	                                        ELSE
  379	                                        PUSH    B
  380	                                        PUSH    D
  381	                                        PUSH    H
  382	                                        MVI     C,6
  383	                                        MVI     E,0FFH
  384	                                        CALL    5
  385	                                        CPI     CTRLW
  386	                                        CZ      RESTA   ; BREAK
  387	                                        ORA     A
  388	                                        POP     H
  389	                                        POP     D
  390	                                        POP     B
  391	                                        RET
  392	                                ;
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-7


  393	                                        ENDIF
  394	                                
  395	  0218    C5                    BEEP:   PUSH    B
  396	  0219    0E 28                         MVI     C,40
  397	  021B    CD 0224                       CALL    CLICK
  398	  021E    0D                            DCR     C
  399	  021F    C2 021B                       JNZ     $-4
  400	  0222    C1                            POP     B
  401	  0223    C9                            RET
  402	                                
  403	  0224    26 24                 CLICK:  MVI     H,24H   ; PORT0
  404	  0226    36 00                         MVI     M,0     ; REPRO ON
  405	  0228    05                    CLCK1:  DCR     B
  406	  0229    C2 0228                       JNZ     CLCK1
  407	  022C    36 02                         MVI     M,2     ; REPRO OFF
  408	  022E    05                    CLCK2:  DCR     B
  409	  022F    C2 022E                       JNZ     CLCK2
  410	  0232    C9                            RET
  411	                                
  412	                                
  413	                                ; PROHLEDAVANI KLAVESNICE ANK-1
  414	                                ;===============================
  415	                                ; KONSTANTNI DOBA PROHLEDAVANI 0.816 MS/488NS.
  416	                                ; PLATNA POSLEDNI NALEZENA KLAVESA.
  417	                                ; B...CITAC DO 8, C... LINEARNI KOD
  418	                                ; D...SHIFT FLAG, SOUCASNE MASKA LED.
  419	                                ; E...CITAC LINEARNIHO KODU KLAVES:
  420	                                ;     A-Q-1-LF-CR-P-0 Z-S-W-SP-L-O-9..
  421	                                ; H...UKAZATEL NA PORT0 JPR-1
  422	                                ; L...VYBER MATICE VODOROVNE
  423	                                
  424	                                ; PO PROVEDENI KOD V 'A', 'C' REGISTRU.
  425	                                ; PRIZNAK 'SHIFT' V 'D' REGISTRU.
  426	                                ; FLAG 'SIGN' SIGNALIZUJE STISKNUTI-
  427	                                ;  PLUS...ANO, MINUS...NE
  428	                                
  429	  0233    E5                    KEYIN:  PUSH    H       ; V2.2  20.1.85
  430	  0234    11 1FFF                       LXI     D,1FFFH ; MASKA&CITAC
  431	  0237    0E 00                         MVI     C,0
  432	  0239    26 24                         MVI     H,24H   ; PORT0
  433	  023B    3E EF                         MVI     A,11101111B
  434	  023D    6F                    NXLIN:  MOV     L,A
  435	  023E    A2                            ANA     D
  436	  023F    77                            MOV     M,A
  437	  0240    06 08                         MVI     B,8     ; CITAC BITU
  438	  0242    7E                            MOV     A,M
  439	  0243    0F                    KEY:    RRC
  440	  0244    1C                            INR     E       ; NACTI KOD
  441	  0245    DA 024E                       JC      NXKEY   ; SKOC, KDYZ NIC
  442	  0248    4B                            MOV     C,E     ; KOD KLAVESY
  443	  0249    C2 024E                       JNZ     NXKEY   ; SHIFT ?
  444	  024C    16 3F                         MVI     D,3FH   ; ANO NASTAV MASKU
  445	  024E    05                    NXKEY:  DCR     B
  446	  024F    C2 0243                       JNZ     KEY
  447	  0252    7D                            MOV     A,L
  448	  0253    0F                            RRC
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-8


  449	  0254    DA 023D                       JC      NXLIN
  450	  0257    0D                            DCR     C       ; NASTAV 'SIGN'
  451	  0258    E1                            POP     H
  452	  0259    F8                            RM              ; STISKNUTA?
  453	  025A    7A                            MOV     A,D     ; SHIFT?
  454	  025B    E6 20                         ANI     20H
  455	  025D    79                            MOV     A,C
  456	  025E    C8                            RZ              ; NE,NAVRAT
  457	  025F    83                            ADD     E       ; ANO, +39
  458	  0260    4F                            MOV     C,A
  459	  0261    C9                            RET
  460	                                
  461	                                        ENDIF
  462	                                ;
  463	                                ;
  464	                                ;
  465	  0262    CD 0313                       CALL    RESTA   ;^W
  466	  0265    CD 0294               KBR:    CALL    KBRD
  467	  0268    FE 17                         CPI     CTRLW
  468	  026A    CA 0262                       JZ      KBR-3   ; SIMUL. INTERRUPT
  469	  026D    FE 11                         CPI     CTRLQ
  470	  026F    C0                            RNZ
  471	                                
  472	  0270    C5                            PUSH    B       ;WINDOW
  473	  0271    D5                            PUSH    D
  474	  0272    E5                            PUSH    H
  475	  0273    06 00                         MVI     B,0
  476	  0275    CD 07A0                       CALL    UCMD    ;CLEAR
  477	  0278    CD 0294                       CALL    KBRD    ;NUMBER OF RESEVED LINES
  478	  027B    E6 0F                         ANI     0FH     ;MAX 15
  479	  027D    32 40EA                       STA     RESL
  480	  0280    06 80                         MVI     B,80H   ;SET NEW LINE
  481	  0282    CD 07A0                       CALL    UCMD
  482	  0285    E1                            POP     H
  483	  0286    D1                            POP     D
  484	  0287    C1                            POP     B
  485	  0288    C3 0265                       JMP     KBR     ;NEW CHAR.
  486	                                ;
  487	  028B    79                    CICO:   MOV     A,C     ; DIRECT CRT/KBRD
  488	  028C    3C                            INR     A
  489	  028D    C2 06A4                       JNZ     CRT     ; ONLY OUTPUT
  490	  0290    CD 01CE                       CALL    KBSTS
  491	  0293    C8                            RZ
  492	                                
  493	  0294    E5                    KBRD:   PUSH    H
  494	                                ;
  495	                                        IF      CPM
  496	                                KBR1    MVI     E,0FFH
  497	                                        MVI     C,6
  498	                                        CALL    5
  499	                                        ANI     7FH
  500	                                        JNZ     KBR1    ;WAIT
  501	                                        ELSE
  502	  0295    26 27                         MVI     H,27H
  503	  0297    36 02                         MVI     M,2     ; AC/=0  ZVUK/=1
  504	  0299    7E                    KBRD1:  MOV     A,M     ; SC/ = 00
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-9


  505	  029A    0F                            RRC
  506	  029B    DA 0299                       JC      KBRD1
  507	  029E    24                            INR     H
  508	  029F    7E                            MOV     A,M     ; KOD ZNAKU
  509	  02A0    2F                            CMA
  510	  02A1    E6 7F                         ANI     7FH
  511	  02A3    6F                            MOV     L,A
  512	  02A4    25                            DCR     H
  513	  02A5    36 03                         MVI     M,3     ; AC/=1
  514	  02A7    7E                    KBRD2:  MOV     A,M
  515	  02A8    0F                            RRC
  516	  02A9    D2 02A7                       JNC     KBRD2
  517	  02AC    36 02                         MVI     M,2     ; AC/=0
  518	  02AE    3A 40E3                       LDA     MODE
  519	  02B1    E6 04                         ANI     4       ; LOWER OPTION?
  520	  02B3    7D                            MOV     A,L
  521	  02B4    E1                            POP     H
  522	  02B5    C2 02DB                       JNZ     CNTRP   ; IF LOWER
  523	  02B8    FE 61                         CPI     61H     ; <'a'
  524	  02BA    DA 02DB                       JC      CNTRP
  525	  02BD    FE 7B                         CPI     7BH     ; >'z'
  526	  02BF    D2 02DB                       JNC     CNTRP
  527	  02C2    D6 20                         SUI     20H     ; LOWER=>UPPER
  528	  02C4    C3 02DB                       JMP     CNTRP
  529	  02C7    FFFF FFFF                     DW      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  530	  02CB    FFFF FFFF             
  531	  02CF    FFFF FFFF             
  532	  02D3    FFFF FFFF             
  533	  02D7    FFFF FFFF             
  534	                                
  535	                                        ENDIF
  536	                                ;
  537	  02DB    FE 10                 CNTRP:  CPI     CTRLP   ;^P
  538	  02DD    C0                            RNZ
  539	  02DE    3A 40E3                       LDA     MODE
  540	  02E1    EE 01                         XRI     1
  541	  02E3    32 40E3                       STA     MODE    ; LPR ON/OFF
  542	  02E6    C3 0294                       JMP     KBRD
  543	                                ;
  544	                                ;
  545	  02E9    E5                    RI:     PUSH    H
  546	  02EA    21 00E3                       LXI     H,RITB
  547	  02ED    3A 40ED                       LDA     IOBYT
  548	  02F0    0F                    RICOM:  RRC
  549	  02F1    0F                            RRC
  550	  02F2    C3 05EB                       JMP     IOCOM
  551	                                ;
  552	  02F5    E5                    PO:     PUSH    H
  553	  02F6    21 00EB                       LXI     H,POTB
  554	  02F9    3A 40ED                       LDA     IOBYT
  555	  02FC    0F                            RRC
  556	  02FD    0F                            RRC
  557	  02FE    C3 02F0                       JMP     RICOM
  558	                                ;
  559	  0301    E5                    LO:     PUSH    H
  560	  0302    21 00DB                       LXI     H,LOTB
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-10


  561	  0305    3A 40ED                       LDA     IOBYT
  562	  0308    07                            RLC
  563	  0309    07                            RLC
  564	  030A    C3 05EB                       JMP     IOCOM
  565	                                ;----------------------------
  566	                                ;
  567	  030D    CD 07B9               COLO:   CALL    LPR
  568	  0310    C3 06A4                       JMP     CRT
  569	                                ;----------------------------
  570	                                ;
  571	                                ;
  572	                                ; RUN AND BREAK MODUL:
  573	                                ;
  574	  0313    F3                    RESTA:  DI              ;SAVE ALL
  575	  0314    22 4098                       SHLD    HLSAV
  576	  0317    F5                            PUSH    PSW
  577	  0318    21 0002                       LXI     H,2     ;OFSSET
  578	  031B    39                            DAD     SP
  579	  031C    22 409C                       SHLD    SPSAV
  580	  031F    F1                            POP     PSW
  581	  0320    E1                            POP     H       ;PC
  582	  0321    31 4098                       LXI     SP,HLSAV
  583	  0324    D5                            PUSH    D
  584	  0325    C5                            PUSH    B
  585	  0326    F5                            PUSH    PSW
  586	  0327    EB                            XCHG
  587	  0328    1B                            DCX     D       ; PC-1
  588	  0329    21 409E                       LXI     H,BRAD  ;BREAK ?
  589	  032C    0E 02                         MVI     C,2     ; TWO BREAKS
  590	  032E    C5                    RST10:  PUSH    B       ;COUNTER
  591	  032F    4E                            MOV     C,M
  592	  0330    36 00                         MVI     M,0
  593	  0332    23                            INX     H
  594	  0333    46                            MOV     B,M
  595	  0334    36 00                         MVI     M,0
  596	  0336    23                            INX     H
  597	  0337    79                            MOV     A,C
  598	  0338    B0                            ORA     B       ;0 ?
  599	  0339    CA 034A                       JZ      RST20   ;NO BREAK
  600	  033C    7E                            MOV     A,M     ;RESTORE INSTR
  601	  033D    02                            STAX    B
  602	  033E    23                            INX     H
  603	  033F    E5                            PUSH    H
  604	  0340    60                            MOV     H,B
  605	  0341    69                            MOV     L,C     ;BREAK/INTR ?
  606	  0342    CD 0629                       CALL    COMPR
  607	  0345    E1                            POP     H
  608	  0346    C2 034A                       JNZ     RST20
  609	  0349    1B                            DCX     D       ;PC-1
  610	  034A    C1                    RST20:  POP     B
  611	  034B    0D                            DCR     C
  612	  034C    C2 032E                       JNZ     RST10
  613	  034F    EB                            XCHG
  614	  0350    23                            INX     H       ;RESTORE PC
  615	  0351    22 409A                       SHLD    PCSAV
  616	  0354    37                            STC
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-11


  617	  0355    CD 03AB                       CALL    X+3     ;DISPLAY ALL REGISTERS
  618	  0358    C3 0526                       JMP     NEXT    ;WAIT FOR COMMAND
  619	                                ;
  620	                                ; GO TO COMMAND
  621	                                ;
  622	  035B    CD 0013               GOTO:   CALL    EQUAL
  623	  035E    CD 067B                       CALL    CINCR   ;COMMAND
  624	  0361    DA 0392                       JC      GO@     ;IF CR THEN GOTO FROM OLD PC
  625	  0364    CA 0374                       JZ      GO@BR   ; OLD PC AND BREAK
  626	  0367    CD 05F0                       CALL    EXPRM   ;START ADR
  627	  036A    E1                            POP     H
  628	  036B    22 409A                       SHLD    PCSAV   ;SET NEW
  629	  036E    78                            MOV     A,B     ;ONLY START ADR ?
  630	  036F    FE 0D                         CPI     CR
  631	  0371    CA 0392                       JZ      GO@
  632	  0374    CD 062F               GO@BR:  CALL    RADR    ;READ BREAK ADR
  633	  0377    22 409E                       SHLD    BRAD
  634	  037A    7E                            MOV     A,M     ;SAVE INSTR. CODE
  635	  037B    32 40A0                       STA     INSTR
  636	  037E    36 CF                         MVI     M,RSTN  ;SET RST
  637	  0380    3E 0D                         MVI     A,CR
  638	  0382    B8                            CMP     B       ;ONLY 1-BREAK ?
  639	  0383    CA 0392                       JZ      GO@
  640	                                ; SECOND BREAK
  641	  0386    CD 062F                       CALL    RADR
  642	  0389    22 40A1                       SHLD    BRAD2
  643	  038C    7E                            MOV     A,M
  644	  038D    32 40A3                       STA     INST2
  645	  0390    36 CF                         MVI     M,RSTN
  646	                                ; START PROGRAM
  647	  0392    CD 05DD               GO@:    CALL    CRLF
  648	  0395    F3                            DI
  649	  0396    31 4092                       LXI     SP,ACSAV        ;REASTORE REGISTERS
  650	  0399    F1                            POP     PSW
  651	  039A    C1                            POP     B
  652	  039B    D1                            POP     D
  653	  039C    2A 409C                       LHLD    SPSAV   ;STACK
  654	  039F    F9                            SPHL
  655	  03A0    2A 409A                       LHLD    PCSAV   ; PC
  656	  03A3    E3                            XTHL
  657	  03A4    2A 4098                       LHLD    HLSAV
  658	  03A7    C9                            RET             ;CONTINUE...
  659	                                ;
  660	                                ; EXAMINE REGISTRS
  661	                                ;
  662	  03A8    CD 067B               X:      CALL    CINCR   ;COMMAND
  663	  03AB    21 0419                       LXI     H,RGNAM ;NAME TABLE
  664	  03AE    16 40                         MVI     D,HIGH ACSAV    ;DATA
  665	  03B0    D2 03BE                       JNC     X1      ;CHANGE
  666	  03B3    CD 05DD                       CALL    CRLF
  667	  03B6    CD 03F6               X0:     CALL    XDISP
  668	  03B9    C8                            RZ              ;END
  669	  03BA    23                            INX     H
  670	  03BB    C3 03B6                       JMP     X0
  671	  03BE    CA 03D5               X1:     JZ      X2      ;NO CHANGE
  672	  03C1    5F                            MOV     E,A     ;SAVE NAME
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-12


  673	  03C2    01                            DB      1       ; LXI B,##
  674	  03C3    23                    X10:    INX     H
  675	  03C4    23                            INX     H
  676	  03C5    7E                            MOV     A,M     ; READ NAME REG.
  677	  03C6    E6 7F                         ANI     7FH
  678	  03C8    CA 0162                       JZ      ERROR   ; NO FIND
  679	  03CB    BB                            CMP     E
  680	  03CC    C2 03C3                       JNZ     X10     ; NEXT
  681	  03CF    CD 0400                       CALL    XDIS1   ; DISPLAY IT
  682	  03D2    C3 03D8                       JMP     X2+3
  683	                                ;
  684	  03D5    CD 03F9               X2:     CALL    XDISP+3
  685	  03D8    C8                            RZ
  686	  03D9    CD 0678                       CALL    CIMIN   ;- COMMAND
  687	  03DC    D8                            RC              ;CR - END
  688	  03DD    5E                            MOV     E,M     ;LOW ADR
  689	  03DE    23                            INX     H
  690	  03DF    CA 03D5                       JZ      X2      ;SP - NEXT
  691	  03E2    EB                            XCHG
  692	  03E3    D5                            PUSH    D
  693	  03E4    CD 0636                       CALL    RBYT    ; READ NEW BYTE AND CHANGE
  694	  03E7    05                            DCR     B
  695	  03E8    CA 03EE                       JZ      $+6
  696	  03EB    72                            MOV     M,D     ; HIGH BYTE
  697	                                
  698	  03EC    2B                            DCX     H
  699	  03ED    73                            MOV     M,E     ;LOW
  700	  03EE    D1                            POP     D
  701	  03EF    EB                            XCHG
  702	  03F0    FE 0D                         CPI     CR      ;LAST?
  703	  03F2    C8                            RZ              ;+
  704	  03F3    C3 03D5                       JMP     X2      ;NEXT
  705	                                ;
  706	  03F6    CD 0697               XDISP:  CALL    SPACE
  707	  03F9    7E                            MOV     A,M
  708	  03FA    E6 7F                         ANI     7FH
  709	  03FC    C8                            RZ
  710	  03FD    CD 04B8                       CALL    COA
  711	  0400    CD 0013               XDIS1:  CALL    EQUAL   ;NAME=
  712	  0403    7E                            MOV     A,M
  713	  0404    07                            RLC
  714	  0405    3E 01                         MVI     A,1
  715	  0407    CE 00                         ACI     0       ; COMPUTE LENGHT
  716	  0409    47                            MOV     B,A     ; SAVE
  717	  040A    23                            INX     H
  718	  040B    5E                            MOV     E,M     ; LOW ADR
  719	  040C    1A                            LDAX    D       ;HIG BYTE
  720	  040D    CD 0651                       CALL    DBYT
  721	  0410    78                            MOV     A,B     ;SINGLE REG. ?
  722	  0411    3D                            DCR     A
  723	  0412    1B                            DCX     D
  724	  0413    1A                            LDAX    D       ;READ SECOND BYTE
  725	  0414    C4 0651                       CNZ     DBYT    ;IF 2.BYTE REG. THEN DISP.
  726	  0417    B3                            ORA     E       ;NZY (IN PAGE)
  727	  0418    C9                            RET
  728	                                ;
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-13


  729	                                ; X: COMMAND TABLE
  730	  0419    41 93                 RGNAM:  DB      'A',LOW ACSAV+1
  731	  041B    46 92                         DB      'F',LOW ACSAV
  732	  041D    42 95                         DB      'B',LOW BCSAV+1
  733	  041F    43 94                         DB      'C',LOW BCSAV
  734	  0421    44 97                         DB      'D',LOW DESAV+1
  735	  0423    45 96                         DB      'E',LOW DESAV
  736	  0425    48 99                         DB      'H',LOW HLSAV+1
  737	  0427    4C 98                         DB      'L',LOW HLSAV
  738	  0429    D0 9B                         DB      'P' OR 80H,LOW PCSAV+1
  739	  042B    D3 9D                         DB      'S' OR 80H,LOW SPSAV+1
  740	  042D    00                            DB      0
  741	                                ;
  742	                                ; DISPLAY CONTENS OF MEMORY
  743	                                ;
  744	  042E    CD 05B1               DISP:   CALL    EXPR    ; FROM -TO
  745	  0431    D1                            POP     D
  746	  0432    E1                            POP     H
  747	  0433    E5                    DI0:    PUSH    H       ;FIRST ADR
  748	  0434    CD 0643                       CALL    DNADR   ;NEW ADR
  749	  0437    7E                    DI1:    MOV     A,M
  750	  0438    CD 0694                       CALL    DBYTE
  751	  043B    CD 0624                       CALL    HILO
  752	  043E    DA 0447                       JC      DIA     ;DISPLAY  ASCII
  753	  0441    7D                            MOV     A,L
  754	  0442    E6 07                         ANI     7
  755	  0444    C2 0437                       JNZ     DI1     ;NEXT BYTE
  756	  0447    E1                    DIA:    POP     H
  757	  0448    CD 0697                       CALL    SPACE
  758	  044B    7E                    DI2:    MOV     A,M
  759	  044C    0E 2E                         MVI     C,'.'   ;NO ASCII
  760	  044E    FE 20                         CPI     ' '
  761	  0450    D2 0454                       JNC     $+4
  762	  0453    79                            MOV     A,C
  763	  0454    FE 60                         CPI     60H
  764	  0456    DA 045B                       JC      $+5
  765	  0459    D6 20                         SUI     ' '
  766	  045B    CD 04B8                       CALL    COA
  767	  045E    CD 0624                       CALL    HILO
  768	  0461    D8                            RC
  769	  0462    7D                            MOV     A,L
  770	  0463    E6 07                         ANI     7
  771	  0465    C2 044B                       JNZ     DI2     ;NEXT ASCII
  772	  0468    CD 01C6                       CALL    CSTS
  773	  046B    CA 0433                       JZ      DI0     ;NEXT LINE
  774	  046E    CD 0678                       CALL    CIMIN   ;#VERS."F" -
  775	  0471    D8                            RC              ;#IF SPC WAIT
  776	  0472    C0                            RNZ             ;#ELSE BREAK.
  777	  0473    CD 067B                       CALL    CINCR   ;#CR?
  778	  0476    D2 0433                       JNC     DI0     ;#BREAK,IF CR
  779	  0479    C9                            RET
  780	                                ;
  781	                                ; FILL MEMORY BLOCK WITH BYTE
  782	                                ;
  783	  047A    0C                    FILL:   INR     C
  784	  047B    CD 05B1                       CALL    EXPR    ;FROM-TO-WITH
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-14


  785	  047E    C1                            POP     B
  786	  047F    D1                            POP     D
  787	  0480    E1                            POP     H
  788	  0481    71                    FI1:    MOV     M,C
  789	  0482    CD 0624                       CALL    HILO
  790	  0485    D2 0481                       JNC     FI1
  791	  0488    C9                            RET
  792	                                ;
  793	                                ; MOVE BLOCK MEMORY
  794	                                ;
  795	  0489    0C                    MOVE:   INR     C
  796	  048A    CD 05B1                       CALL    EXPR
  797	  048D    C1                            POP     B
  798	  048E    D1                            POP     D
  799	  048F    E1                            POP     H
  800	  0490    7E                    MO1:    MOV     A,M
  801	  0491    02                            STAX    B
  802	  0492    03                            INX     B
  803	  0493    CD 0624                       CALL    HILO
  804	  0496    D2 0490                       JNC     MO1
  805	  0499    C9                            RET
  806	                                ;
  807	                                ; SUBSTITUTE MEMORY
  808	                                ;
  809	  049A    CD 062F               SUBS:   CALL    RADR    ;ADR
  810	  049D    7E                    SU1:    MOV     A,M
  811	  049E    CD 0651                       CALL    DBYT
  812	  04A1    CD 0678                       CALL    CIMIN   ;- & CINCR
  813	  04A4    D8                            RC              ;CR
  814	  04A5    CA 04AC                       JZ      SU2
  815	  04A8    CD 0636                       CALL    RBYT    ;CHANGE
  816	  04AB    C8                            RZ              ;END
  817	  04AC    23                    SU2:    INX     H       ;NEXT BYTE
  818	  04AD    FE 2C                         CPI     ','     ;IF , THEN DISPLAY ADR
  819	  04AF    CC 0643                       CZ      DNADR
  820	  04B2    C3 049D                       JMP     SU1
  821	                                ;
  822	                                ; CONSOLE MODUL
  823	                                ;
  824	                                ;
  825	  04B5    CD 005E               ECHO:   CALL    CI
  826	  04B8    C5                    COA:    PUSH    B
  827	  04B9    4F                            MOV     C,A
  828	  04BA    CD 05E4                       CALL    CO
  829	  04BD    C1                            POP     B
  830	  04BE    C9                            RET
  831	                                ;
  832	                                        IF      SP1A
  833	                                MINUS:  MVI     A,'-'
  834	                                        JMP     COA
  835	                                ;
  836	                                EQUAL:  MVI     A,'='
  837	                                        JMP     COA
  838	                                ;
  839	                                QUES:   MVI     A,'?'
  840	                                        JMP     COA
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-15


  841	                                ;
  842	                                        ENDIF
  843	                                ;
  844	                                ;SET MODE. I/O FLAGS
  845	                                ;
  846	  04BF    47                    EXFLG:  MOV     B,A
  847	  04C0    79                            MOV     A,C
  848	  04C1    FE 0A                         CPI     EXSER   ; OVERFLOW ?
  849	  04C3    78                            MOV     A,B
  850	  04C4    D0                            RNC
  851	  04C5    E5                            PUSH    H       ; <A> .. COMMAND
  852	                                                        ; <C> .. 0-N SLUZBA
  853	  04C6    06 00                         MVI     B,0     ; 0-MODE, 1-@IF1..4@OF2
  854	  04C8    21 40E3                       LXI     H,MODE  ; 0=0
  855	  04CB    09                            DAD     B       ; 5- RESERVE_LINE, 6-S@FLG
  856	  04CC    77                            MOV     M,A
  857	  04CD    E1                            POP     H
  858	  04CE    C9                            RET
  859	                                
  860	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  861	                                ; ****   S T A R T    M O N I T O R U   ****
  862	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  863	                                ;
  864	  04CF    D3 13                 COLD:   OUT     URES    ; RESET
  865	  04D1    AF                            XRA     A       ;MONITORU
  866	  04D2    D3 10                         OUT     UMODE
  867	  04D4    3E 0D                         MVI     A,0DH
  868	  04D6    D3 11                         OUT     MMODE
  869	  04D8    00                            NOP             ; RESERVA
  870	  04D9    00                            NOP
  871	  04DA    00                            NOP
  872	  04DB    00                            NOP
  873	                                ;
  874	                                ;-------------------------------------
  875	  04DC    F3                    BEG:    DI              ; COMMAND "C"
  876	  04DD    21 4090                       LXI     H,MSTAK ; SET STACK POINTER
  877	  04E0    F9                            SPHL
  878	  04E1    11 40FF                       LXI     D,@R@+255
  879	  04E4    0E 00                         MVI     C,0
  880	  04E6    CD 0481                       CALL    FI1     ;CLEAR M-RAM
  881	  04E9    3E 55                         MVI     A,BEGIO ;SET IOBYTE
  882	  04EB    32 40ED                       STA     IOBYT
  883	  04EE    CD 069C                       CALL    COINIT  ;TV
  884	  04F1    CD 059A                       CALL    EP2?    ;M-PLUS ?
  885	  04F4    CC 0803                       CZ      EP2+3   ;INIT M-PLUS
  886	  04F7    21 4000                       LXI     H,RAM
  887	  04FA    24                    MEM1:   INR     H       ; NEXT PAGE
  888	  04FB    7C                            MOV     A,H
  889	                                        IF      HIGH ERAM NE 0FFH
  890	                                        CPI     HIGH ERAM+1
  891	                                        ELSE
  892	  04FC    FE 00                         CPI     0
  893	                                        ENDIF
  894	  04FE    CA 050A                       JZ      MEM2
  895	  0501    7E                            MOV     A,M
  896	  0502    2F                            CMA
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-16


  897	  0503    77                            MOV     M,A     ; WRITE COMPLEMENT
  898	  0504    BE                            CMP     M       ; WRITE O.K. ?
  899	  0505    2F                            CMA
  900	  0506    77                            MOV     M,A     ; RAM RESTORE
  901	  0507    CA 04FA                       JZ      MEM1
  902	  050A    2B                    MEM2:   DCX     H       ; LAST BYTE IN RAM
  903	  050B    22 40EE                       SHLD    MEMTOP  ; SAVE ADDRES
  904	  050E    3E 17                         MVI     A,17H   ; LIN. KOD 'C'
  905	  0510    32 40A4                       STA     LASTC   ; LAST CODE
  906	  0513    3E FF                         MVI     A,0FFH
  907	  0515    32 40A8                       STA     FLAG    ; ZAKAZ CSTS
  908	  0518    21 4070                       LXI     H,MSTAK-20H
  909	  051B    22 409C                       SHLD    SPSAV
  910	                                
  911	                                ; OHLASENI MONITORU
  912	                                
  913	  051E    21 00F3               INIC:   LXI     H,VERS  ; TEXT OHLASENI
  914	  0521    16 0D                         MVI     D,LVER ; DELKA TEXTU
  915	  0523    CD 068A                       CALL    TEXT    ; TEXT OHLASENI
  916	                                ;------------------------------------
  917	                                ;  *  VYHODNOCENI POVELU OPERATORA  *
  918	                                ;------------------------------------
  919	                                
  920	  0526    31 4090               NEXT:   LXI     SP,MSTAK        ; SET STACK FOR MONITOR
  921	  0529    21 0526                       LXI     H,NEXT
  922	  052C    E5                            PUSH    H       ;RET. ADR
  923	                                        IF      NOT CPM
  924	  052D    26 30                         MVI     H,30H   ;INTERRUPT ENABLE
  925	  052F    36 02                         MVI     M,2
  926	                                        ENDIF
  927	  0531    CD 05DD                       CALL    CRLF
  928	  0534    3E C3                         MVI     A,0C3H  ; JMP
  929	  0536    32 4000                       STA     @R@     ; SET INTERUPT ADR "08CH"
  930	  0539    21 0313                       LXI     H,RESTA
  931	  053C    22 4001                       SHLD    @R@+1
  932	  053F    0E 2E                         MVI     C,'.'
  933	  0541    CD 05E4                       CALL    CO
  934	  0544    CD 067B                       CALL    CINCR   ; POVEL
  935	  0547    6F                    XY:     MOV     L,A     ; L-COMMAND
  936	  0548    E5                            PUSH    H       ; SAVE
  937	  0549    D6 41                         SUI     'A'
  938	  054B    FA 0526                       JM      NEXT    ; ASCII < "A"
  939	  054E    21 0561                       LXI     H,CTBL  ; ZACATEK COMMAND TABLE
  940	  0551    01 1802                       LXI     B,(LCT SHL 8) OR 2
  941	  0554    B8                    INJM@:  CMP     B
  942	  0555    D2 0162                       JNC     ERROR   ;OVERFLOW
  943	  0558    87                    INJMP:  ADD     A       ;2*
  944	  0559    85                            ADD     L
  945	  055A    6F                            MOV     L,A
  946	  055B    7E                            MOV     A,M
  947	  055C    23                            INX     H
  948	  055D    66                            MOV     H,M
  949	  055E    6F                            MOV     L,A
  950	  055F    E3                            XTHL            ;SET HL
  951	  0560    C9                            RET             ;START
  952	                                
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-17


  953	                                ;----------------------------------
  954	                                ;   *  TABULKA POVELU MOVITORU  *
  955	                                ;----------------------------------
  956	                                
  957	                                ;
  958	  0561    014E                  CTBL:   DW      ASIGN   ; ASSING I/O RUTINE
  959	  0563    0591                          DW      EXROM   ;B
  960	  0565    04DC                          DW      BEG     ; CLEAR
  961	  0567    042E                          DW      DISP    ; DISPLAY MEMORY
  962	  0569    0591                          DW      EXROM   ; END OF FILE
  963	  056B    047A                          DW      FILL    ; FILL MEMORY
  964	  056D    035B                          DW      GOTO    ; GOTO WITH BREAK
  965	  056F    0591                          DW      EXROM
  966	  0571    0591                          DW      EXROM   ;I
  967	  0573    0591                          DW      EXROM   ;J
  968	  0575    0591                          DW      EXROM   ;K
  969	  0577    0591                          DW      EXROM   ;L
  970	  0579    0489                          DW      MOVE    ; MOVE MEM.
  971	  057B    0591                          DW      EXROM   ; N - BLANK
  972	  057D    0591                          DW      EXROM   ;O
  973	  057F    0591                          DW      EXROM   ;P
  974	  0581    0192                          DW      QUERY   ; Q - MEMTOP & IOBYTE
  975	  0583    0591                          DW      EXROM   ; READ TAPE
  976	  0585    049A                          DW      SUBS    ; SUBSTITUTE
  977	  0587    0591                          DW      EXROM
  978	  0589    0591                          DW      EXROM   ;U
  979	  058B    0591                          DW      EXROM
  980	  058D    0591                          DW      EXROM   ;WRITE TO TAPE
  981	  058F    03A8                          DW      X       ;X - EXAMINE
  982	  0018                          LCT     EQU     ($-CTBL)/2
  983	                                
  984	                                
  985	                                ;
  986	                                ; EXTEND ROM WITH MONIT-PLUS ?
  987	                                ;
  988	  0591    CD 059A               EXROM:  CALL    EP2?
  989	  0594    C2 0162                       JNZ     ERROR   ;NO, ERROR
  990	  0597    C3 0806                       JMP     EP2 + 6 ;YES, EXECUTE COMMAND
  991	                                ;
  992	  059A    3A 0800               EP2?:   LDA     EP2
  993	  059D    FE C3                         CPI     0C3H    ;JMP?
  994	  059F    C9                            RET
  995	                                ;
  996	                                ;
  997	                                
  998	                                ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  999	                                ;  *  EXTERNAL RUTINES FOR MONITOR  *
 1000	                                ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 1001	                                
 1002	                                
 1003	                                
 1004	                                ; HIGH NIBBLE
 1005	  05A0    0F                    HBYTE:  RRC
 1006	  05A1    0F                            RRC
 1007	  05A2    0F                            RRC
 1008	  05A3    0F                            RRC
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-18


 1009	  05A4    E6 0F                 LBYTE:  ANI     0FH
 1010	                                ; PREVOD HEXADECIMALNI CIFRY NA ASCII V "C" REG
 1011	                                
 1012	  05A6    C6 90                 HXASC:  ADI     90H
 1013	  05A8    27                            DAA
 1014	  05A9    CE 40                         ACI     40H
 1015	  05AB    27                            DAA
 1016	  05AC    4F                            MOV     C,A
 1017	  05AD    C9                            RET
 1018	                                
 1019	                                ; SKLADANI ADRES (VSTUP PARAMETRU) DO STACKU, POCET V C-REG
 1020	                                
 1021	  05AE    DA 0162               EXPRO:  JC      ERROR   ;# VERS."C" #
 1022	  05B1    CD 0013               EXPR:   CALL    EQUAL   ; TISK =
 1023	  05B4    21 0000                       LXI     H,0
 1024	  05B7    CD 04B5               EX0:    CALL    ECHO
 1025	  05BA    47                    EX1:    MOV     B,A
 1026	  05BB    FE 27                         CPI     27H     ;'
 1027	  05BD    CA 05F8                       JZ      EX4
 1028	  05C0    CD 0667                       CALL    ASHEX   ; HEX CIFRA ?
 1029	  05C3    DA 05CF                       JC      EX3     ; POSUV "HL" O 4 BITY VLEVO
 1030	  05C6    29                            DAD     H
 1031	  05C7    29                            DAD     H
 1032	  05C8    29                            DAD     H
 1033	  05C9    29                            DAD     H
 1034	  05CA    B5                            ORA     L
 1035	  05CB    6F                            MOV     L,A
 1036	  05CC    C3 05B7                       JMP     EX0     ; DALSI ZNAK
 1037	                                
 1038	  05CF    78                    EX3:    MOV     A,B
 1039	  05D0    CD 067E                       CALL    ANAL
 1040	  05D3    C2 0162                       JNZ     ERROR   ; NENI HEX CIFRA
 1041	  05D6    E3                            XTHL
 1042	  05D7    E5                            PUSH    H
 1043	  05D8    0D                            DCR     C       ; CARKA, MEZERA
 1044	  05D9    C2 05AE                       JNZ     EXPRO   ; DALSI ADRESY
 1045	  05DC    D0                            RNC             ;#VERS."F"#
 1046	                                ;
 1047	  05DD    0E 0D                 CRLF:   MVI     C,CR
 1048	  05DF    CD 05E4                       CALL    CO
 1049	  05E2    0E 0A                         MVI     C,LF    ; DO CR,LF
 1050	                                ;
 1051	  05E4    E5                    CO:     PUSH    H
 1052	  05E5    21 00CB                       LXI     H,COTB
 1053	  05E8    3A 40ED                       LDA     IOBYT
 1054	  05EB    E6 03                 IOCOM:  ANI     3
 1055	  05ED    C3 0558                       JMP     INJMP
 1056	                                
 1057	                                
 1058	  05F0    0E 01                 EXPRM:  MVI     C,1
 1059	  05F2    21 0000                       LXI     H,0
 1060	  05F5    C3 05BA                       JMP     EX1
 1061	                                ;
 1062	  05F8    CD 067B               EX4:    CALL    CINCR   ;COMMAND
 1063	  05FB    47                            MOV     B,A     ;SAVE
 1064	  05FC    CA 05CF                       JZ      EX3
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-19


 1065	  05FF    65                            MOV     H,L
 1066	  0600    6F                            MOV     L,A
 1067	  0601    C3 05F8                       JMP     EX4
 1068	                                
 1069	                                ;  IODEF:... DEFINE USER I/O RUTINE
 1070	                                
 1071	  0604    C5                    IODEF:  PUSH    B
 1072	  0605    E5                            PUSH    H
 1073	  0606    21 40EE                       LXI     H,MEMTOP        ;NEW FUNCTION
 1074	  0609    79                            MOV     A,C     ; NUMBER
 1075	  060A    FE 08                         CPI     8
 1076	  060C    CA 061E                       JZ      IODEF1
 1077	  060F    F2 0162                       JP      ERROR
 1078	  0612    81                            ADD     C
 1079	  0613    81                            ADD     C
 1080	  0614    4F                            MOV     C,A
 1081	  0615    06 00                         MVI     B,0     ; OFFSET
 1082	  0617    21 40CB                       LXI     H,CILOC ; COMPUTE ADR
 1083	  061A    09                            DAD     B
 1084	  061B    36 C3                         MVI     M,0C3H  ; JMP
 1085	  061D    23                            INX     H
 1086	  061E    73                    IODEF1: MOV     M,E
 1087	  061F    23                            INX     H
 1088	  0620    72                            MOV     M,D     ; ADR
 1089	  0621    E1                            POP     H       ; UNSAVE
 1090	  0622    C1                            POP     B
 1091	  0623    C9                            RET
 1092	                                
 1093	                                
 1094	                                ; INKREMENTRUJE "HL" ,KONTROLUJE "HL"=0 NEBO
 1095	                                ;   "HL">"DE"...CARRY=1
 1096	                                
 1097	  0624    23                    HILO:   INX     H
 1098	  0625    7C                            MOV     A,H
 1099	  0626    B5                            ORA     L
 1100	  0627    37                            STC
 1101	  0628    C8                            RZ              ; NAVRAT PO "HL"=0000
 1102	  0629    7A                    COMPR:  MOV     A,D
 1103	  062A    BC                            CMP     H
 1104	  062B    C0                            RNZ
 1105	  062C    7B                            MOV     A,E
 1106	  062D    BD                            CMP     L
 1107	  062E    C9                            RET
 1108	                                
 1109	                                ; READ ADR
 1110	                                
 1111	  062F    0E 01                 RADR:   MVI     C,1
 1112	  0631    CD 05B1                       CALL    EXPR
 1113	  0634    E1                            POP     H
 1114	  0635    C9                            RET
 1115	                                
 1116	                                
 1117	                                ; READ NEW BYTE
 1118	                                
 1119	  0636    C5                    RBYT:   PUSH    B
 1120	  0637    E5                            PUSH    H
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-20


 1121	  0638    CD 05F0                       CALL    EXPRM
 1122	  063B    D1                            POP     D
 1123	  063C    E1                            POP     H
 1124	  063D    73                            MOV     M,E
 1125	  063E    78                            MOV     A,B
 1126	  063F    FE 0D                         CPI     CR
 1127	  0641    C1                            POP     B
 1128	  0642    C9                            RET
 1129	                                
 1130	                                
 1131	                                ; DISPLAY NEW ADR
 1132	                                
 1133	  0643    CD 05DD               DNADR:  CALL    CRLF
 1134	  0646    CD 064C               DADR:   CALL    DADR0
 1135	  0649    C3 0697                       JMP     SPACE
 1136	                                
 1137	                                
 1138	                                        IF      SP1A
 1139	                                ; CHEK I/O STATUS BYTE
 1140	                                
 1141	                                IOCHK:  LDA     IOBYT
 1142	                                        RET
 1143	                                
 1144	                                
 1145	                                ; SET I/O STATUS BYTE
 1146	                                
 1147	                                IOSET:  MOV     A,C
 1148	                                        STA     IOBYT
 1149	                                        RET
 1150	                                        ENDIF
 1151	                                
 1152	                                ; DISPLAY ADDRES INT0 "HL"
 1153	                                
 1154	  064C    7C                    DADR0:  MOV     A,H
 1155	  064D    CD 0651                       CALL    DBYT
 1156	  0650    7D                            MOV     A,L
 1157	                                
 1158	                                ; DISPLAY BYTE INT0 ACC
 1159	                                
 1160	  0651    F5                    DBYT:   PUSH    PSW
 1161	  0652    CD 05A0                       CALL    HBYTE
 1162	  0655    CD 05E4                       CALL    CO
 1163	  0658    F1                            POP     PSW
 1164	  0659    CD 05A4                       CALL    LBYTE
 1165	  065C    C3 05E4                       JMP     CO
 1166	                                
 1167	                                
 1168	                                ; CHEK SIZE RAM MEMORY
 1169	                                
 1170	  065F    E5                    MEMCK:  PUSH    H
 1171	  0660    2A 40EE                       LHLD    MEMTOP
 1172	  0663    7D                            MOV     A,L
 1173	  0664    44                            MOV     B,H
 1174	  0665    E1                            POP     H
 1175	  0666    C9                            RET
 1176	                                
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-21


 1177	                                ; PREVOD ZNAKU ASCII NA HEXADEC
 1178	                                
 1179	  0667    D6 30                 ASHEX:  SUI     '0'     ;#VERS."F"#
 1180	  0669    D8                            RC              ; <'0'
 1181	  066A    FE 17                         CPI     17H     ; >'F'
 1182	  066C    3F                            CMC
 1183	  066D    D8                            RC
 1184	  066E    FE 0A                         CPI     10      ; '0'..'9'
 1185	  0670    3F                            CMC
 1186	  0671    D0                            RNC
 1187	  0672    FE 11                         CPI     11H     ; 0AH..10H
 1188	  0674    D8                            RC
 1189	  0675    D6 07                         SUI     7       ; 'A'..'F'
 1190	  0677    C9                            RET
 1191	                                
 1192	                                
 1193	  0678    CD 000B               CIMIN:  CALL    MINUS   ;-
 1194	                                ;
 1195	  067B    CD 04B5               CINCR:  CALL    ECHO
 1196	  067E    FE 2C                 ANAL:   CPI     ','
 1197	  0680    C8                    ANAL0:  RZ
 1198	  0681    FE 20                         CPI     ' '
 1199	  0683    C8                            RZ
 1200	  0684    FE 0D                         CPI     CR
 1201	  0686    37                            STC
 1202	  0687    C8                            RZ
 1203	  0688    B7                            ORA     A
 1204	  0689    C9                            RET             ; PO CR CARRY=1
 1205	                                
 1206	                                ; VYPIS TEXTU - HL ADRESA, D DELKA
 1207	                                
 1208	  068A    4E                    TEXT:   MOV     C,M
 1209	  068B    23                            INX     H
 1210	  068C    CD 05E4                       CALL    CO
 1211	  068F    15                            DCR     D
 1212	  0690    C2 068A                       JNZ     TEXT
 1213	  0693    C9                            RET
 1214	                                
 1215	  0694    CD 0651               DBYTE:  CALL    DBYT
 1216	  0697    0E 20                 SPACE:  MVI     C,' '   ; DISPLAY MEZERY
 1217	  0699    C3 05E4                       JMP     CO
 1218	                                ;
 1219	                                ;
 1220	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1221	                                ;       I/O  DEVICE
 1222	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1223	                                ;
 1224	                                ; T.V. PARAM.
 1225	  0028                          WIDTH   EQU     40
 1226	  0018                          HEIGHT  EQU     24
 1227	  0040                          LINOF   EQU     64      ;OFFSET
 1228	  0018                          LREST   EQU     LINOF - WIDTH
 1229	  3DE7                          TVEND   EQU     TVBEG + 5E7H
 1230	  001F                          ERS     EQU     1FH             ;ERASE SCREEN
 1231	  001E                          EOL     EQU     1EH             ;ERASE END OF LINE
 1232	  0011                          CTRLQ   EQU     11H     ;^Q-RESERVE
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-22


 1233	  0010                          CTRLP   EQU     10H     ;^P-LIST
 1234	  00A0                          CURSOR  EQU     0A0H            ;CODE
 1235	  001D                          HOME    EQU     1DH             ;HOME
 1236	                                ;
 1237	                                ;-------------------------------------------------
 1238	                                
 1239	  069C    21 3800               COINIT: LXI     H,TVBEG
 1240	  069F    22 40A5                       SHLD    CADR            ;SET CURSOR ADR
 1241	  06A2    0E 1F                         MVI     C,ERS           ;CLEAR SCREEN
 1242	                                ;
 1243	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%
 1244	                                ;       CONSOLE OUTPUT
 1245	                                ;       <C>...WRITE ON SCREN
 1246	                                ;
 1247	  06A4    D5                    CRT:    PUSH    D
 1248	  06A5    E5                            PUSH    H
 1249	  06A6    21 073B                       LXI     H,COEX  ;RET-ADR
 1250	  06A9    E5                            PUSH    H       ;PUT TO STACK
 1251	  06AA    2A 40A5                       LHLD    CADR    ;CLEAR CURSOR
 1252	  06AD    3A 40A7                       LDA     CHAR    ;ADR RESTORE
 1253	  06B0    77                            MOV     M,A     ;CHART
 1254	  06B1    CD 075A                       CALL    COADR   ;COMPUTE ADR
 1255	  06B4    79                            MOV     A,C
 1256	  06B5    FE 20                         CPI     ' '     ;IF ' '...'Z' THEN WRITE
 1257	  06B7    D2 06DE                       JNC     CRTWR   ;ELSE DECODE CONTROL
 1258	  06BA    FE 0D                         CPI     CR      ;CHARTS AND DO
 1259	  06BC    CA 0791                       JZ      CR@     ;CHANGE ON SCREEN
 1260	  06BF    FE 0A                         CPI     LF
 1261	  06C1    CA 06FC                       JZ      LF@
 1262	  06C4    FE 1E                         CPI     EOL
 1263	  06C6    CA 076F                       JZ      EOL@    ;ERASE TO END LINE
 1264	  06C9    FE 08                         CPI     BACK
 1265	  06CB    CA 077B                       JZ      BACK@   ;LEFT SHIFT
 1266	  06CE    FE 1D                         CPI     HOME
 1267	  06D0    CA 0796                       JZ      HOME@   ;LEFT UP
 1268	  06D3    FE 1F                         CPI     ERS
 1269	  06D5    CA 072A                       JZ      ERS@
 1270	  06D8    FE 07                         CPI     BELL
 1271	  06DA    CA 0218                       JZ      BEEP
 1272	  06DD    C9                            RET
 1273	                                ;
 1274	  06DE    3A 40E3               CRTWR:  LDA     MODE
 1275	  06E1    E6 C0                         ANI     0C0H    ;MODE
 1276	  06E3    57                            MOV     D,A     ; SAVE
 1277	  06E4    79                            MOV     A,C     ;6.BITS
 1278	  06E5    E6 3F                         ANI     3FH
 1279	  06E7    B2                            ORA     D       ;COMPOSITE
 1280	  06E8    77                            MOV     M,A     ;WRITE!
 1281	  06E9    D6 C0                         SUI     0C0H    ;DOUBLE ?
 1282	  06EB    D4 06EE                       CNC     CONXT   ;+
 1283	  06EE    CD 075A               CONXT:  CALL    COADR   ;COMPUTE NEXT ADR
 1284	  06F1    7A                            MOV     A,D
 1285	  06F2    3C                            INR     A
 1286	  06F3    32 40E9                       STA     COLUM   ;NEW POSITION
 1287	  06F6    D6 28                         SUI     WIDTH   ;END LINE
 1288	  06F8    D8                            RC              ;NO
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-23


 1289	  06F9    32 40E9                       STA     COLUM   ;SET POSITION AND COMPUTE
 1290	                                ; NEXT LINE
 1291	  06FC    7B                    LF@:    MOV     A,E
 1292	  06FD    3C                            INR     A
 1293	  06FE    FE 18                         CPI     HEIGHT  ;END OF SCREEN?
 1294	  0700    DA 079C                       JC      LF@1    ;NO
 1295	  0703    2A 40EA                       LHLD    RESL
 1296	  0706    26 00                         MVI     H,0
 1297	  0708    CD 075D                       CALL    COADR+3 ;FIRST LINE
 1298	  070B    C5                            PUSH    B
 1299	  070C    3A 40EA                       LDA     RESL    ;LINE COUNTER
 1300	  070F    D6 18                         SUI     HEIGHT
 1301	  0711    2F                            CMA
 1302	  0712    4F                            MOV     C,A
 1303	  0713    06 28                 ROLL:   MVI     B,WIDTH
 1304	  0715    EB                            XCHG
 1305	  0716    21 0040               ROLL1:  LXI     H,LINOF ;OFFSET
 1306	  0719    19                            DAD     D
 1307	  071A    7E                            MOV     A,M
 1308	  071B    12                            STAX    D       ;COPY
 1309	  071C    13                            INX     D       ;+
 1310	  071D    05                            DCR     B
 1311	  071E    C2 0716                       JNZ     ROLL1   ;ALL LINE
 1312	  0721    21 0018                       LXI     H,LREST ;NEW LINE
 1313	  0724    19                            DAD     D
 1314	  0725    0D                            DCR     C
 1315	  0726    C2 0713                       JNZ     ROLL    ;NEXT LINE
 1316	  0729    C1                            POP     B
 1317	                                ;
 1318	  072A    CD 076F               ERS@:   CALL    EOL@
 1319	  072D    11 0018                       LXI     D,LREST
 1320	  0730    19                            DAD     D
 1321	  0731    11 3DE6                       LXI     D,TVEND-1
 1322	  0734    CD 0629                       CALL    COMPR
 1323	  0737    D2 072A                       JNC     ERS@
 1324	  073A    C9                            RET
 1325	                                ;
 1326	                                ;
 1327	                                ;  "EXIT" AND SET CURSOR
 1328	  073B    CD 075A               COEX:   CALL    COADR   ;WRITE CURSOR
 1329	  073E    3A 40E3                       LDA     MODE
 1330	  0741    0F                            RRC             ;CY=1.. LIST
 1331	  0742    DC 07B9                       CC      LPR     ;PRINT ECHO
 1332	  0745    7E                            MOV     A,M
 1333	  0746    32 40A7                       STA     CHAR    ;ADD SAVE CHAR
 1334	  0749    22 40A5                       SHLD    CADR
 1335	  074C    3A 40E3                       LDA     MODE    ;#VERS."F"#
 1336	  074F    E6 20                         ANI     20H     ;#SUPRESS CURSOR?
 1337	  0751    C2 0756                       JNZ     COEX1   ;#
 1338	  0754    36 A0                         MVI     M,CURSOR
 1339	  0756    E1                    COEX1:  POP     H       ;UNSAVE
 1340	  0757    D1                            POP     D
 1341	  0758    79                            MOV     A,C
 1342	  0759    C9                            RET             ;END OF CONSOLE OUTPUT
 1343	                                
 1344	                                ;  SUBROUTINES
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-24


 1345	                                ;--------------------------------------------------
 1346	                                
 1347	  075A    2A 40E8               COADR:  LHLD    LINE    ;COMPARE ADR <HL>
 1348	  075D    E5                            PUSH    H
 1349	  075E    26 00                         MVI     H,0
 1350	  0760    29                            DAD     H
 1351	  0761    29                            DAD     H
 1352	  0762    29                            DAD     H
 1353	  0763    29                            DAD     H
 1354	  0764    29                            DAD     H
 1355	  0765    29                            DAD     H       ;64*
 1356	  0766    11 3800                       LXI     D,TVBEG ;TV-RAM
 1357	  0769    19                            DAD     D       ;BEGIN LINE
 1358	  076A    D1                            POP     D       ;SET DE
 1359	  076B    7D                            MOV     A,L     ;D-COLUM
 1360	  076C    B2                            ORA     D       ;E-LINE
 1361	  076D    6F                            MOV     L,A     ;HL...ADR
 1362	  076E    C9                            RET
 1363	                                
 1364	                                
 1365	                                ; ERASE FROM CURSOR TO END LINE
 1366	  076F    36 20                 EOL@:   MVI     M,' '
 1367	  0771    23                            INX     H
 1368	  0772    7D                            MOV     A,L
 1369	  0773    E6 3F                         ANI     3FH
 1370	  0775    FE 28                         CPI     WIDTH
 1371	  0777    DA 076F                       JC      EOL@
 1372	  077A    C9                            RET
 1373	                                
 1374	  077B    7A                    BACK@:  MOV     A,D     ;COLUMN:0 ?
 1375	  077C    B7                            ORA     A
 1376	  077D    C2 078F                       JNZ     BAC@1   ;NO FINST POSITIONS
 1377	  0780    1C                            INR     E       ;IF LINE=0 THEN BEGIN
 1378	  0781    1D                            DCR     E       ;OF SCREEN
 1379	  0782    C8                            RZ
 1380	  0783    3A 40EA                       LDA     RESL    ;SAVE "RESERVE" PARTIONS
 1381	  0786    BB                            CMP     E
 1382	  0787    C8                            RZ              ;YES,GO OUT
 1383	  0788    7B                            MOV     A,E     ;NO SET NEW LINE
 1384	  0789    3D                            DCR     A
 1385	  078A    32 40E8                       STA     LINE
 1386	  078D    3E 28                         MVI     A,WIDTH
 1387	  078F    3D                    BAC@1:  DCR     A
 1388	  0790    16                            DB      16H     ;MVI D,#
 1389	  0791    AF                    CR@:    XRA     A       ;CARIG. RETURN
 1390	  0792    32 40E9                       STA     COLUM
 1391	  0795    C9                            RET
 1392	                                
 1393	                                ;SET CURSOR ON BEGIN "NORMAL" SCREEN
 1394	  0796    CD 0791               HOME@:  CALL    CR@     ;NULL
 1395	  0799    3A 40EA                       LDA     RESL    ;"RESERVE" LINE SET
 1396	  079C    32 40E8               LF@1:   STA     LINE
 1397	  079F    C9                            RET
 1398	                                ;
 1399	                                ; UNDERLINE
 1400	  07A0    3A 40EA               UCMD:   LDA     RESL    ;EMPTY ?
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-25


 1401	  07A3    B7                            ORA     A
 1402	  07A4    C8                            RZ              ;EMPTY
 1403	  07A5    3D                            DCR     A
 1404	  07A6    6F                            MOV     L,A
 1405	  07A7    26 00                         MVI     H,0
 1406	  07A9    CD 075D                       CALL    COADR+3
 1407	  07AC    16 28                         MVI     D,WIDTH
 1408	  07AE    7E                    RESX:   MOV     A,M     ;UNDER LINE
 1409	  07AF    E6 3F                         ANI     3FH     ;ASCII
 1410	  07B1    B0                            ORA     B       ;PARAM
 1411	  07B2    77                            MOV     M,A
 1412	  07B3    23                            INX     H
 1413	  07B4    15                            DCR     D
 1414	  07B5    C2 07AE                       JNZ     RESX
 1415	  07B8    C9                            RET
 1416	                                ;**********************************************************
 1417	                                ;
 1418	                                ; LINE PRINTER
 1419	                                ;
 1420	  07B9    E5                    LPR:    PUSH    H
 1421	  07BA    21 2C01                       LXI     H,2C01H
 1422	  07BD    71                            MOV     M,C
 1423	  07BE    25                            DCR     H
 1424	  07BF    75                            MOV     M,L
 1425	  07C0    24                            INR     H
 1426	  07C1    7E                    LPR1:   MOV     A,M
 1427	  07C2    87                            ADD     A
 1428	  07C3    F2 07C1                       JP      LPR1
 1429	  07C6    25                            DCR     H
 1430	  07C7    36 03                         MVI     M,3
 1431	  07C9    24                            INR     H
 1432	  07CA    7E                    LPR2:   MOV     A,M
 1433	  07CB    87                            ADD     A
 1434	  07CC    FA 07CA                       JM      LPR2
 1435	  07CF    25                            DCR     H
 1436	  07D0    75                            MOV     M,L
 1437	  07D1    E1                            POP     H
 1438	  07D2    C9                            RET
 1439	                                ;
 1440	                                ;
 1441	                                ; PUNCH OUTPUT
 1442	                                ;
 1443	  07D3    C9                    PUN:    RET             ; EMPTY
 1444	  07D4                                  DS      20      ; RESERVA
 1445	                                ;
 1446	                                ; READER INPUT
 1447	                                ;
 1448	  07E8    37                    RDR:    STC             ; CHYBA SNIMACE
 1449	  07E9    C9                            RET
 1450	                                ;
 1451	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1452	                                        ORG     @R@
 1453	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1454	                                ; SYSTEM RAM SAPI-1
 1455	                                ;
 1456	  4000                          RST1:   DS      21      ;RESTART VECTOR
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-26


 1457	                                ;<<... USER & MONITOR STACK
 1458	                                ;
 1459	                                ;
 1460	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1461	                                        ORG     @R@+090H
 1462	                                ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 1463	                                ; MONITOR DATA
 1464	                                ;
 1465	  4090                          MSTAK:  DS      2       ; SAVE REGISTERS
 1466	  4092                          ACSAV:  DS      2
 1467	  4094                          BCSAV:  DS      2
 1468	  4096                          DESAV:  DS      2
 1469	  4098                          HLSAV:  DS      2
 1470	  409A                          PCSAV:  DS      2
 1471	  409C                          SPSAV:  DS      2
 1472	                                ;
 1473	  409E                          BRAD:   DS      2
 1474	  40A0                          INSTR:  DS      1
 1475	  40A1                          BRAD2:  DS      2
 1476	  40A3                          INST2:  DS      1
 1477	  40A4                          LASTC:  DS      1       ;LAST CODE "REPEAT"
 1478	  40A5                          CADR:   DS      2       ; CURSOR ADR
 1479	  40A7                          CHAR:   DS      1       ; CODE
 1480	  40A8                          FLAG:   DS      1       ; FLAG MEMBR
 1481	  40A9                          LIMIT:  DS      2       ; TIME LIMIT FOR AUTO REPEAT
 1482	  40AB                          @BT:    DS      1
 1483	  40AC                          @PED:   DS      1
 1484	  40AD                          UADR:   DS      2       ;USER ADR
 1485	  40AF                          SADR:   DS      2       ; START ADR
 1486	  40B1                          EADR:   DS      2       ; END ADR
 1487	  40B3                          SUM:    DS      1
 1488	                                
 1489	                                ;*******************************
 1490	                                ;MONITOR PLUS DATA
 1491	  40B4                          JOINT:  DS      1
 1492	  40B5                          FNAME:  DS      11
 1493	  40C0                          BNO:    DS      1       ;BLOCK NUMSER,FILE NUMBER
 1494	  40C1                          BTO:    DS      1
 1495	  40C2                          BNI:    DS      1       ; --- " ---
 1496	  40C3                          BTI:    DS      1
 1497	  40C4                          ADRO:   DS      2
 1498	  40C6                          ADRI:   DS      2
 1499	  40C8                          PBITM:  DS      2
 1500	  40CA                          FND:    DS      1       ; FIND FLAG
 1501	                                
 1502	                                ;-------------------------
 1503	                                ;       USER I/O DEVICE
 1504	                                ;                       IODEF NUMBER
 1505	  40CB                          CILOC:  DS      3       ; (0)
 1506	  40CE                          COLOC:  DS      3       ; (1)
 1507	  40D1                          R1LOC:  DS      3       ; (2)
 1508	  40D4                          R2LOC:  DS      3       ; (3)
 1509	  40D7                          P1LOC:  DS      3       ; (4)
 1510	  40DA                          P2LOC:  DS      3       ; (5)
 1511	  40DD                          LILOC:  DS      3       ; (6)
 1512	  40E0                          CSLOC:  DS      3       ; (7)
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	1-27


 1513	                                ;******************************
 1514	                                ;<< EXTERNE OVLADANE FLAGY: >>
 1515	                                ;******************************
 1516	  40E3                          MODE:   DS      1       ;CRT-MODE
 1517	  40E4                          @IF1:   DS      1       ;OPEN FLAGS
 1518	  40E5                          @IF2:   DS      1
 1519	  40E6                          @OF1:   DS      1
 1520	  40E7                          @OF2:   DS      1
 1521	  40E8                          LINE:   DS      1       ;LINE
 1522	  40E9                          COLUM:  DS      1       ;COLUMN
 1523	  40EA                          RESL:   DS      1       ;RESERVE
 1524	  40EB                          UBYTE:  DS      1       ;USER BYTE (REALTIME..)
 1525	  40EC                          @SFLG:  DS      1       ;#0..NO STOP
 1526	  000A                          EXSER   EQU     $-MODE  ;EXTERNAL SERVICE
 1527	  40ED                          IOBYT:  DS      1       ;I/O CONTROL
 1528	  40EE                          MEMTOP: DS      2       ;MEMTOP "RAM"
 1529	                                
 1530	                                ;-------------------------
 1531	                                ; I/O BUFFERS
 1532	  40F0                                  DS      1       ;BLOCK LABEL
 1533	  40F1                          BOUT:   DS      255     ;BLOCK LENGHT
 1534	  41F0                          BOEND   EQU     $
 1535	                                ;
 1536	  41F0                                  DS      1       ; BLOCK LABELS
 1537	  41F1                          BIN:    DS      255     ;BLOCK  LENGHT
 1538	  42F0                          BIEND   EQU     $
 1539	                                ;
 1540	  42F0                          WRNM:   DS      11
 1541	                                ;=============================
 1542	                                        ORG     @R@ + 300H
 1543	                                ;=============================
 1544	                                ; "MAT" ARRAY
 1545	  4300                                  DS      0FFH
 1546	                                ;=============================
 1547	                                        ORG     @R@ + 400H
 1548	                                ;=============================
 1549	                                ; SYSTEM OR USER PROGRAMS
 1550	                                ;---->>>>>>>>>>>
 1551	                                ;
 1552	                                ;
 1553	                                ;
 1554	                                        END
'MONITOR SAPI-1  V4.1F'	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              028B 	CICO            
40CB 	CILOC           0678 	CIMIN           067B 	CINCR           
00D3 	CITB            0228 	CLCK1           022E 	CLCK2           
0224 	CLICK           00FC 	CMSK            02DB 	CNTRP           
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            
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           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             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            0299 	KBRD1           02A7 	KBRD2           
01CE 	KBSTS           0243 	KEY             0233 	KEYIN           
40A4 	LASTC           05A4 	LBYTE           0040 	LCRT            
'MONITOR SAPI-1  V4.1F'	MACRO-80 3.44	09-Dec-81	PAGE	S-1


0018 	LCT             000A 	LF              06FC 	LF@             
079C 	LF@1            40DD 	LILOC           40A9 	LIMIT           
40E8 	LINE            0040 	LINOF           0080 	LLPT            
003F 	LMSK            0301 	LO              00DB 	LOTB            
07B9 	LPR             07C1 	LPR1            07CA 	LPR2            
0018 	LREST           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            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            
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            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	 1482#
@IF1	 1517#
@IF2	 1518#
@OF1	 1519#
@OF2	 1520#
@PED	 1483#
@R@	   29#	  102	  106	  110	  114	  119	  124	  129	  878	  929	  931	 1452
	 1461	 1542	 1547
@SFLG	 1525#
ACSAV	  649	  664	  730	  731	 1466#
ADRI	 1498#
ADRO	 1497#
ALLINT	   82#
ANAL	 1039	 1196#
ANAL0	 1197#
ASHEX	  249	 1028	 1179#
ASIGN	  264#	  958
ASS0	  269#	  273
ASS1	  270	  281#
ASS2	  286#	  295
ASS3	  288	  296#
BAC@1	 1376	 1387#
BACK	   36#	 1264
BACK@	 1265	 1374#
BATCH	   54#
BCSAV	  732	  733	 1467#
BEEP	  278	  395#	 1271
BEG	  875#	  960
BEGIO	   41#	  881
BELL	   37#	 1270
BIEND	 1538#
BIN	 1537#
BNI	 1495#
BNO	 1493#
BOEND	 1534#
BOUT	 1533#
BRAD	  588	  633	 1473#
BRAD2	  642	 1475#
BTI	 1496#
BTO	 1494#
CADR	  126	 1240	 1251	 1334	 1478#
CCPM	  101	  131#
CCRT	   53#
CHAR	 1252	 1333	 1479#
CI	  138	  145#	  235	  825
CICO	  141	  487#
CILOC	  208	 1082	 1505#
CIMIN	  264	  686	  774	  812	 1193#

CINCR	  255	  623	  662	  777	  934	 1062	 1195#
CITB	  146	  207#
CLCK1	  405#	  406
CLCK2	  408#	  409
CLICK	  397	  403#
CMSK	   46#
CNTRP	  522	  524	  526	  528	  537#
CO	  139	  209	  213	  237	  828	  933	 1048	 1051#	 1162	 1165	 1210	 1217
COA	  105	  109	  113	  317	  328	  710	  766	  826#
COADR	 1254	 1283	 1297	 1328	 1347#	 1406
COEX	 1249	 1328#
COEX1	 1337	 1339#
COINIT	  883	 1239#
COLD	   98	  138	  234	  864#
COLO	  205	  209	  567#
COLOC	  206	 1506#
COLUM	 1286	 1289	 1390	 1522#
COMPR	  606	 1102#	 1322
CONXT	 1282	 1283#
COTB	  205#	 1052
CPM	   11#	   20	   92	   95	  225	  351	  495	  923
CR	   34#	  217	  630	  637	  702	 1047	 1126	 1200	 1258
CR@	 1259	 1389#	 1394
CRLF	  246	  647	  666	  927	 1047#	 1133
CRT	  205	  489	  568	 1247#
CRTWR	 1257	 1274#
CSLOC	  343	 1512#
CSTS	  143	  240	  347#	  772
CSTS1	  342#	  350
CTBL	  939	  958#	  982
CTRLP	  537	 1233#
CTRLQ	  469	 1232#
CTRLW	   40#	  467
CTTY	   52#
CURSOR	 1234#	 1338
CUSE	   55#
DADR	  250	 1134#
DADR0	 1134	 1154#
DBYT	  251	  720	  725	  811	 1155	 1160#	 1215
DBYTE	  750	 1215#
DESAV	  734	  735	 1468#
DI0	  747#	  773	  778
DI1	  749#	  755
DI2	  758#	  771
DIA	  752	  756#
DISP	  744#	  961
DNADR	  748	  819	 1133#
EADR	 1486#
ECHO	  282	  825#	 1024	 1195

EOL	 1231#	 1262
EOL@	 1263	 1318	 1366#	 1371
EP2	   27#	  885	  990	  992
EP2?	  884	  988	  992#
EQUAL	  108#	  281	  318	  622	  711	 1022
ERAM	   25#	  889
ERROR	  142	  143	  248	  277#	  293	  678	  942	  989	 1021	 1040	 1077
ERS	 1230#	 1241	 1268
ERS@	 1269	 1318#	 1323
ETX	   39#
EX0	 1024#	 1036
EX1	 1025#	 1060
EX3	 1029	 1038#	 1064
EX4	 1027	 1062#	 1067
EXFLG	  259	  846#
EXPR	  247	  744	  784	  796	 1022#	 1112
EXPRM	  626	 1058#	 1121
EXPRO	 1021#	 1044
EXROM	  959	  962	  965	  966	  967	  968	  969	  971	  972	  973	  975	  977
	  978	  979	  980	  988#
EXSER	  848	 1526#
FI1	  788#	  790	  880
FILL	  783#	  963
FLAG	  907	 1480#
FNAME	 1492#
FND	 1500#
GO@	  624	  631	  639	  647#
GO@BR	  625	  632#
GOTO	  622#	  964
HBYTE	 1005#	 1161
HEIGHT	 1226#	 1293	 1300
HILO	  252	  751	  767	  789	  803	 1097#
HLSAV	  575	  582	  657	  736	  737	 1469#
HOME	 1235#	 1266
HOME@	 1267	 1394#
HT	   35#
HXASC	  258	 1012#
INIC	  279	  913#
INJM@	  136	  941#
INJMP	  943#	 1055
INST2	  644	 1476#
INSTR	  635	 1474#
IOBYT	  116	  122	  301	  310	  347	  547	  554	  561	  882	 1053	 1527#
IOCHK	  116#	  141	  241
IOCOM	  147	  550	  564	 1054#
IODEF	  244	 1071#
IODEF1	 1076	 1086#
IONEW	  301#
IOSET	  121#	  142	  242

IOTAB	  194#	  266	  309
JOINT	 1491#
KBR	  207	  207	  211	  466#	  468	  485
KBRD	  466	  477	  493#	  542
KBRD1	  504#	  506
KBRD2	  514#	  516
KBSTS	  355#	  490
KEY	  439#	  446
KEYIN	  429#
LASTC	  905	 1477#
LBYTE	 1009#	 1164
LCRT	   71#
LCT	  940	  982#
LF	   38#	  217	 1049	 1260
LF@	 1261	 1291#
LF@1	 1294	 1396#
LILOC	  210	 1511#
LIMIT	 1481#
LINE	 1347	 1385	 1396	 1521#
LINOF	 1227#	 1228	 1305
LLPT	   72#
LMSK	   49#
LO	  140	  205	  239	  559#
LOTB	  209#	  560
LPR	  209	  567	 1331	 1420#
LPR1	 1426#	 1428
LPR2	 1432#	 1434
LREST	 1228#	 1312	 1319
LTTY	   70#
LUSE	   73#
LVER	  221#	  914
MEM1	  887#	  901
MEM2	  894	  902#
MEMCK	  243	 1170#
MEMTOP	  903	 1073	 1171	 1528#
MINUS	  104#	 1193
MMODE	   79#	  868
MO1	  800#	  804
MODE	  518	  539	  541	  854	 1274	 1329	 1335	 1516#	 1526
MONIT	   16#	  228
MOVE	  795#	  970
MSTAK	  876	  908	  920	 1465#
NEXT	  253	  618	  920#	  921	  938
NXKEY	  441	  443	  445#
NXLIN	  434#	  449
P1LOC	  213	 1509#
P2LOC	  214	 1510#
PBITM	 1499#
PCSAV	  615	  628	  655	  738	 1470#

PMSK	   48#
PO	  140	  238	  552#
POTB	  213#	  553
PPTR	   65#
PTTY	   64#
PUN	  213	 1443#
PUSE1	   66#
PUSE2	   67#
QUERY	  309#	  974
QUES	  112#	  277
R1LOC	  211	 1507#
R2LOC	  212	 1508#
RADR	  632	  641	  809	 1111#
RAM	   19#	  886
RBYT	  693	  815	 1119#
RDR	  211	 1448#
RESL	  479	 1295	 1299	 1380	 1395	 1400	 1523#
RESTA	  465	  574#	  930
RESX	 1408#	 1414
RGNAM	  663	  730#
RI	  139	  207	  236	  545#
RICOM	  548#	  557
RITB	  211#	  546
RMSK	   47#
ROLL	 1303#	 1315
ROLL1	 1305#	 1311
RPTR	   59#
RST1	 1456#
RST10	  590#	  612
RST20	  599	  608	  610#
RSTN	   30#	  636	  645
RTTY	   58#
RUSE1	   60#
RUSE2	   61#
SADR	 1485#
SP1	    9#	   85
SP1A	   10#	  832	 1138
SPACE	  254	  315	  706	  757	 1135	 1216#
SPCL	  126#	  245
SPSAV	  579	  653	  739	  909	 1471#
SU1	  810#	  820
SU2	  814	  817#
SUBS	  809#	  976
SUM	 1487#
TABCOD	  150#
TCPM	  134	  138#
TEXT	  256	  915	 1208#	 1212
TVBEG	   26#	 1229	 1239	 1356
TVEND	 1229#	 1321

UADR	 1484#
UBYTE	 1524#
UCMD	  476	  481	 1400#
UDATA	   77#
UMODE	   80#	  866
URES	   81#	  864
USTAT	   78#
VERS	  217#	  221	  913
WIDTH	 1225#	 1228	 1287	 1303	 1370	 1386	 1407
WRNM	 1540#
X	  617	  662#	  981
X0	  667#	  670
X1	  665	  671#
X10	  674#	  680
X2	  671	  682	  684#	  690	  704
XDIS1	  681	  711#
XDISP	  667	  684	  706#
XY	  257	  935#

	 1487#
TABCOD	  150#
TCPM	  134	  138#
TEXT	  256	  915	 1208#	 1212
TVBEG	   26#	 1229	 1239	 1356
TVEND	 1229#	 132

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


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


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


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



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

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