IPB

, ( | )

 
>  : -0010
V
SuperMax
20.10.2009, 15:26
#1



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1





;  #############################################################
;  #                                                           #
;  #               - 0 0 1 0    #
;  #                                                           #
;  #############################################################


;  :   ..
;  ,  1983 .
;
;   :    1984 .



;  ====================================
;  **** EMT DMBK ****
;  ====================================



;    
;    ----------

INDKLW    = 4       ;-

CTKOD    = 6       ;-
           ;  :    R0 - .

CTSTR    = 10       ;-
           ;  :    R1 -
           ;        R2 - (..)
           ;           - - (..)

USTKLC    = 12       ;-
           ;  :    R0 -
           ;        R1 -


;    TV-
;    ----------

INDMBK    = 14       ;- DMBK

FSIM    = 16       ;-
           ;  :    R0 - ..

FSTR    = 20       ;-
           ;  :    R1 -
           ;        R2 - (..)
           ;           - - (..)

ZSIMSS    = 22       ;-
           ;  :    R0 - (0- )
           ;        R1 -

USTKK    = 24       ;-
           ;  :    R1 - X
           ;        R2 - Y

SEMKK    = 26       ;- '
           ;  :    R1 - X
           ;        R2 - Y

FTCK    = 30       ;-
           ;  :    R0 - 1-, 0-
           ;        R1 - X
           ;        R2 - Y

FWEKT    = 32       ;-
           ;  :    R0 - 1-, 0-
           ;        R1 - X
           ;        R2 - Y

CTSSD    = 34       ;-
           ;  :    R0 - . .


;    
;    ----------

DMAG    = 36       ;-
           ;  :    R1 -


;    TLG-
;    ---------

INDTLG    = 40       ;- -
           ;  :    R0 -

PDBYT    = 42       ;-
           ;  :    R0 - ..

PRBYT    = 44       ;-
           ;  :    R0 - ..

PDMAS    = 46       ;-
           ;  :    R1 -
           ;        R2 -

PRMAS    = 50       ;-
           ;  :    R1 -
           ;        R2 -


;    
;    ------

RW1    = 52
RW2    = 54
RW3    = 56
RW4    = 60
RW5    = 62
RW6    = 64
RW7    = 66
RW8    = 70
RW9    = 72
RW10    = 74
RW11    = 76
RW12    = 100
RW13    = 102
RW14    = 104
RW15    = 106
RW16    = 110



;   ======================
;   *** DMBK ***
;   ======================


    AWPZAW    = 4       ;- ...
    AWPEMT    = 30       ;- ...
    APORT    = 177714   ;-
    ASPORT    = 177716   ;-




;  ============================
;  **** DMBK ****
;  ============================



DMBK:    JMP    MNDMBK       ;- DMBK


;    -------------------------------
;    ** **
;    -------------------------------

WIDKLW:    .WORD    MIDKLW       ;- DKLAW
WCTKOD:    .WORD    MCTKOD       ;-
WCTSTR:    .WORD    MCTSTR       ;-
WUKLC:    .WORD    MUKLC       ;-


;    --------------------------------
;    ** TV- **
;    --------------------------------

WIDMBK:    .WORD    MIDMBK       ;- DMBK
WFSIM:    .WORD    MFSIM       ;-
WFSTR:    .WORD    MFSTR       ;-
WZSSS:    .WORD    MZSSS       ;- .
WUSTKK:    .WORD    MUSTKK       ;-
WSKK:    .WORD    MSKK       ;- '
WFTCK:    .WORD    MFTCK       ;-
WFWEKT:    .WORD    MFWEKT       ;-
WCTSSD:    .WORD    MCTSSD       ;-


;    --------------------------------
;    ** **
;    --------------------------------

WDMAG:    .WORD    MDMAG       ;- /


;    -------------------------------
;    ** - **
;    -------------------------------

WIDTLG:    .WORD    MIDTLG       ;- DTLG
WPDBYT:    .WORD    MPDBYT       ;-
WPRBYT:    .WORD    MPRBYT       ;-
WPDMAS:    .WORD    MPDMAS       ;-
WPRMAS:    .WORD    MPRMAS       ;-


;    --------------------------
;    ** DMBK **
;    --------------------------

RWDM1:    .WORD    160000
RWDM2:    .WORD    160004
RWDM3:    .WORD    160010
RWDM4:    .WORD    160014
RWDM5:    .WORD    160020
RWDM6:    .WORD    160024
RWDM7:    .WORD    160030
RWDM8:    .WORD    160034
RWDM9:    .WORD    160040
RWDM10:    .WORD    160044
RWDM11:    .WORD    160050
RWDM12:    .WORD    160054
RWDM13:    .WORD    160060
RWDM14:    .WORD    160064
RWDM15:    .WORD    160070
RWDM16:    .WORD    160074





; ==============================
; *****       *****
; ==============================


DEMT:    MOV    R5,-(SP)

    MOV    2(SP),R5   ;  
    MOV    -(R5),R5
    BIC    #177400,R5
    MOV    DMBK(R5),R5

    JSR    PC,(R5)       ;  

    MOV    (SP)+,R5
    RTI





; =====================================
; ***** DMBK *****
; =====================================


MIDMBK:    CLR    R1       ;  
    MOV    #20,R2
1$:    MOV    #100000,(R1)+
    SOB    R2,1$
    MOV    #MNZAW,@#AWPZAW
    MOV    #DEMT,@#AWPEMT
    MOV    #200,@#AWPEMT+2

    MOV    #120,R2       ;  
2$:    CLR    (R1)+
    SOB    R2,2$

    EMT    INDKLW       ;- DKLAW

    INC    DSIMB       ;- DTVM
    INCB    NMPGT
    COM    MASCW
    COM    MCWSS
    JSR    PC,PPRP1

    MOV    #KDBIT0,DLBIT0   ;- DMAG
    MOV    #KDBIT1,DLBIT1

    CLR    R0
    EMT    INDTLG       ;- DTLG

    CLR    @#APORT       ;-
    MOV    #220,@#ASPORT   ;-

    MTPS    R0       ;-

    RTS    PC





; ======================================
; *****       D M B K  *****
; ======================================




MNDMBK:    MOV    #1000,SP   ;-
    JSR    PC,MIDMBK

    JSR    PC,@#120000   ;-
    JSR    PC,MIDMBK   ;-

MNKOM:    JSR    R5,PPCT       ;- " -0010"
    .WORD    TMON
MNKOM1:    JSR    R5,PPCT       ;- ">"
    .WORD    TPRIGL

    MOV    SP,R1       ;  
    SUB    #100,R1
    MOV    R1,R5
2$:    EMT    CTKOD
    CMPB    R0,#30       ;-
    BNE    1$
    CMP    R5,R1
    BEQ    2$
3$:    CLR    (R5)+
4$:    EMT    FSIM
    BR    2$
1$:    MOV    R0,-(R5)   ;-
    TSTB    R5
    BEQ    3$
    CMPB    R0,#12       ;- ""
    BNE    4$
    EMT    FSIM

    MOV    -(R1),R4   ;  
    CLR    R5       ;-
    MOV    R4,R3
7$:    CMP    R3,R0       ;- ""
    BEQ    5$
    CMP    R3,#67       ;-
    BHI    6$
    SUB    #60,R3
    BMI    6$
    ASL    R5
    ASL    R5
    ASL    R5
    ADD    R3,R5
6$:    MOV    -(R1),R3   ;- ..
    BR    7$

5$:    BIC    #240,R4       ;  
    CMPB    R4,#124       ;- "T"
    BHI    10$
    SUB    #114,R4       ;- "L"
    BMI    11$
    ASL    R4

    MOV    MNKOMT(R4),R1   ;  
    JSR    PC,(R1)
    BR    MNKOM1

11$:    ADD    #13,R4       ;- A : K
    BPL    MNDMBK
    BR    MNKOM1

10$:    JSR    PC,@#160110   ;- > T
    BR    MNKOM1

MNKOMT:    .WORD    PCTTLG       ;- "L"
    .WORD    PCTMAG       ;- "M"
    .WORD    160110       ;- "N"
    .WORD    160110       ;- "O"
    .WORD    140000       ;- "P"
    .WORD    160110       ;- "Q"
    .WORD    160104       ;- "R"
    .WORD    PSTART       ;- "S"
    .WORD    160100       ;- "T"



;    -----------------------------------
;    ** 0. **
;    -----------------------------------

MNZAW:    MOV    #1000,SP
    MOV    #220,@#ASPORT
    EMT    INDKLW
    BR    MNKOM


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

PCTTLG:    EMT    PRBYT       ;  
    EMT    PDBYT

    MOV    #BUFSTA,R1   ;  
    MOV    #4,R2
    EMT    PRMAS
    TST    R5
    BEQ    1$
    MOV    R5,BUFSTA

1$:    MOV    BUFSTA,R1   ;  
    MOV    BUFDL,R2
    EMT    PRMAS
    JSR    R5,PPCT       ;-
    .WORD    TFZ

    RTS    PC


;    -----------------------------------
;    ** 2. **
;    -----------------------------------

PCTMAG:    MOV    #BPDMAG,R1   ;   BPDMAG
    MOV    #3,(R1)+   ;-
    MOV    R5,(R1)+   ;-
    CLR    (R1)+       ;-
    JSR    R5,PPCT       ;- " ?"
    .WORD    TIMF
    MOV    #5020,R2
    EMT    CTSTR
    DEC    R1
2$:    MOVB    #40,(R1)+
    DEC    R2
    BPL    2$

1$:    MOV    #BPDMAG,R1   ;  
    EMT    DMAG

    MOVB    1(R1),R0   ;  
    BEQ    4$
    DEC    R0
    BNE    3$
    JSR    PC,5$       ;- . .
    MOV    #12,R0
    EMT    FSIM
    BR    1$

3$:    JSR    R5,PPCT       ;- "**"
    .WORD    TOH
    BR    KCTMAG

4$:    JSR    R5,PPCT       ;- " "
    .WORD    TZF
5$:    ADD    #32,R1
    MOV    #20,R2
    EMT    FSTR

KCTMAG:    RTS    PC


;    --------------
;    ** 3. **
;    --------------

PSTART:    TST    R5
    BNE    1$
    MOV    BUFSTA,R5   ;-
1$:    JSR    PC,(R5)

    RTS    PC


;    ----------------------
;    ** 4. **
;    ----------------------

PPCT:    MOV    (R5)+,R3
    BR    1$
2$:    EMT    FSIM
1$:    MOVB    (R3)+,R0
    BNE    2$

    RTS    R5



;   =====================
;   *** MNDMBK ***
;   =====================


TMON:    .BYTE    12,355,357,356,351,364,357,362,40   ;   -0010
    .BYTE    342,353,55,60,60,61,60,0
TPRIGL:    .BYTE    12,12,76,40,0               ;  >
TIMF:    .BYTE    351,315,321,40,306,301,312,314,301,77,40,0;   ?
TZF:    .BYTE    12,372,301,307,322,325,326,305,316,40   ;  
    .BYTE    306,301,312,314,40,0
TFZ:    .BYTE    12,346,301,312,314,40           ;  
    .BYTE    332,301,307,322,325,326,305,316,0
TOH:    .BYTE    12,52,357,373,351,342,353,341,52,0   ;  **
    .EVEN



--------------------
- !
+
SuperMax
20.10.2009, 15:30
#2



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1










;  **********************************************
;  *                                            *
;  *              *
;  *                                            *
;  **********************************************



;   =======================
;   *** DKLAW ***
;   =======================


    AWPKL1    = 60       ;- . .1
    AWPKL2    = 274       ;- . .2
    ARSKL    = 177660   ;- . .
    ARDKL    = 177662   ;- . .

    ASPORT    = 177716   ;-
    APRWK    = 262       ;-
    KPOWTS    = 20000       ;-
    KPOWTG    = 4000       ;-





; ======================================
; ***** DKLAW *****
; ======================================




MIDKLW:    MOV    #BCTKW1,@#AWPKL1   ;- . 1
    MOV    #200,@#AWPKL1+2

    MOV    #BCTKW2,@#AWPKL2   ;- . 2
    MOV    #200,@#AWPKL2+2

    CLR    APOPKL       ;-
    CLR    PRWK       ;-
    CLR    @#ARSKL       ;-

    RTS    PC





; ==============================
; ***** *****
; ==============================


MCTKOD:   ;:    R0 - .



;   =================================
;   *** 1. MCTKOD ***
;   =================================


BUMCTK:    MOV    @#ARDKL,R0   ;- .

1$:    TSTB    PRZKB       ;  
    BEQ    2$
    CLR    R0
    BISB    BUFKL,R0
    CLRB    PRZKB       ;-
    RTS    PC

2$:    TSTB    SCKLC       ;  
    BEQ    3$
    JSR    PC,PZKKLC
    BR    1$

3$:    TSTB    SCTAB       ;  
    BEQ    4$
    JSR    PC,PZKTAB
    BR    1$

4$:    TSTB    PRPOWT       ;  
    BEQ    5$
    JSR    PC,PPOWT
    BR    1$

5$:    MTPS    #0       ;-
    BR    1$



;   ========================================
;   *** 2. 1 ***
;   ========================================


BCTKW1:    JSR    R4,PSREG0
    MOV    R5,-(SP)

    JSR    PC,PCTK       ;  

    CMPB    R0,#20       ;   .
    BHI    1$

    MOV    R0,R1       ;  
    SUB    #12,R1
    BMI    2$
    ASL    R1
    ADD    R1,PC
    BR    3$
    BR    2$
    BR    2$
    BR    4$
    BR    5$
    BR    6$
    BR    7$

3$:    TST    @#APRWK       ;  
    BEQ    2$
    MOV    #15,R0
    BR    2$

5$:    MOVB    #200,PRRUS   ;  
    BR    9$

6$:    CLRB    PRRUS       ;  
9$:    CLR    R0
    CLR    SCKOD
    JSR    PC,PFINDR
    BR    KCTKW1

7$:    CLR    R3       ;- . .
4$:    JSR    PC,PUTAB   ;- . .  
    BR    KCTKW1

1$:    CMPB    R0,#77       ;  .
    BLOS    2$
    BISB    PRRUS,R0

2$:    JSR    PC,PZKBUF   ;  

KCTKW1:    MOV    (SP)+,R5
    JSR    R4,PWREG

    RTI


;    ------------------------------
;    ** 2.1. **
;    ------------------------------

PUTAB:    JSR    PC,POPSIM   ;  . .

    TST    R3       ;  . .
    BEQ    1$
    BIS    R0,MTAB(R1)
    BR    2$

1$:    BIC    R0,MTAB(R1)   ;  . .

2$:    JSR    PC,PFINDT   ;   ..

    RTS    PC



;   ========================================
;   *** 3. 2 ***
;   ========================================


BCTKW2:    JSR    R4,PSREG0
    MOV    R5,-(SP)

    JSR    PC,PCTK       ;   .
    BISB    #200,R0

    CMPB    R0,#277       ;  
    BLOS    1$
    BICB    #100,R0
    BISB    #40,R0
    BR    2$

1$:    CMPB    R0,#271       ;  
    BHI    3$
    MOV    R0,R1
    SUB    #260,R1
    BMI    3$
    TSTB    SCKLC
    BNE    KCTKW2
    ASL    R1
    MOV    AKLC(R1),TAKLC   ;-
    BEQ    KCTKW2
    MOVB    @TAKLC,SCKLC
    INC    TAKLC
    JSR    PC,PZKLC1
    BR    KCTKW2

3$:    CMPB    R0,#237       ;  
    BLOS    4$
    BICB    #40,R0
    BISB    #20,R0
    CMPB    R0,#232       ;- . .
    BEQ    8$
    CMPB    R0,#235       ;- . .
    BEQ    8$
    CMPB    R0,#236       ;- ..
    BNE    2$

8$:    EMT    FSIM       ;- ,,.,.,.
    BR    KCTKW2

4$:    CMPB    R0,#211       ;  
    BLO    5$
    BNE    6$
    JSR    PC,PTAB
    BR    KCTKW2

5$:    CMPB    R0,#204       ;  ,
    BHI    7$

    CMPB    R0,#201       ;  
    BHI    8$
    BNE    7$
    INCB    PRPOWT
    JSR    PC,PPOWT1
    BR    KCTKW2

7$:    BIS    #20,R0       ;  .
    BR    2$

6$:    CMPB    R0,#212       ;  
    BNE    9$
10$:    TSTB    @#ARSKL
    BPL    10$
    JSR    PC,PCTK
    BR    KCTKW2

9$:    CMPB    R0,#213       ;  ...
    BNE    2$
    MOV    #231,R0

2$:    JSR    PC,PZKBUF   ;  


KCTKW2:    MOV    (SP)+,R5
    JSR    R4,PWREG

    RTI


;    ----------------------------
;    ** 3.1. **
;    ----------------------------

PZKKLC:    MOVB    @TAKLC,R0
    JSR    PC,PZKBUF
    INC    TAKLC
    DECB    SCKLC
    BEQ    KZKKLC
PZKLC1:    TST    @#APOPKL   ;- .
    BNE    PZKKLC

KZKKLC:    RTS    PC


;    --------------------
;    ** 3.2. **
;    --------------------

PTAB:    JSR    PC,POPSIM   ;  . . .

    MOVB    #1,SCTAB   ;  
    ASL    R0
    BCS    1$
2$:    BIT    R0,MTAB(R1)
    BNE    PZKT1
    INCB    SCTAB
    ASL    R0
    BCC    2$

1$:    ADC    R0       ;   .
    ADD    #2,R1
    CMP    R1,#4
    BLO    2$
    TSTB    PRCW
    BNE    PZKT1
    CMP    R1,#10
    BNE    2$

PZKT1:    TST    @#APOPKL   ;  
    BEQ    KTAB
PZKTAB:    MOV    #40,R0
    JSR    PC,PZKBUF
    DECB    SCTAB
    BNE    PZKT1

KTAB:    RTS    PC


;    -----------------
;    ** 3.3. **
;    -----------------

PPOWT:    JSR    PC,PZKB1
    MOV    BKPOWT,R0   ;-
1$:    SOB    R0,1$
    BIT    #100,@#ASPORT   ;- . .
    BEQ    PPOWT1
    CLRB    PRPOWT
    BR    KPOWT
PPOWT1:    TST    @#APOPKL   ;- .
    BNE    PPOWT

KPOWT:    RTS    PC





; ================================
; ***** *****
; ================================


;    :    R1 -
;        R2 - (..),..(..)


MCTSTR:    MOV    R0,-(SP)

    MOV    R2,R5       ;   .
    SWAB    R5
    BIC    #177400,R2
    MOV    R2,-(SP)

1$:    EMT    CTKOD       ;  
    CMPB    R0,#30       ;-
    BNE    2$
    CMP    R2,(SP)
    BEQ    1$
    DEC    R1
    ADD    #2,R2
    BR    3$
2$:    MOVB    R0,(R1)+
3$:    EMT    FSIM

    CMPB    R0,R5       ;   .
    BEQ    KCTSTR
    SOB    R2,1$

KCTSTR:    MOV    (SP)+,R0
    MOV    (SP)+,R0
    RTS    PC





; ===================================
; ***** *****
; ===================================


;    :    R0 -
;        R1 -


MUKLC:    TST    R0       ;  
    BLE    KUKLC
    CMP    R0,#12
    BHI    KUKLC
    BNE    1$
    CLR    R0

1$:    ASL    R0
    MOV    R1,AKLC(R0)   ;  

KUKLC:    RTS    PC




;  ======================================
;  **** DKLAW ****
;  ======================================



;    ----------------------
;    ** 0.1. **
;    ----------------------

PCTK:    TST    SCUIND       ;  .
    BEQ    4$
    JSR    PC,PUINDR
4$:    MOV    #177777,SCKOD

PSIGN:    MOV    #50,R2       ;  
    MOV    #100,R3
3$:    MOV    #320,@#ASPORT   ;- 1
    MOV    R3,R0
1$:    SOB    R0,1$
    MOV    #220,@#ASPORT   ;- 0
    MOV    R3,R0
2$:    SOB    R0,2$
    DEC    R3
    SOB    R2,3$
    MOV    @#ASPORT,R0   ;- .

    MOVB    @#ARDKL,R0   ;-
    RTS    PC


;    ------------------------------
;    ** 0.2. **
;    ------------------------------

PZKBUF:    TSTB    PRZKB       ;   .
    BNE    PZKB2
    MOVB    R0,BUFKL
PZKB1:    INCB    PRZKB

PZKB2:    MOV    @#APOPKL,R5   ;   .
    BEQ    KZKBUF
    JSR    PC,(R5)

KZKBUF:    RTS    PC


;    -----------------------------------------------
;    ** 0.3. **
;    -----------------------------------------------

POPSIM:    MOV    NOMSIM,R1   ;  . . .
    BIC    #177700,R1
    TSTB    PRCW
    BEQ    1$
    ASR    R1

1$:    MOV    R1,R2       ;  . .
    BIC    #177760,R2
    INC    R2
    CLR    R0
    SEC
2$:    ROL    R0
    SOB    R2,2$

    BIC    #177717,R1   ;  .
    ASR    R1
    ASR    R1
    ASR    R1

    RTS    PC



--------------------
- !
+
SuperMax
20.10.2009, 15:30
#3



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1










;  ************************************************
;  *                                              *
;  *         T V -     *
;  *                                              *
;  ************************************************



;   =======================
;   *** DTVMN ***
;   =======================

    ARRUL    = 177664   ;-
    NZRUL0    = 1330       ;- . RRUL ..
    NZRUL1    = 230       ;- . RRUL .

    KSSTR    = 100       ;- .
    KTVSS    = 12       ;- . TV .
    KTVSSS    = 20       ;- . TV .

    DTVSTB    = 100       ;- TV
    DTVSTS    = 40
    DSSTRB    = 1200       ;-
    DSSTRS    = 500
    DSLSTB    = 2000       ;-
    DSLSTS    = 1000





; ========================================
; ***** *****
; ========================================


MFSIM:   ;:    R0 - .



;   =================================
;   *** 1. MFSTVM ***
;   =================================


BUMFS:    JSR    R4,PSREG   ;  
    INC    SCKOD       ;-

    TSTB    PRGRAF       ;  
    BEQ    1$
    JSR    PC,BTG
    BR    KBUMFS

1$:    BIC    #177400,R0   ;  
    CMPB    R0,#177
    BHI    2$
    CMPB    R0,#37
    BLOS    3$
    SUB    #20,R0
5$:    JSR    PC,BGS
    BR    KBUMFS
2$:    CMPB    R0,#237
    BLOS    4$
    SUB    #60,R0
    BR    5$

3$:    CMPB    R0,#21       ;  
    BLOS    6$
7$:    JSR    PC,BRS
    BR    KBUMFS

6$:    CMPB    R0,#10       ;  
    BEQ    7$
    JSR    PC,BUS
    BR    KBUMFS

4$:    JSR    PC,BFS       ;  

KBUMFS:    JSR    R4,PWREG
    RTS    PC



;   ====================================
;   *** 2. ***
;   ====================================


BGS:    JSR    PC,PFSIM   ;  

    ADD    DSIMB,NOMSIM   ;  
    JSR    PC,PFASIM

    JSR    PC,PFSK       ;  

    RTS    PC


;    --------------------------------------
;    ** 2.1. **
;    --------------------------------------

PFASIM:    TSTB    R5       ;   .
    BEQ    1$

    BIT    #77,NOMSIM   ;  
    BNE    2$

1$:    TSTB    PRNRUL       ;  . .
    BEQ    8$
    JSR    PC,PFSSTR
    CLRB    PRNRUL

8$:    CLR    R3       ;  . . . .
    MOV    NOMSIM,R5
    BPL    3$
    TST    (R3)+       ;-
6$:    ADD    #KSSTR,R5
    BMI    6$
    BR    4$
3$:    CMP    R5,KSVP       ;-
    BLO    5$
7$:    SUB    #KSSTR,R5
    CMP    R5,KSVP
    BHIS    7$

4$:    JSR    PC,PRUL       ;  

5$:    MOV    R5,NOMSIM   ;   AS
    MOV    R5,R4
    BIC    #177700,R4
    BIC    #77,R5
    ASL    R5
    ADD    R5,R4
    ASL    R5
    ASL    R5
    ADD    R5,R4
    ADD    BAZVP,R4
    BIC    #140000,R4
    ADD    ANVP,R4
    MOV    R4,AS
    BR    KFASIM

2$:    ADD    DSIMB,AS   ;   AS

KFASIM:    RTS    PC


;    -----------------------------
;    ** 2.1.1. **
;    -----------------------------

PRUL:    TSTB    PRRP       ;  
    BNE    1$

    MOV    KRUL1(R3),R4   ;   .
    MOV    BAZVP,R1
    MOV    #KTVSSS,R2
    MOV    #DSSTRB,-(SP)
    TST    R3
    BEQ    2$
    SUB    #DSLSTB,R1   ;-
    NEG    (SP)
2$:    BIC    #140000,R1
    ADD    ANVP,R1
    INCB    PRNRUL
    JSR    PC,(R4)

    MOV    #KTVSS,R4   ;  
    MOV    (SP)+,R1
    BPL    3$
    NEGB    R4       ;-
3$:    ADD    BAZVP,R1
    BIC    #140000,R1
    MOV    R1,BAZVP
    ADD    R4,@#ARRUL
    DECB    PRNRUL
    BR    KRUL

1$:    MOV    #36,R2       ;   .
    MOV    #73200,R1   ;-
    NEG    R3
    BEQ    4$
    MOV    #75600,R1   ;-
4$:    MOV    KRUL2(R3),R4
    JSR    PC,(R4)

KRUL:    RTS    PC
KRUL1:    .WORD    PSDWN
KRUL2:    .WORD    PSDWW


;    -------------------------------
;    ** 2.2. **
;    -------------------------------

PFSIM:    ASL    R0       ;   . .
    MOV    R0,R1
    ASL    R0
    ASL    R0
    ADD    R0,R1
    ADD    #IZSIM,R1

    MOV    AS,R3       ;  . .
    MOV    #11,R2

    TSTB    PRCW       ;  /
    BNE    PFCWS

;     -
;    ---------------------------------

    CLR    R0       ;  . .
    TSTB    PRINWS
    BEQ    1$
    COM    R0
1$:    TST    FON
    BEQ    2$
    COM    R0

2$:    MOVB    (R1)+,(R3)   ;  
    TST    R0
    BEQ    3$
    COMB    (R3)
3$:    JSR    PC,PFTAN
    SOB    R2,2$
    MOVB    (R1)+,(R3)
    TST    R0
    BEQ    4$
    COMB    (R3)

4$:    TSTB    PRPODC       ;  
    BEQ    KFSIM
    MOVB    MASCW,(R3)
    BR    KFSIM

;    
;    -----------------------------

PFCWS:    CLR    -(SP)

6$:    MOVB    (R1)+,R5   ;  . . .
    BIC    #177400,R5
    MOV    #20,R4
    CLR    R0

    TSTB    PRINWS       ;  
    BEQ    1$
    COMB    R5

1$:    TSTB    R5       ;  
    BEQ    2$
5$:    ASR    R5
    BCC    3$
    BEQ    4$
    BIS    MASPOZ(R4),R0
3$:    SUB    #2,R4
    BNE    5$
4$:    BIS    MASPOZ(R4),R0

2$:    MOV    FON,R5       ;  
    BIC    R0,R5
    MOV    MASCW,R4
    COM    R0
    BIC    R0,R4
    BIS    R5,R4

    MOV    R4,(R3)       ;  

    JSR    PC,PFTAN   ;  
    SOB    R2,6$

    TST    (SP)       ;  
    BNE    7$
    INC    (SP)
    INC    R2

    TSTB    PRPODC       ;  
    BEQ    6$
    MOV    MASCW,(R3)

7$:    MOV    (SP)+,R0

KFSIM:    RTS    PC


;    -------------------------------------------
;    ** 2.3. **
;    -------------------------------------------

PFSK:               ;   . .
PSTSK:    TSTB    PRGAHK       ;   . .
    BNE    KFSK

    MOV    AS,R3       ;  . .
    MOV    #KTVSS,R2

    TSTB    PRCW       ;  /
    BNE    1$

    MOV    #377,R5       ;  -
    ASR    R3
    BCC    2$
    SWAB    R5
2$:    ASL    R3
    BR    3$

1$:    MOV    MASCW,R5   ;  
    MOV    FON,R4
    XOR    R4,R5

3$:    XOR    R5,(R3)       ;  
    JSR    PC,PFTAN
    SOB    R2,3$

KFSK:    RTS    PC



;   ======================================
;   *** 3. ***
;   ======================================


BRS:    TSTB    PRBLR       ;   ..
    BEQ    1$
    JSR    PC,PFUS1
    BR    KBRS

1$:    MOV    NOMSIM,R1   ;  ..
    MOV    DSIMB,R2
    MOV    #KSSTR,R3

    CMPB    R0,#10       ;  
    BNE    2$
    SUB    R2,R1
    BR    3$

2$:    SUB    #22,R0       ;  
    ASL    R0
    MOV    4$(R0),R5
    JSR    PC,(R5)
    RTS    PC
4$:    .WORD    22$
    .WORD    PSTRW
    .WORD    PSTRN
    .WORD    25$
    .WORD    PSIML
    .WORD    PSIMP
    .WORD    PANSIM
    .WORD    31$
    .WORD    32$
    .WORD    33$
    .WORD    34$
    .WORD    35$
    .WORD    36$
    .WORD    37$

22$:    CLR    R1       ;  
    BR    3$

25$:    ADD    R3,R1       ;  
    BIC    #77,R1
    BR    3$

31$:    ADD    R2,R1       ;  
    BR    3$

32$:    SUB    R3,R1       ;  
    BR    3$

33$:    ADD    R3,R1       ;  
    BR    3$

34$:    SUB    R3,R1       ;  
    SUB    R2,R1
    BR    3$

35$:    SUB    R3,R1       ;  
    ADD    R2,R1
    BR    3$

36$:    ADD    R3,R1       ;  
    ADD    R2,R1
    BR    3$

37$:    ADD    R3,R1       ;  
    SUB    R2,R1

3$:    MOV    R1,NOMSIM   ;  
    JSR    PC,PREDSK

KBRS:    RTS    PC


;    -------------------------------
;    ** 3.1. **
;    -------------------------------

PANSIM:    JSR    PC,PSTSK
    SUB    DSIMB,NOMSIM
    CLR    R5
    JSR    PC,PFASIM
    JSR    PC,PSBRS
    JSR    PC,PFSK

    RTS    PC


;    ----------------------------------
;    ** 3.2. **
;    ----------------------------------

PSIML:    MOV    AS,R3       ;  
    MOV    R3,R4
    BIS    #76,R4
    BIS    DSIMB,R4
    MOV    #12,R2

3$:    MOV    R3,R1       ;  
    MOV    R1,R5
    ADD    DSIMB,R5

2$:    BIT    #77,R5       ;  
    BEQ    1$
    MOVB    (R5)+,(R1)+
    BR    2$

1$:    JSR    PC,PFTAN   ;   .
    SOB    R2,3$

    MOV    AS,-(SP)   ;   .
    MOV    R4,AS
    JSR    PC,PSBRS
    MOV    (SP)+,AS

    JSR    PC,PFSK

    RTS    PC


;    -----------------------------------
;    ** 3.4. **
;    -----------------------------------

PSIMP:    JSR    PC,PSTSK

    MOV    AS,R3       ;  .
    MOV    #12,R2

2$:    MOV    R3,R5       ;  .
    BIS    #77,R5
    INC    R5
    MOV    R5,R1
    SUB    DSIMB,R1

1$:    MOVB    -(R1),-(R5)   ;  
    CMP    R5,R3
    BNE    1$

    JSR    PC,PFTAN   ;   .
    SOB    R2,2$

    JSR    PC,PSBRS   ;   .

    JSR    PC,PFSK       ;  

    RTS    PC


;    -------------------------------
;    ** 3.4. **
;    -------------------------------

PSTRW:    MOV    AS,R1       ;  
    BIC    #77,R1
    ADD    #DSSTRB,R1
    BPL    1$
    SUB    DVPB,R1

1$:    JSR    PC,PSCTVS   ;  ...

    JSR    PC,PSDWW   ;  
    JSR    PC,PFSK

    RTS    PC


;    ------------------------------
;    ** 3.5. **
;    ------------------------------

PSTRN:    JSR    PC,PSTSK

    MOV    BAZVP,R1   ;   + 1
    ADD    DGPB,R1
    SUB    #DSSTRB,R1
    BIC    #140000,R1
    ADD    ANVP,R1

    JSR    PC,PSCTVS   ;  . . .

    JSR    PC,PSDWN   ;  
    JSR    PC,PFSK

    RTS    PC


;    ---------------------------------------
;    ** 3.6. TV **
;    ---------------------------------------

PSCTVS:    MOV    KSVP,R3       ;  
    MOV    NOMSIM,R2
    BIS    #77,R2
    INC    R2
    SUB    R2,R3

    MOV    #5,R2       ;   32
1$:    ASR    R3
    SOB    R2,1$

    MOV    R3,R2       ;   5
    ASL    R3
    ASL    R3
    ADD    R3,R2

    RTS    PC



;   ====================================
;   *** 4. ***
;   ====================================


BUS:    CMPB    R0,#12       ;  
    BNE    1$
    JSR    PC,PFUS
    BIT    #77,NOMSIM
    BNE    3$
    TSTB    PRISU
    BNE    KBUS
3$:    BIS    #77,NOMSIM
    INC    NOMSIM
    JSR    PC,PREDSK
    BR    KBUS

1$:    TSTB    PRBLR
    BNE    PFUS

    CMPB    R0,#14       ;  
    BNE    2$
    JSR    PC,PSBR
    BR    KBUS

2$:    CMPB    R0,#7       ;  
    BNE    PFUS
    JSR    PC,PSIGN
    BR    KBUS


;    --------------------------------------------
;    ** 4.1. **
;    --------------------------------------------

PFUS:    TSTB    PRISU       ;   ..
    BEQ    KFUS

PFUS1:    SUB    #20,R0       ;  .
    BMI    2$
4$:    JSR    PC,BGS
    BR    KFUS

2$:    CMPB    R0,#-10       ;  
    BNE    3$
    MOV    #1,R0
    BR    4$

3$:    ADD    #100,R0       ;  
    COMB    PRINWS
    JSR    PC,BGS
    COMB    PRINWS
    BR    KFUS

KFUS:
KBUS:    RTS    PC



;   =======================================
;   *** 5. ***
;   =======================================


BFS:    CMPB    R0,#202       ;  
    BNE    1$
    COMB    PRISU
    MOV    #3,R0
    BR    11$

1$:    CMPB    R0,#204       ;  
    BNE    2$
    COMB    PRBLR
    MOV    #4,R0
11$:    BR    BFS1

2$:    CMPB    R0,#214       ;  
    BNE    3$
    JSR    PC,PPRP
    BR    KBFS

3$:    MOVB    PRGRAF,R5
    BNE    BFS0
    TSTB    PRBLR
    BNE    BFS2

BFS0:    SUB    #221,R0       ;  
    BMI    KBFS
    ASL    R0
    ADD    R0,PC
    BR    21$
    BR    21$
    BR    21$
    BR    21$
    BR    25$
    BR    26$
    BR    27$
    BR    KBFS
    BR    31$
    BR    32$
    BR    33$
    BR    34$
    BR    35$
    BR    36$
    BR    37$

21$:    TSTB    PRCW
    BEQ    KBFS
    MOV    KMASCW(R0),R0   ;  ///
    CLRB    PRINWF
    JSR    PC,PSTK
    MOV    R0,MASCW
    JSR    PC,PFK
    BR    KBFS

25$:    JSR    PC,PPGRAF   ;  
1$:    MOV    #5,R0
    BR    BFS1

26$:    TST    R5       ;  
    BEQ    KBFS
    CLRB    PRSTIR
    COMB    PRZAP
    BR    1$

27$:    TST    R5       ;  
    BEQ    KBFS
    CLRB    PRZAP
    COMB    PRSTIR
    BR    1$

31$:    TST    R5       ;  . . .
    BNE    KBFS
    JSR    PC,PSBKST
    BR    KBFS

32$:    JSR    PC,PSTK       ;  . .
    COMB    PRGAHK
    JSR    PC,PFK
    BR    KBFS

33$:    JSR    PC,PPCW       ;  
    BR    KBFS

34$:    COMB    PRINWS       ;  ..
    MOV    #2,R0
    BR    BFS1

35$:    JSR    PC,PINWF   ;  . .
    BR    KBFS

36$:    MOV    FON,FONSS   ;  ..
    MOV    MASCW,MCWSS
    MOV    PRPODC,PRPSSS
    MOVB    PRCW,PRCWSS
    JSR    PC,PSTK
    JSR    PC,PFSSTR
    JSR    PC,PFK
    BR    KBFS

37$:    COMB    PRPODC       ;  .
    MOV    #1,R0

BFS1:    JSR    PC,PFINDR   ;  . .
    BR    KBFS

BFS2:    JSR    PC,PFFS       ;  . . .

KBFS:    RTS    PC


;    ------------------------------------------
;    ** 5.1. **
;    ------------------------------------------

PPRP:    COMB    PRRP
    BNE    PPRP2

PPRP1:    MOV    #40000,ANVP   ;  
    MOV    #40000,DVPB
    MOV    #36000,DGPB
    MOV    #3000,KSVP
    MOV    #NZRUL0,@#ARRUL
    BR    KPRP

PPRP2:    MOV    #70000,ANVP   ;  
    MOV    #10000,DVPB
    MOV    #5000,DGPB
    MOV    #400,KSVP
    MOV    #NZRUL1,@#ARRUL
    MOV    #77000,R3   ;- . . .
    MOV    #340,R4
1$:    MOV    FONSS,(R3)+
    SOB    R4,1$
    MOV    MCWSS,R1
    JSR    PC,PZTVSN

KPRP:    MOV    #DSLSTB,BAZVP   ;  .
    JSR    PC,PSBR       ;  
    JSR    PC,PFSSTR   ;  . . .

    RTS    PC


;    -------------------------------------------
;    ** 5.2. **
;    -------------------------------------------

PPGRAF:    JSR    PC,PSTK
    COMB    PRGRAF
    BEQ    1$

    MOVB    NMPGT,MASPGT   ;  . .
    CLR    DGW
    CLR    SCTVS
    MOV    AS,R0
    MOV    R0,AGT
    SUB    ANVP,R0
    SUB    BAZVP,R0
    BPL    2$
    ADD    DVPB,R0
2$:    MOV    R0,AGTVP
    BR    KPGRAF

1$:    CLRB    PRZAP       ;   .
    CLRB    PRSTIR
    TSTB    PRCW       ;- AS
    BEQ    3$
    BIC    #1,NOMSIM
3$:    CLR    R5
    JSR    PC,PFASIM

KPGRAF:    MOV    #5,R0
    JSR    PC,PFINDR
    JSR    PC,PFK

    RTS    PC


;    -----------------------------
;    ** 5.3. **
;    -----------------------------

PSBKST:    MOV    AS,-(SP)

1$:    JSR    PC,PSBRS   ;  
    ADD    DSIMB,AS
    BIT    #77,AS
    BNE    1$

    MOV    (SP)+,AS   ;  
    JSR    PC,PFSK

    RTS    PC


;    ---------------------------------------
;    ** 5.4. **
;    ---------------------------------------

PPCW:    JSR    PC,PSTK

    COMB    PRCW
    BNE    1$

    DEC    DSIMB       ;  -
    CLR    R5
    TSTB    PRINWF
    BEQ    2$
    COM    R5
2$:    MOV    R5,FON
    COM    R5
    MOV    R5,MASCW
    MOVB    #1,NMPGT   ;- .
    BICB    #252,MASPGT
    BR    3$

1$:    INC    DSIMB       ;  
    TSTB    PRGRAF
    BNE    6$
    INC    NOMSIM
    BIC    #1,NOMSIM
    CLR    R5
    JSR    PC,PFASIM
6$:    MOVB    #3,NMPGT   ;- .
    MOVB    MASPGT,R5
    BITB    #252,R5
    BEQ    4$
    ASRB    R5
    BR    5$
4$:    ASLB    R5
5$:    BISB    R5,MASPGT

3$:    JSR    PC,PFINDT
    JSR    PC,PFK

    RTS    PC


;    ------------------------
;    ** 5.5. **
;    ------------------------

PINWF:    COMB    PRINWF

    MOV    MASCW,R0   ;  
    MOV    FON,MASCW
    MOV    R0,FON

    MOV    MASCW,R5   ;  .
    XOR    R5,R0
    MOV    BAZVP,R1
    ADD    ANVP,R1
    MOV    DGPB,R2
    ASR    R2

2$:    XOR    R0,(R1)+   ;  
    TST    R1
    BPL    1$
    SUB    DVPB,R1
1$:    SOB    R2,2$

    RTS    PC


;    -----------------------------------------------
;    ** 5.6. **
;    -----------------------------------------------

PFFS:    CMPB    R0,#225       ;-
    BNE    1$
    MOV    #267,R0
    BR    2$
1$:    CMPB    R0,#226       ;-
    BNE    3$
    MOV    #312,R0
    BR    2$
3$:    CMPB    R0,#227       ;- C
    BNE    4$
    MOV    #303,R0
    BR    2$

4$:    ADD    #20,R0

2$:    COMB    PRINWS       ;  . .
    JSR    PC,PFSIM
    COMB    PRINWS

    ADD    DSIMB,NOMSIM   ;  .
    JSR    PC,PFASIM
    JSR    PC,PFSK

    RTS    PC



;   =================================
;   *** 6. ***
;   =================================


BTG:    CMPB    R0,#37       ;  
    BHI    1$
    JSR    PC,PFNGW
    BR    KBTG1

1$:    BIC    #177400,R0
    CMPB    R0,#71       ;  
    BHI    2$
    JSR    PC,PFDGW
    BR    KBTG

2$:    CMPB    R0,#237       ;  
    BHI    KBTG1
    JSR    PC,BFS

KBTG1:    CLR    DGW
KBTG:    RTS    PC


;    --------------------------------------
;    ** 6.1. GW **
;    --------------------------------------

PFNGW:    JSR    PC,PSTGK

    CLR    R1       ;  . .
    CLR    R2
    MOV    #DTVSTB,R4

    MOVB    R0,R3       ;  
    SUB    #31,R3
    BMI    1$
    ASL    R3
    ADD    R3,PC
    BR    31$
    BR    32$
    BR    33$
    BR    34$
    BR    35$
    BR    36$
    BR    37$

31$:    INC    R1       ;  
    BR    PFNGW2

32$:    SUB    R4,R2       ;  
    BR    PFNGW2

33$:    ADD    R4,R2       ;  
    BR    PFNGW2

34$:    SUB    R4,R2       ;  
    DEC    R1
    BR    PFNGW2

35$:    SUB    R4,R2       ;  
    INC    R1
    BR    PFNGW2

36$:    ADD    R4,R2       ;  
    INC    R1
    BR    PFNGW2

37$:    ADD    R4,R2       ;  
    DEC    R1
    BR    PFNGW2

1$:    CMPB    R0,#10       ;  
    BNE    2$
    DEC    R1
    BR    PFNGW2

2$:    CMPB    R0,#22       ;  
    BNE    3$
    CLR    NOMSIM
    JMP    PSBR1

3$:    CMPB    R0,#14       ;  
    BNE    KFNGW
    JSR    PC,PSBR
    RTS    PC

PFNGW2:    MOV    DGW,R4       ;   DGW
    BNE    PFGW
    CLRB    R0
    SWAB    R0
    INC    R0
    MOV    R0,R4


;    ----------------------------------------------
;    ** 6.1.1. **
;    ----------------------------------------------

PFGW:    TSTB    PRZAP       ;  
    BEQ    1$
    MOV    MASCW,R0
    BR    2$

1$:    TSTB    PRSTIR       ;  
    BEQ    3$
    MOV    FON,R0

2$:    MOVB    MASPGT,R5   ;  .
    BICB    R5,@AGT
    MOV    R0,R3
    COM    R5
    BIC    R5,R3
    BISB    R3,@AGT
    JSR    PC,PFAGT
    SOB    R4,2$
    BR    KFGW

3$:    JSR    PC,PFAGT   ;  
    SOB    R4,3$

KFGW:
KFNGW:    JSR    PC,PFGK
    RTS    PC


;    -------------------------------
;    ** 6.1.1.1. AGT **
;    -------------------------------

PFAGT:    MOV    AGTVP,R5
    ADD    R2,R5
    ADD    R2,SCTVS
    MOV    MASPGT,-(SP)
    MOV    #100,R3

    TST    R1       ;  //
    BEQ    1$
    BMI    2$

    ASLB    (SP)       ;  
    BCC    3$
    ADCB    (SP)
    INC    R5
    INC    NOMSIM
    BIT    #77,R5
    BNE    3$
    SUB    R3,R5
    SUB    R3,NOMSIM
3$:    TSTB    PRCW
    BEQ    1$
    ASLB    (SP)
    ADCB    (SP)
    BR    1$

2$:    CLC
    RORB    (SP)       ;  
    BCC    4$
    BISB    #200,(SP)
    BIT    #77,R5
    BNE    21$
    ADD    R3,R5
    ADD    R3,NOMSIM
21$:    DEC    NOMSIM
    DEC    R5
4$:    TSTB    PRCW
    BEQ    1$
    CLC
    RORB    (SP)
    BCC    1$
    BISB    #200,(SP)

1$:    MOV    (SP)+,MASPGT
    MOV    #DSSTRB,-(SP)
    TST    SCTVS
    BPL    11$
    NEG    R3
    NEG    (SP)
    BR    12$
11$:    CMP    SCTVS,(SP)
    BLO    13$
12$:    SUB    (SP),SCTVS
    ADD    R3,NOMSIM
    BMI    14$
    CMP    NOMSIM,KSVP
    BLO    13$
14$:    SUB    (SP),R5
    MOV    R5,-(SP)   ;-
    JSR    R4,PSREG
    CLR    R5
    JSR    PC,PFASIM
    JSR    R4,PWREG
    MOV    (SP)+,R5
13$:    MOV    (SP)+,R3

PFAGT1:    MOV    R5,AGTVP   ;- AGTVP
    ADD    BAZVP,R5   ;- AGT
    BIC    #140000,R5
    ADD    ANVP,R5
    MOV    R5,AGT

    RTS    PC


;    ----------------------------------------------
;    ** 6.1.2. **
;    ---------------------------------------------

PFGK:               ;  
PSTGK:    TSTB    PRGAHK       ;  .
    BNE    KFGK

    MOV    MASCW,R4   ;  
    MOV    FON,R5
    XOR    R5,R4
    CLR    R5
    BISB    MASPGT,R5
    COM    R5
    BIC    R5,R4

    MOV    AGT,R3       ;  .
    ASR    R3
    BCC    1$
    SWAB    R4
1$:    ASL    R3
    MOV    R3,R1
    SUB    #300,R3
    CMP    R3,ANVP
    BHIS    11$
    ADD    DVPB,R3

11$:    MOV    #7,R2       ;   .
2$:    XOR    R4,(R3)
    JSR    PC,PFTAN
    SOB    R2,2$

    MOV    #3,R2       ;  
    CLC
    MOVB    PRCW,R5
    BEQ    3$
    ASL    R2
3$:    ROR    R4       ;-
    BCC    4$
    DEC    R1
    ROR    R4
4$:    SOB    R2,3$
    BIC    #1,R1
    CMP    R1,ANVP
    BHI    41$
    ADD    DVPB,R1

41$:    MOV    #7,R2       ;   .
7$:    XOR    R4,(R1)
    ROL    R4
    BCC    5$
    JSR    PC,PFGK1
5$:    MOV    R5,R5
    BEQ    6$
    ROL    R4
    BCC    6$
    JSR    PC,PFGK1
6$:    SOB    R2,7$
KFGK:    RTS    PC

PFGK1:    ADD    #2,R1       ;  
    BPL    1$
    SUB    DVPB,R1
1$:    SEC
    ROL    R4
    RTS    PC


;    --------------------------------
;    ** 6.2. GW **
;    --------------------------------

PFDGW:    SUB    #60,R0
    BPL    1$
    CLR    R0
    BR    2$

1$:    MOV    DGW,R1       ;   10
    ASL    R1
    ADD    R1,R0
    ASL    R1
    ASL    R1
    ADD    R1,R0
2$:    MOV    R0,DGW

KFDGW:    RTS    PC




--------------------
- !
+
SuperMax
20.10.2009, 15:31
#4



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1











; ======================================
; ***** *****
; ======================================



;    :    R1 -
;        R2 - (..)
;           - - (..)


MFSTR:    MOV    R0,-(SP)
    MOV    R3,-(SP)

    MOV    R2,R3       ;  
    SWAB    R3
    BIC    #177400,R2

1$:    MOVB    (R1)+,R0   ;  
    JSR    PC,MFSIM
    CMPB    R0,R3
    BEQ    KMFSTR
    SOB    R2,1$

KMFSTR:    MOV    (SP)+,R3
    MOV    (SP)+,R0
    RTS    PC





; ======================================
; ***** *****
; ======================================


;    :    R0 - (0 - )
;        R1 -


MZSSS:    JSR    R4,PSREG

    TST    R0
    BNE    1$

    JSR    PC,PFSSTR   ;  
    BR    KMZSSS

1$:    CMPB    R0,#177       ;  . . .
    BHI    3$
    CMPB    R0,#10
    BNE    4$
    MOV    #21,R0
4$:    SUB    #20,R0
    BMI    KMZSSS
    BR    5$
3$:    CMPB    R0,#237
    BLOS    KMZSSS
    SUB    #60,R0

5$:    JSR    PC,PFSSS   ;  

KMZSSS:    JSR    R4,PWREG
    RTS    PC


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

PFSSS:    MOV    R1,-(SP)   ;  R0 -
    MOV    R2,-(SP)   ;  R1 -

    TSTB    PRCW       ;  . .
    BEQ    1$
    ASL    R1
1$:    BIC    #177700,R1
    ADD    BAZVP,R1
    SUB    #1700,R1
    BIC    #140000,R1
    ADD    ANVP,R1

    MOV    AS,-(SP)   ;  
    MOV    R1,AS
    BIC    #177400,R0
    JSR    PC,PFSIM
    MOV    (SP)+,AS

KFSSS:    MOV    (SP)+,R2
    MOV    (SP)+,R1
    RTS    PC





; ==============================================
; ***** *****
; ==============================================


;    :    R1 - X
;        R2 - Y


MUSTKK:    JSR    R4,PSREG
    JSR    PC,PSTK
    MOV    2(SP),R1
    MOV    4(SP),R2

    TSTB    PRCW       ;  . . X
    BEQ    1$
    ASL    R1

1$:    MOV    #6,R0       ;  . . Y
2$:    ASL    R2
    SOB    R0,2$

    TSTB    PRGRAF
    BNE    PUKGK


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

PUKSK:    BIC    #177700,R1   ;  . . X

1$:    SUB    KSVP,R2       ;  . . Y
    BPL    1$
2$:    ADD    KSVP,R2
    BMI    2$

    ADD    R1,R2       ;  . .
    MOV    R2,NOMSIM
    CLR    R5
    JSR    PC,PFASIM

    BR    KUSTKK


;    -------------------------------------------------
;    ** 2. **
;    -------------------------------------------------

PUKGK:    BIC    #177000,R1   ;  . . X
1$:    MOV    R1,R3
    ASR    R1
    ASR    R1
    ASR    R1

    MOVB    NMPGT,R0   ;  . MASPGT
    BIC    #177770,R3
    BEQ    2$
3$:    ASL    R0
    SOB    R3,3$
2$:    MOVB    R0,MASPGT

4$:    SUB    DGPB,R2       ;  . . Y
    BPL    4$
5$:    ADD    DGPB,R2
    BMI    5$

    ADD    R1,R2       ;   AGTVP
    MOV    R2,AGTVP

    CLR    R1       ;  . AGT
    CLR    R2
    JSR    PC,PFAGT

KUSTKK:    JSR    PC,PFK
    JSR    R4,PWREG
    RTS    PC





; ==========================================
; ***** ' *****
; ==========================================


;    :    R1 - X
;        R2 - Y


MSKK:    MOV    R0,-(SP)

    TSTB    PRGRAF
    BNE    PSKGK


;    -------------------------------------------
;    ** 1. ' **
;    -------------------------------------------

PSKSK:    MOV    NOMSIM,R1   ;  . X
    MOV    R1,R2
    BIC    #177700,R1

    BR    PSK1


;    --------------------------------------------
;    ** 2. ' **
;    --------------------------------------------

PSKGK:    MOV    AGTVP,R1   ;  . X
    MOV    R1,R2
    BIC    #177700,R1
    ASL    R1
    ASL    R1
    ASL    R1
    MOVB    MASPGT,R0
2$:    ASR    R0
    BCS    PSK1
    INC    R1
    BR    2$

PSK1:    TSTB    PRCW
    BEQ    3$
    ASR    R1

3$:    BIC    #77,R2       ;  . Y
    MOV    #6,R0
4$:    ASR    R2
    SOB    R0,4$

    MOV    (SP)+,R0
    RTS    PC





; =====================================
; ***** *****
; =====================================


;    :    R0 - 1-, 0-
;        R1 - X
;        R2 - Y


MFTCK:    MOV    R1,BUFX       ;  . .
    MOV    R2,BUFY
    MOVB    R0,PRZTCK

MFTCK1:    JSR    R4,PSREG   ;  . .

    TSTB    PRCW       ;  . . X
    BEQ    1$
    ASL    R1
    BCS    KMFTCK
1$:    CMP    R1,#1000
    BHIS    KMFTCK

    MOV    #6,R0       ;  . . Y
2$:    ASL    R2
    BCS    KMFTCK
    SOB    R0,2$
    CMP    R2,DGPB
    BHIS    KMFTCK

    MOV    R1,R3       ;  . .
    ASR    R1
    ASR    R1
    ASR    R1
    ADD    R2,R1
    ADD    BAZVP,R1
    BIC    #140000,R1
    ADD    ANVP,R1

    MOVB    NMPGT,R2   ;  
    BIC    #177770,R3
    BEQ    3$
4$:    ASL    R2
    SOB    R3,4$

3$:    MOVB    (R1),R0       ;  
    BICB    R2,R0
    MOV    MASCW,R3
    TSTB    PRZTCK
    BNE    5$
    MOV    FON,R3
5$:    COM    R2
    BIC    R2,R3
    BISB    R3,R0
    MOVB    R0,(R1)

KMFTCK:    JSR    R4,PWREG   ;  . .
    RTS    PC





; =======================================
; ***** *****
; =======================================


;    :    R0 - 1-, 0-
;        R1 - X
;        R2 - Y


MFWEKT:    JSR    R4,PSREG
    MOVB    R0,PRZTCK

    MOV    R1,R3       ;  
    MOV    R2,R4
    MOV    BUFX,R1
    MOV    BUFY,R2
    MOV    R3,BUFX
    MOV    R4,BUFY

    CLR    R0       ;  . DX
    SUB    R1,R3
    BMI    1$
    BEQ    2$
    INC    R0
    BR    2$
1$:    DEC    R0       ;-
    NEG    R3       ;- DX

2$:    CLR    R5       ;  . DY
    SUB    R2,R4
    BMI    3$
    BEQ    4$
    INC    R5
    BR    4$
3$:    DEC    R5       ;-
    NEG    R4       ;- DY

4$:    CMP    R4,R3       ;  . .
    BHI    5$
    MOV    R5,-(SP)   ;- DX >= DY
    CLR    -(SP)
    MOV    R3,R5
    MOV    R4,R3
    MOV    R5,R4       ;- R4 - .
    CLR    R5
    BR    6$
5$:    CLR    -(SP)       ;- DX < DY
    MOV    R0,-(SP)
    CLR    R0       ;- R0,R5 - D. (SP) - D.

6$:    CLR    -(SP)       ;  . .
    TST    R3
    BNE    7$
    INC    R3       ;-
    SUB    #12,SP
    BR    8$
7$:    SUB    R3,R4       ;- .
    BMI    9$
    INC    (SP)       ;-
    BR    7$
9$:    ADD    R3,R4       ;- R3 - . . R4 -
    MOV    R3,-(SP)   ;- . .
    MOV    R3,-(SP)
    ASR    (SP)       ;- . ./2
    MOV    R4,-(SP)   ;-
    CLR    -(SP)
    CLR    -(SP)
    CLR    R4

11$:    ADD    4(SP),2(SP)   ;  . .
    BEQ    10$
    CMP    2(SP),6(SP)
    BLE    10$
    INC    R4
    SUB    10(SP),2(SP)
10$:    ADD    12(SP),R4
    MOV    R4,(SP)
    ASR    R4
    SUB    R4,(SP)       ;- 2- .

    JSR    PC,PFSEGM   ;- . 1- .
    ADD    14(SP),R1
    ADD    16(SP),R2
    MOV    (SP),R4
8$:    JSR    PC,PFSEGM   ;- . 2- .

    SOB    R3,11$       ;   . .

    ADD    #20,SP
    JSR    R4,PWREG
    RTS    PC

PFSEGM:    TST    R4       ;  
    BEQ    KFSEGM
1$:    ADD    R0,R1
    ADD    R5,R2
    JSR    PC,MFTCK1
    SOB    R4,1$
KFSEGM:    RTS    PC





; =============================
; ***** *****
; =============================


;    :    R0 -


MCTSSD:    MOV    R1,-(SP)

    CLR    R0       ;  . .
    MOV    #SYSPR,R1

1$:    SEC           ;  
2$:    ROR    R0
    BCS    KCTSSD
    TSTB    (R1)+
    BNE    1$
    BR    2$

KCTSSD:    MOV    (SP)+,R1
    RTS    PC




;  ======================================
;  **** DTVMN ****
;  ======================================



;    -------------------------------
;    ** 0.1. **
;    -------------------------------


PSREG0:    MOV    #220,@#ASPORT   ;- . .

PSREG:    MOV    R3,-(SP)
    MOV    R2,-(SP)
    MOV    R1,-(SP)
    MOV    R0,-(SP)
    MOV    R4,-(SP)

    RTS    R4


;    -----------------------------------
;    ** 0.2. **
;    -----------------------------------

PWREG:    MOV    (SP)+,R0
    MOV    (SP)+,R0
    MOV    (SP)+,R1
    MOV    (SP)+,R2
    MOV    (SP)+,R3

    RTS    R4


;    ----------------
;    ** 0.3. **
;    ----------------

PSBR:    JSR    PC,PFINDT   ;  ...

    CLR    NOMSIM       ;  . AS
    JSR    PC,PFASIM

    MOV    FON,R0       ;   VP
    MOV    AS,R3
    MOV    DGPB,R2
    ASR    R2
1$:    MOV    R0,(R3)+
    TST    R3
    BPL    2$
    SUB    DVPB,R3
2$:    SOB    R2,1$

PSBR1:    CLR    R5       ;  . AGT
    JSR    PC,PFAGT1
    CLR    SCTVS
    MOVB    NMPGT,MASPGT

    JSR    PC,PFK       ;  .

    RTS    PC


;    ----------------------------------------
;    ** 0.4. **
;    ----------------------------------------

PFSSTR:    JSR    PC,PFINDT   ;  . . .

    MOV    MCWSS,R1   ;  .
    JSR    PC,PZTVSW

    MOV    FONSS,R1   ;  
    MOV    #KTVSSS-4,R4
1$:    JSR    PC,PZTVSW
    SOB    R4,1$

PUINDR:    CLR    R0       ;  
    CLR    SCKOD
    MOV    #6,R2
2$:    MOV    R0,-(SP)
    MOV    R2,-(SP)
    JSR    PC,PFINDR
    MOV    (SP)+,R2
    MOV    (SP)+,R0
    INC    R0
    SOB    R2,2$

    RTS    PC


;    -----------------------------------------
;    ** 0.5. **
;    -----------------------------------------

PFINDR:    INC    SCUIND       ;  . . . .
    TST    SCKOD
    BNE    KFINDR
    CLR    SCUIND

    MOV    #PRRUS,R1   ;  :  R0 - .
    ADD    R0,R1
    ASL    R0
    ADD    R0,PC
    BR    1$
    BR    2$
    BR    3$
    BR    4$
    BR    5$
    BR    6$

1$:    MOV    #LAT,R3       ;  /
    TSTB    (R1)
    BEQ    7$
    MOV    #RUS,R3
    BR    7$

2$:    TSTB    (R1)       ;  .
    BEQ    8$
    MOV    #PODC,R3
    BR    7$

3$:    TSTB    (R1)       ;  . .
    BEQ    8$
    MOV    #INW,R3
    BR    7$

4$:    TSTB    (R1)       ;  .
    BEQ    8$
    MOV    #ISU,R3
    BR    7$

5$:    TSTB    (R1)       ;  . .
    BEQ    8$
    MOV    #BLR,R3
    BR    7$

6$:    TSTB    (R1)       ;  //
    BEQ    8$
    TSTB    PRZAP
    BEQ    9$
    MOV    #ZAP,R3
    BR    7$
9$:    MOV    #GRAF,R3
    TSTB    PRSTIR
    BEQ    7$
    MOV    #STIR,R3
    BR    7$

8$:    MOV    #SBRIND,R3   ;   .

7$:    ASL    R0       ;  . . .
    ADD    #4,R0
    MOV    #100,R1
    TSTB    PRCWSS
    BEQ    10$
    ASR    R1
10$:    SUB    R0,R1
    MOV    #4,R2

    MOV    FON,-(SP)   ;  
    MOV    MASCW,-(SP)
    MOV    PRCW,-(SP)
    MOV    PRPODC,-(SP)

    MOV    FONSS,FON   ;  
    MOV    MCWSS,MASCW
    MOVB    PRCWSS,PRCW
    MOV    PRPSSS,PRPODC

11$:    MOVB    (R3)+,R0   ;  
    MOV    R3,-(SP)
    JSR    PC,PFSSS
    MOV    (SP)+,R3
    INC    R1
    SOB    R2,11$

    MOV    (SP)+,PRPODC   ;  .
    MOV    (SP)+,PRCW
    MOV    (SP)+,MASCW
    MOV    (SP)+,FON

KFINDR:    RTS    PC


;    --------------------------------------------
;    ** 0.6. **
;    --------------------------------------------

PFINDT:    MOV    FONSS,R1   ;  
    MOV    BAZVP,R3
    ADD    ANVP,R3
    MOV    #3,R4
10$:    JSR    PC,PZTVSW
    SOB    R4,10$

    MOV    #20,R4       ;  .
    TSTB    PRCW
    BEQ    1$
    ASL    R4

1$:    CLR    R5       ;  
7$:    CLR    R2
    MOV    MTAB(R5),R0
4$:    ROR    R0
    BCS    2$
    BEQ    3$
6$:    INC    R2
    BR    4$

2$:    MOV    R2,R1       ;  
    TSTB    PRCW
    BNE    5$
    ADD    R3,R1
    MOVB    MCWSS,(R1)
    BR    6$
5$:    ASL    R1
    ADD    R3,R1
    MOV    MCWSS,(R1)
    BR    6$

3$:    ADD    #2,R5       ;  
    ADD    R4,R3
    BIT    #77,R3
    BNE    7$
    SUB    #100,R3

    RTS    PC


;    -------------------------------
;    ** 0.7. **
;    -------------------------------

PFK:               ;  . .
PSTK:    TSTB    PRGRAF
    BNE    1$
    JSR    PC,PFSK       ;  .
    MOV    #KPOWTS,BKPOWT
    BR    KFK
1$:    JSR    PC,PFGK       ;  .
    MOV    #KPOWTG,BKPOWT

KFK:    RTS    PC


;    ---------------------------------------------
;    ** 0.8. **
;    ---------------------------------------------

PREDSK:    JSR    PC,PSTSK
    CLR    R5
    JSR    PC,PFASIM
    JSR    PC,PFSK

    RTS    PC


;    ------------------------
;    ** 0.9. **
;    ------------------------

PSBRS:    MOV    FON,R0       ;  . .
    MOV    AS,R3
    MOV    #12,R2

3$:    TSTB    PRCW       ;  
    BNE    1$
    MOVB    R0,(R3)
    BR    2$
1$:    MOV    R0,(R3)

2$:    JSR    PC,PFTAN   ;   .
    SOB    R2,3$

    RTS    PC


;    ---------------------------------------------
;    ** 0.10. **
;    ---------------------------------------------

PFTAN:    ADD    #DTVSTB,R3
    BPL    KFTAN
    SUB    DVPB,R3

KFTAN:    RTS    PC


;    --------------------------------------
;    ** 0.11. TV- **
;    --------------------------------------

PZTVSW:    MOV    #DTVSTS,R2   ;  R1 - , R3 -
    CMP    R3,ANVP
    BHI    1$
    ADD    DVPB,R3
1$:    MOV    R1,-(R3)
    SOB    R2,1$

    RTS    PC


;    -------------------------------------
;    ** 0.12. TV- **
;    -------------------------------------

PZTVSN:    MOV    #DTVSTS,R2   ;  R1 - , R3 -
    TST    R3
    BPL    1$
    SUB    DVPB,R3
1$:    MOV    R1,(R3)+
    SOB    R2,1$

    RTS    PC


;    -----------------------
;    ** 0.13. **
;    -----------------------

PSDWW:    MOV    R1,R3       ;  
    SUB    #DSSTRB,R3
    CMP    R3,ANVP
    BHIS    1$
    ADD    DVPB,R3

1$:    TST    R2       ;  
    BEQ    PSBRSN

5$:    MOV    #DTVSTS,R4   ;  
2$:    MOV    (R1)+,(R3)+
    SOB    R4,2$
    TST    R1
    BPL    3$
    SUB    DVPB,R1
    BR    4$
3$:    TST    R3
    BPL    4$
    SUB    DVPB,R3
4$:    SOB    R2,5$

PSBRSN:    MOV    #KTVSS,R4   ;  
    MOV    FON,R1
1$:    JSR    PC,PZTVSN
    SOB    R4,1$

    RTS    PC


;    ----------------------
;    ** 0.14. **
;    ----------------------

PSDWN:    MOV    R1,R3       ;  .
    ADD    #DSSTRB,R3
    CMP    R1,ANVP
    BHI    11$
    ADD    DVPB,R1
11$:    CMP    R3,#100000
    BLOS    1$
    SUB    DVPB,R3

1$:    TST    R2       ;  
    BEQ    PSBRSW

5$:    MOV    #DTVSTS,R4   ;  
2$:    MOV    -(R1),-(R3)
    SOB    R4,2$
    CMP    R1,ANVP
    BHI    3$
    ADD    DVPB,R1
    BR    4$
3$:    CMP    R3,ANVP
    BHI    4$
    ADD    DVPB,R3
4$:    SOB    R2,5$

PSBRSW:    MOV    #KTVSS,R4   ;  
    MOV    FON,R1
1$:    JSR    PC,PZTVSW
    SOB    R4,1$

    RTS    PC




--------------------
- !
+
SuperMax
20.10.2009, 15:31
#5



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1








;  ======================
;  **** DTVMN ****
;  ======================


;    ----------------
;    ** **
;    ----------------

LAT:    .BYTE    20,274,261,304
RUS:    .BYTE    20,302,305,303
PODC:    .BYTE    300,277,264,316
INW:    .BYTE    271,276,307,20
ISU:    .BYTE    271,303,305,20
BLR:    .BYTE    262,274,302,20
GRAF:    .BYTE    267,302,261,266
ZAP:    .BYTE    312,261,300,20
STIR:    .BYTE    303,304,271,302
SBRIND:    .BYTE    20,20,20,20


;    -----------
;    ** **
;    -----------

MASPOZ:    .WORD    177777       ;  
    .WORD    140000
    .WORD    030000
    .WORD    006000
    .WORD    001400
    .WORD    000300
    .WORD    000060
    .WORD    000014
    .WORD    000003

KMASCW:    .WORD    177777       ;   (///)
    .WORD    125252
    .WORD    052525
    .WORD    000000


;    --------------------------
;    ** **
;    --------------------------

IZSIM:    .WORD    160777,156735,176741,176775,177777   ;  ^P
    .WORD    000000,002010,002176,000010,000000   ;  
    .WORD    000577,006475,022425,000501,000000   ;  
    .WORD    037000,016010,004052,004010,000000   ;  ..
    .WORD    004000,004010,016052,037010,000000   ;  ..
    .WORD    000000,042110,002176,000010,000000   ;  
    .WORD    000000,005022,005176,000022,000000   ;  ..
    .WORD    000000,021022,021176,000022,000000   ;  ..
    .WORD    000000,022050,022176,000050,000000   ;  
    .WORD    000000,020020,020176,000020,000000   ;  
    .WORD    004000,025034,004010,004010,000000   ;  
    .WORD    004000,004010,025010,004034,000000   ;  
    .WORD    017000,005006,020022,000100,000000   ;  
    .WORD    074000,050140,002110,000002,000000   ;  
    .WORD    000000,002002,050110,074140,000000   ;  
    .WORD    000000,020100,005022,017006,000000   ;  

    .WORD    000000,000000,000000,000000,000000   ;  
    .WORD    004000,004010,004010,004000,000000   ;  !
    .WORD    022000,011044,000000,000000,000000   ;  "
    .WORD    012000,037024,037024,012024,000000   ;  #
    .WORD    021000,021034,021042,021034,000000   ;  $
    .WORD    003000,010046,002010,030062,000000   ;  %
    .WORD    004000,012024,025014,026022,000000   ;  &
    .WORD    014000,002010,000000,000000,000000   ;  '
    .WORD    010000,002010,002004,010010,000000   ;  (
    .WORD    002000,010010,010020,002010,000000   ;  )
    .WORD    000000,025010,025034,000010,000000   ;  *
    .WORD    000000,004010,004076,000010,000000   ;  +
    .WORD    000000,000000,000000,006014,002010   ;  ,
    .WORD    000000,000000,000076,000000,000000   ;  -
    .WORD    000000,000000,000000,006014,000000   ;  .
    .WORD    000000,010040,002010,000002,000000   ;  /
    .WORD    016000,031042,023052,016042,000000   ;  0
    .WORD    004000,005014,004010,037010,000000   ;  1
    .WORD    016000,020042,002030,037002,000000   ;  2
    .WORD    037000,010040,020030,016042,000000   ;  3
    .WORD    010000,012030,037022,010020,000000   ;  4
    .WORD    037000,017002,020040,016042,000000   ;  5
    .WORD    034000,001004,021036,016042,000000   ;  6
    .WORD    037000,010040,002010,002004,000000   ;  7
    .WORD    016000,021042,021034,016042,000000   ;  8
    .WORD    016000,021042,020074,007020,000000   ;  9
    .WORD    000000,006000,000014,006014,000000   ;  :
    .WORD    000000,006000,000014,006014,002010   ; ;
    .WORD    010000,002010,002002,010010,000000   ;  <
    .WORD    000000,037000,037000,000000,000000   ;  =
    .WORD    002000,010010,010040,002010,000000   ;  >
    .WORD    016000,020042,004020,004000,000000   ;  ?

    .WORD    016000,025062,035052,016002,000000   ;  @
    .WORD    004000,021024,037042,021042,000000   ;  A
    .WORD    017000,021042,021036,017042,000000   ;  B
    .WORD    016000,001042,001002,016042,000000   ;  C
    .WORD    017000,022044,022044,017044,000000   ;  D
    .WORD    037000,001002,001036,037002,000000   ;  E
    .WORD    037000,001002,001036,001002,000000   ;  F
    .WORD    016000,001042,031002,036042,000000   ;  G
    .WORD    021000,021042,021076,021042,000000   ;  H
    .WORD    016000,004010,004010,016010,000000   ;  I
    .WORD    034000,010020,010020,006022,000000   ;  J
    .WORD    021000,005022,005006,021022,000000   ;  K
    .WORD    001000,001002,001002,037002,000000   ;  L
    .WORD    021000,025066,021052,021042,000000   ;  M
    .WORD    021000,023042,031052,021042,000000   ;  N
    .WORD    016000,021042,021042,016042,000000   ;  O
    .WORD    017000,021042,001036,001002,000000   ;  P
    .WORD    016000,021042,025042,026022,000000   ;  Q
    .WORD    017000,021042,005036,021022,000000   ;  R
    .WORD    016000,001042,020034,016042,000000   ;  S
    .WORD    037000,004010,004010,004010,000000   ;  T
    .WORD    021000,021042,021042,016042,000000   ;  U
    .WORD    021000,021042,012024,004010,000000   ;  V
    .WORD    021000,021042,025052,012052,000000   ;  W
    .WORD    021000,012042,012010,021042,000000   ;  X
    .WORD    021000,012042,004010,004010,000000   ;  Y
    .WORD    037000,010040,002010,037002,000000   ;  Z
    .WORD    016000,002004,002004,016004,000000   ;  [
    .WORD    000000,002002,010010,000040,000000   ;  \
    .WORD    016000,010020,010020,016020,000000   ;  ]
    .WORD    000000,037000,020040,000000,000000   ;  ^
    .WORD    000000,000000,000000,000000,000076   ;  _

    .WORD    006000,010010,000000,000000,000000   ;  ^'
    .WORD    000000,016000,036040,056042,000000   ;  SA
    .WORD    001000,015002,021046,015046,000000   ;  SB
    .WORD    000000,016000,001042,016042,000000   ;  SC
    .WORD    020000,026040,021062,026062,000000   ;  SD
    .WORD    000000,016000,037042,036002,000000   ;  SE
    .WORD    014000,002044,002016,002004,000000   ;  SF
    .WORD    000000,026000,021062,026062,016040   ;  SG
    .WORD    001000,015002,021046,021042,000000   ;  SH
    .WORD    004000,006000,004010,016010,000000   ;  SI
    .WORD    010000,010000,010020,010020,006022   ;  SJ
    .WORD    001000,021002,007022,021022,000000   ;  SK
    .WORD    006000,004010,004010,016010,000000   ;  SL
    .WORD    000000,013000,025052,025052,000000   ;  SM
    .WORD    000000,015000,021046,021042,000000   ;  SN
    .WORD    000000,016000,021042,016042,000000   ;  SO
    .WORD    000000,015000,021046,015046,001002   ;  SP
    .WORD    000000,026000,021062,026062,020040   ;  SQ
    .WORD    000000,015000,001046,001002,000000   ;  SR
    .WORD    000000,016000,016002,017040,000000   ;  SS
    .WORD    002000,007004,002004,014044,000000   ;  ST
    .WORD    000000,021000,021042,026062,000000   ;  SU
    .WORD    000000,021000,021042,004024,000000   ;  SV
    .WORD    000000,021000,025042,012052,000000   ;  SW
    .WORD    000000,021000,004024,021024,000000   ;  SX
    .WORD    000000,021000,021042,004024,001004   ;  SY
    .WORD    000000,037000,004020,037004,000000   ;  SZ
    .WORD    030000,004010,004006,030010,000000   ;  F[
    .WORD    004000,004010,004010,004010,000000   ;  ^I
    .WORD    003000,004010,004060,003010,000000   ;  F]
    .WORD    000076,000000,000000,000000,000000   ;  ^_
    .WORD    037000,037076,037076,037076,000000   ;  

    .WORD    037100,012025,012024,021024,000000   ;  
    .WORD    004010,004010,000377,000000,000000   ;  _I
    .WORD    033000,077577,037177,004010,000000   ;  
    .WORD    000000,000000,004017,004010,004010   ;  ^
    .WORD    004010,007410,007410,004010,004010   ;  =I
    .WORD    004010,004010,004370,004010,004010   ;  I-
    .WORD    004010,004010,000370,000000,000000   ;  L
    .WORD    000000,177400,177400,000000,000000   ;  =
    .WORD    000000,177400,177400,004010,004010   ;  T-
    .WORD    004000,037034,077577,037034,000000   ;  
    .WORD    000000,000000,004370,004010,004010   ;  
    .WORD    000000,000000,004377,004010,004010   ;  T
    .WORD    012024,012024,000377,000000,000000   ;  _II
    .WORD    004000,004010,025010,004034,000000   ;  
    .WORD    004010,004010,004377,004010,004010   ;  +
    .WORD    012024,012024,012024,012024,012024   ;  II
    .WORD    004010,004010,004017,004010,004010   ;  -I
    .WORD    000000,002010,002176,000010,000000   ;  
    .WORD    012024,177424,177424,012024,012024   ;  ++
    .WORD    004000,025034,004010,004010,000000   ;  
    .WORD    016000,065434,065577,016010,000000   ;  
    .WORD    000000,000000,000377,000000,000000   ;  -
    .WORD    012024,012024,012377,012024,012024   ;  -II
    .WORD    004010,004010,004010,004010,004010   ;  I
    .WORD    004000,037034,037177,004034,000000   ;  
    .WORD    004010,004010,000017,000000,000000   ;  ^L
    .WORD    004010,177410,177410,004010,004010   ;  /=
    .WORD    000000,000000,012377,012024,012024   ;  
    .WORD    004010,177410,177400,000000,000000   ;  __I
    .WORD    004010,174010,174010,004010,004010   ;  I=
    .WORD    000000,020020,020176,000020,000000   ;  
    .WORD    031714,031714,031714,031714,031714   ;  

    .WORD    000000,031000,047112,031112,000000   ;  
    .WORD    000000,016000,036040,056042,000000   ;  
    .WORD    020000,001034,021036,016042,000000   ;  
    .WORD    000000,011000,011022,037022,000040   ;  
    .WORD    000000,036000,022044,077044,000102   ;  
    .WORD    000000,016000,037042,036002,000000   ;  
    .WORD    000000,004000,025076,037052,004010   ;  
    .WORD    000000,037000,001042,001002,000000   ;  
    .WORD    000000,021000,004024,021024,000000   ;  
    .WORD    000000,021000,025062,021046,000000   ;  
    .WORD    016000,021000,025062,021046,000000   ;  
    .WORD    000000,021000,007022,021022,000000   ;  
    .WORD    000000,034000,022044,021044,000000   ;  
    .WORD    000000,021000,025066,021042,000000   ;  
    .WORD    000000,021000,037042,021042,000000   ;  
    .WORD    000000,016000,021042,016042,000000   ;  
    .WORD    000000,037000,021042,021042,000000   ;  
    .WORD    000000,036000,036042,021044,000000   ;  
    .WORD    000000,015000,021046,015046,001002   ;  
    .WORD    000000,016000,001042,016042,000000   ;  
    .WORD    000000,037000,004010,004010,000000   ;  
    .WORD    000000,021000,021042,004024,001004   ;  
    .WORD    000000,025000,016052,025052,000000   ;  
    .WORD    000000,017000,017042,017042,000000   ;  
    .WORD    000000,001000,017002,017042,000000   ;  
    .WORD    000000,041000,047102,047122,000000   ;  
    .WORD    000000,017000,014040,017040,000000   ;  
    .WORD    000000,025000,025052,037052,000000   ;  
    .WORD    000000,017000,036040,017040,000000   ;  
    .WORD    000000,025000,025052,077052,000100   ;  
    .WORD    000000,021000,037042,020040,000000   ;  
    .WORD    000000,003400,036005,036104,000000   ;  '

    .WORD    031000,045112,045116,031112,000000   ;  
    .WORD    004000,021024,037042,021042,000000   ;  A
    .WORD    037000,001002,021036,017042,000000   ;  
    .WORD    021000,021042,021042,077042,000100   ;  
    .WORD    036000,022044,022044,077044,000102   ;  
    .WORD    037000,001002,001036,037002,000000   ;  E
    .WORD    004000,025076,025052,004076,000000   ;  
    .WORD    037000,001042,001002,001002,000000   ;  
    .WORD    021000,012042,012010,021042,000000   ;  
    .WORD    021000,031042,023052,021042,000000   ;  
    .WORD    000034,031042,023052,021042,000000   ;  
    .WORD    021000,005022,005006,021022,000000   ;  
    .WORD    034000,022044,022044,021044,000000   ;  
    .WORD    021000,025066,021052,021042,000000   ;  
    .WORD    021000,021042,021076,021042,000000   ;  
    .WORD    016000,021042,021042,016042,000000   ;  
    .WORD    037000,021042,021042,021042,000000   ;  
    .WORD    036000,021042,024074,021044,000000   ;  
    .WORD    017000,021042,001036,001002,000000   ;  
    .WORD    016000,001042,001002,016042,000000   ;  
    .WORD    037000,004010,004010,004010,000000   ;  
    .WORD    021000,021042,004024,001004,000000   ;  
    .WORD    025000,025052,025034,025052,000000   ;  
    .WORD    017000,021042,021036,017042,000000   ;  
    .WORD    001000,001002,021036,017042,000000   ;  
    .WORD    041000,041102,051116,047122,000000   ;  
    .WORD    016000,020042,020030,016042,000000   ;  
    .WORD    021000,025052,025052,037052,000000   ;  
    .WORD    007000,020020,020074,007020,000000   ;  
    .WORD    021000,025052,025052,077052,000100   ;  
    .WORD    021000,021042,020076,020040,000000   ;  
    .WORD    003400,002005,042074,036104,000000   ;  '



--------------------
- !
+
SuperMax
20.10.2009, 15:32
#6



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1










;  ************************************************
;  *                                              *
;  *              *
;  *                                              *
;  ************************************************



;   ======================
;   *** DMAG ***
;   ======================

    ASPORT    = 177716   ;-
    APSTOP    = 4       ;- ""

    KDBIT0    = 100       ;-
    KDBIT1    = 400       ;
    DRAZBR    = 4       ;- ..

    KPUSK    = 20       ;- .
    KSTOP    = 220       ;- .
    KBIT00    = 20       ;- . -0
    KBIT10    = 60       ;- . -1
    KBIT01    = 160       ;- . +0
    KBIT11    = 120       ;- . +1





; ==================================
; ***** DMAG *****
; ==================================


;    :    R1 -

;    R3  -  

MDMAG:    JSR    R4,PSREG

    MOV    R1,ABP       ;  .
    MOV    #ASPORT,R3
    CLRB    PROH
    CLR    PRFCT

    MOV    @#APSTOP,-(SP)   ;  . . ""
    MOV    #AWDMAG,@#APSTOP
    MOV    SP,BUFSP

    MOVB    (R1),R0       ;  

    BNE    1$       ;-
    MOV    #KSTOP,(R3)
    BR    KMDMAG

1$:    DEC    R0       ;-
    BNE    2$
    MOV    #KPUSK,(R3)
    BR    KMDMAG

2$:    DEC    R0       ;-
    BNE    3$
    JSR    PC,BZMAS
    BR    KMDMAG

3$:    DEC    R0       ;-
    BNE    4$
5$:    JSR    PC,BCTMAS
    BR    KMDMAG

4$:    INC    PRFCT       ;-
    DEC    R0
    BEQ    5$

    MOV    #KDBIT0,DLBIT0   ;-
    MOV    #KDBIT1,DLBIT1
    BR    6$
7$:    ASR    DLBIT0
    ASR    DLBIT1
6$:    SOB    R0,7$
    BR    KMDMAG

AWDMAG:    MOV    BUFSP,SP   ;   DMAG
    MOVB    #4,PROH
    MOV    #KSTOP,(R3)   ;-

KMDMAG:    MOV    ABP,R1       ;  
    MOVB    PROH,1(R1)
    MOV    (SP)+,@#APSTOP

    JSR    R4,PWREG
    RTS    PC



;   ==============================
;   *** 1. ***
;   ==============================


;    :    R1  -

BZMAS:    MOV    #KPUSK,(R3)   ;  

    MOV    2(R1),R5   ;  
    MOV    4(R1),R4
    BEQ    1$
    CLR    R0
2$:    CLR    R2
    BISB    (R5)+,R2
    ADD    R2,R0
    ADC    R0
    SOB    R4,2$
    MOV    R0,BUFKS

    MOV    #11,R4       ;  
    MOV    #10000,R0
    BR    3$
4$:    MOV    R4,R0
3$:    JSR    PC,PZNP
    SOB    R4,4$

    MOV    (R1)+,R0   ;  
    MOV    #24,R2
    JSR    PC,PZBL

    MOV    ABP,R1       ;  
    MOV    4(R1),R2
    MOV    2(R1),R1
    JSR    PC,PZBL

    MOV    #BUFKS,R1   ;   KS
    MOV    #10,R2
    JSR    PC,PZBL

1$:    MOV    #KSTOP,(R3)   ;-

    RTS    PC


;    ------------------------------------------------
;    ** 1.1. **
;    ------------------------------------------------

;    :   R0  -

;    :  C = 0

;    R0,R5  -

PZNP:    BCS    1$

2$:    JSR    PC,PZ0P       ;   0
1$:    JSR    PC,PZ0M
    SOB    R0,2$

    JSR    PC,PZ1P       ;   (+1,-1)
    JSR    PC,PZ1M

    RTS    PC


;    -----------------------
;    ** 1.2. **
;    -----------------------

;    :   R1  -
;        R2  -

;    R0 - R2,R4,R5  -

PZBL:    MOV    #20,R0       ;   . .
    JSR    PC,PZNP

PZBL1:    BISB    (R1)+,R0   ;-
    MOV    #10,R4

PZB:    BCS    PZMBIT       ;  

    ASR    R0
    BCS    1$
    JSR    PC,PZ0P       ;- +0
    BR    KZB

1$:    JSR    PC,PZ1P       ;- +1
    BR    KZB

PZMBIT:    ASR    R0
    BCS    1$
    JSR    PC,PZ0M       ;- -0
    BR    KZB

1$:    JSR    PC,PZ1M       ;- -1
    BR    KZB

KZB:    SOB    R4,PZB       ;  

KZBL:    SOB    R2,PZBL1   ;  

    RTS    PC


;    ----------------------
;    ** 1.3. **
;    ----------------------

PZ0P:    MOV    #KBIT01,(R3)   ;   +0
    MOV    DLBIT0,R5
1$:    SOB    R5,1$
    SEC
    RTS    PC

PZ0M:    MOV    #KBIT00,(R3)   ;   -0
    MOV    DLBIT0,R5
1$:    SOB    R5,1$
    CLC
    RTS    PC


PZ1P:    MOV    #KBIT11,(R3)   ;   +1
    MOV    DLBIT1,R5
1$:    SOB    R5,1$
    SEC
    RTS    PC

PZ1M:    MOV    #KBIT10,(R3)   ;   -1
    MOV    DLBIT1,R5
1$:    SOB    R5,1$
    CLC
    RTS    PC



;   ==============================
;   *** 2. ***
;   ==============================


;    R0 - R5  -
;    R5  -

BCTMAS:    MOV    #40,R5       ;  ..
    MOV    #KPUSK,(R3)
    MOV    #1,INCADR

    CLR    PROH
    JSR    PC,PPNF       ;  

    JSR    PC,PCTIM   ;   IMMAS
    TSTB    PROH
    BNE    KCTMAS

    JSR    PC,PCTMAS   ;  
    MOV    #KSTOP,(R3)

KCTMAS:    RTS    PC


;    -----------------------------
;    ** 2.1. **
;    -----------------------------

PPNF:    MOV    #2000,R2   ;  
    CLR    R0

4$:    CLR    R4       ;-
1$:    BIT    R5,(R3)
    BEQ    1$
2$:    INC    R4
    BIT    R5,(R3)
    BNE    2$

    SUB    R4,R0       ;  
    BMI    3$
    CMP    R0,#DRAZBR
    BHI    PPNF
3$:    MOV    R4,R0
    SOB    R2,4$

    CLR    R0       ;  
    MOV    #100,R2
5$:    JSR    PC,PCTBIT   ;-
    ADD    R4,R0
    SOB    R2,5$

    MOV    #5,R2       ;- 0
6$:    ASR    R0
    SOB    R2,6$
    ADD    #4,R0
    MOV    R0,GRDL0

    JSR    PC,PPM       ;  
    MOV    #20,R0
11$:    MOV    R0,R2
10$:    JSR    PC,PCTBIT
    BCS    PPNF
    SOB    R2,10$
    JSR    PC,PCTBIT
    BCC    PPNF
    JSR    PC,PCTBIT
    BCC    PPNF
    DEC    R0
    SOB    R0,11$

    RTS    PC


;    -------------------------------
;    ** 2.2. **
;    -------------------------------

PCTIM:    MOV    ABP,R1       ;  
    ADD    #26,R1
    MOV    #24,R2
    JSR    PC,PCTBL

    MOV    #10,R2
2$:    CMP    -(R1),-24(R1)   ;  
    BNE    1$
    SOB    R2,2$

    MOV    -(R1),BUFDL   ;- .
    MOV    -26(R1),BUFSTA   ;- . .
    BNE    KCTIM
    MOV    -(R1),BUFSTA
    BR    KCTIM

1$:    INCB    PROH

KCTIM:    RTS    PC


;    -------------------------
;    ** 2.3. **
;    -------------------------

PCTMAS:    MOV    BUFSTA,R1   ;  
    MOV    BUFDL,R2
    SUB    PRFCT,INCADR
    BNE    1$
    MOV    #BUFKS,R1   ;-
1$:    JSR    PC,PCTBL
    MOV    R0,-(SP)

    MOV    #BUFKS,R1   ;   KS
    MOV    #2,R2
    MOV    #1,INCADR
    JSR    PC,PCTBL

    CMP    (SP)+,BUFKS   ;   KS
    BEQ    KCTM
    MOVB    #2,PROH

KCTM:    RTS    PC


;    -----------------------
;    ** 2.4. **
;    -----------------------

;    :    R1  -
;        R2  -

;    :  R0  -

PCTBL:    JSR    PC,PPM       ;  
    CLR    -(SP)

2$:    MOV    #10,R0       ;  

1$:    JSR    PC,PCTBIT   ;  
    RORB    (R1)
    SOB    R0,1$

    BISB    (R1),R0       ;- KS
    ADD    R0,(SP)
    ADC    (SP)

    ADD    INCADR,R1   ;-
    SOB    R2,2$

    MOV    (SP)+,R0
KCTBL:    RTS    PC


;    ----------------------
;    ** 2.5. **
;    ----------------------

;    :  C = 0  - 0
;        C = 1  - 1

;    R4  -

PCTBIT:    CLR    R4       ;  

    BIT    R5,(R3)
    BEQ    1$

2$:    INC    R4       ;  +
    BIT    R5,(R3)
    BNE    2$
    BR    3$

1$:    INC    R4       ;  -
    BIT    R5,(R3)
    BEQ    1$

3$:    CMP    GRDL0,R4   ;- C

    RTS    PC


;    ------------------------
;    ** 2.6. **
;    ------------------------

;    R4  -

PPM:    JSR    PC,PCTBIT
    BCC    PPM
    JSR    PC,PCTBIT
    BCC    PPM

    RTS    PC





;  **********************************************
;  *                                            *
;  *          -     *
;  *                                            *
;  **********************************************



;   ======================
;   *** DTLG ***
;   ======================


    ASPORT    = 177716   ;-

    KTLG0    = 200       ;- . 0
    KTLG1    = 220       ;- . 1





; =====================================
; ***** DTLG *****
; =====================================


;    :    R0 -


MIDTLG:    ASL    R0
    MOV    KDLBIT(R0),DLBIT

    RTS    PC





; =================================
; ***** *****
; =================================


;    :    R0 - .


MPDBYT:



;   ===========================
;   *** ***
;   ===========================


BPDB:    MOV    R0,-(SP)
    MOV    R4,-(SP)

    BIS    #1400,R0   ;  .
    MOV    #13,R4

6$:    BIT    #200,@#ASPORT   ;  .
    BEQ    6$

    CLC           ;  
    BR    1$
4$:    ASR    R0
1$:    BCC    2$
    MOV    #KTLG1,@#ASPORT
    BR    3$
2$:    MOV    #KTLG0,@#ASPORT
    BR    3$

3$:    MOV    DLBIT,R5   ;  
5$:    SOB    R5,5$

    SOB    R4,4$

    MOV    (SP)+,R4
    MOV    (SP)+,R0
    RTS    PC





; ===============================
; ***** *****
; ===============================


;    :    R0 - .


MPRBYT:



;   =========================
;   *** ***
;   =========================


BPRB:    MTPS    #0       ;-
    MOV    R3,-(SP)
    MOV    R4,-(SP)

    MOV    #ASPORT,R3   ;  . .
    MOV    #20,R4       ;-
    CLR    R0

1$:    BIT    R4,(R3)       ;  
    BEQ    1$
11$:    MOV    #260,(R3)   ;- . .
    BIT    R4,(R3)
    BNE    11$
    MTPS    #200       ;-

    MOV    DLBIT,R5   ;   . .
    ASR    R5
2$:    SOB    R5,2$
    ASR    R4

6$:    MOV    DLBIT,R5   ;-
3$:    SOB    R5,3$
    BIT    #20,(R3)
    BNE    4$
    CLC
    BR    5$
4$:    SEC
    BR    5$
5$:    RORB    R0
    SOB    R4,6$
    MOV    #220,(R3)   ;- .

    MOV    (SP)+,R4
    MOV    (SP)+,R3
    RTS    PC





; ===================================
; ***** *****
; ===================================


;    :    R1 -
;        R2 -


MPDMAS:    MOV    R0,-(SP)

1$:    MOVB    (R1)+,R0   ;  
    JSR    PC,BPDB
    SOB    R2,1$

    MOV    (SP)+,R0
    RTS    PC





; =================================
; ***** *****
; =================================


;    :    R1 -
;        R2 -


MPRMAS:    MOV    R0,-(SP)

1$:    JSR    PC,BPRB       ;  
    MOVB    R0,(R1)+
    SOB    R2,1$

    MOV    (SP)+,R0
    RTS    PC



;   ===================
;   *** DTLG ***
;   ===================


KDLBIT:               ;  
DL9600:    .WORD    14
DL4800:    .WORD    36
DL2400:    .WORD    103
DL1200:    .WORD    213
DL600:    .WORD    435
DL300:    .WORD    1100
DL200:    .WORD    1542
DL150:    .WORD    2206
DL110:    .WORD    3300
DL75:    .WORD    4422
DL50:    .WORD    6633





; ================================
; ***** DMBK *****
; ================================


    .ASECT


;   ===============================
;   *** DMBK ***
;   ===============================

    . = 40

SYSPR:
PRCW:    .BYTE    0   ;-
PRINWF:    .BYTE    0   ;-
PRRP:    .BYTE    0   ;-
PRRUS:    .BYTE    0   ;-
PRPODC:    .BYTE    0   ;-
PRINWS:    .BYTE    0   ;-
PRISU:    .BYTE    0   ;-
PRBLR:    .BYTE    0   ;-
PRGRAF:    .BYTE    0   ;-
PRZAP:    .BYTE    0   ;-
PRSTIR:    .BYTE    0   ;-
PRCWSS:    .BYTE    0   ;-
PRPSSS:    .BYTE    0   ;-
PRISSS:    .BYTE    0   ;-
PRGAHK:    .BYTE    0   ;-



;   ========================
;   *** DKLAW ***
;   ========================

    . = 100

WPTM:    .WORD    0   ;-
SSPTM:    .WORD    0   ;-

BUFKL:    .BYTE    0   ;-
PRZKB:    .BYTE    0   ;-
BKPOWT:    .WORD    0   ;-
PRPOWT:    .BYTE    0   ;-

SCTAB:    .BYTE    0   ;-
MTAB:    .BLKW    4   ;-

SCKLC:    .BYTE    0   ;-
    .EVEN
TAKLC:    .WORD    0   ;-
AKLC:    .BLKW    12   ;  



;   ========================
;   *** DTVMN ***
;   ========================


PRNRUL:    .BYTE    0   ;-

PRZTCK:    .BYTE    0   ;-
MASPGT:    .BYTE    0   ;-
NMPGT:    .BYTE    0   ;-

NOMSIM:    .WORD    0   ;-
AS:    .WORD    0   ;-
DSIMB:    .WORD    0   ;-
KSVP:    .WORD    0   ;-

AGTVP:    .WORD    0   ;-
AGT:    .WORD    0   ;-
DGW:    .WORD    0   ;-
SCTVS:    .WORD    0   ;- TV-
BUFX:    .WORD    0   ;- X
BUFY:    .WORD    0   ;- Y

ANVP:    .WORD    0   ;-
BAZVP:    .WORD    0   ;-
DVPB:    .WORD    0   ;-
DGPB:    .WORD    0   ;- .

FON:    .WORD    0   ;-
MASCW:    .WORD    0   ;-
FONSS:    .WORD    0   ;-
MCWSS:    .WORD    0   ;-

SCKOD:    .WORD    0   ;-
SCUIND:    .WORD    0   ;-



;   =======================
;   *** DMAG ***
;   =======================

    . = 300

PROH:    .BYTE    0   ;-
    .EVEN
PRFCT:    .WORD    0   ;-
INCADR:    .WORD    0   ;-

ABP:    .WORD    0   ;-
BUFSP:    .WORD    0   ;-
BUFKS:    .WORD    0   ;-

GRDL0:    .WORD    0   ;- 0

    . = 320

BPDMAG:           ;   DMAG
KOM:    .BYTE    0   ;-
OTWET:    .BYTE    0   ;-
ADRMAS:    .WORD    0   ;-
DLMAS:    .WORD    0   ;-
IMMAS:    .BLKB    20   ;-
ADRTM:    .WORD    0   ;-
DLTMAS:    .WORD    0   ;-
IMTMAS:    .BLKB    20   ;-



;   =================================
;   *** DMBK ***
;   =================================


    . = 250

DLBIT0:    .WORD    0   ;- 0 DMAG
DLBIT1:    .WORD    0   ;- 1 DMAG
DLBIT:    .WORD    0   ;- DTLG
KPORT:    .WORD    0   ;-
APOPKL:    .WORD    0   ;- .... .
PRWK:    .WORD    0   ;-
BUFSTA:    .WORD    0   ;-
BUFDL:    .WORD    0   ;-



    .END




--------------------
- !
+
SuperMax
20.10.2009, 15:36
#7



*****

: Root Admin
: 5 859
: 7.1.2006
:
: 1








  D1.mac ( 9.32 ) - : 454
  D2.mac ( 7.32 ) - : 385
  D3.mac ( 18.06 ) - : 375
  D4.mac ( 12.91 ) - : 379
  D5.mac ( 10.76 ) - : 379
  D6.mac ( 13.6 ) - : 604
  BK10.TXT ( 162.14 ) - : 570
  BKNET.TXT ( 16.95 ) - : 727


--------------------
- !
+

1 . (: 1, : 0)
: 0

 

: · : · :

· · ·

: 12.11.2019, 20:38