Top secrets sources NedoPC pentevo

Rev

Rev 507 | Rev 646 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


;LAST UPDATE: 08.10.2012 savelij

;GET_1F DI
;       LD IX,0X2FC1    ;OUT(1F),D0
;       CALL DOSIX
;       LD A,8
;       LD C,0X1F
;       LD IX,0X2A53    ;OUT(C),A
;       CALL DOSIX
;       LD B,0
;       LD A,0XFF
;       LD (0X5CD8),A
;       CALL READ_1F
;       PUSH AF
;       LD A,0XC9
;       LD (0X5CC2),A
;       XOR A
;       LD IX,0X1FF3    ;OUT(FF),A
;       CALL DOSIX
;       LD IX,0X1FEB    ;OUT(FF),(5D16)|3C
;       CALL DOSIX
;       LD IX,0X2FC1    ;OUT(1F),D0
;       CALL DOSIX
;       POP AF
;       EI
;       RET

;READ_1F        LD (RD1F_SP+1),SP
;       LD A,0XC3
;       LD (0X5CC2),A
;       LD HL,RD1F_SP
;       LD (0X5CC3),HL
;       LD IX,0X2076
;       JP DOSIX

;RD1F_SP        LD SP,0
;       XOR A
;       RET

;G1FKNOW        LD A,(yIKNOW)
;       AND A
;       RET Z
;       PUSH IX
;       CALL GET_1F
;       POP IX
;       LD HL,OLD_1F
;       CP (HL)
;       RET Z
;       POP HL
;_IKNOW CALL GLUDIN
;       LD A,0XC3
;       LD (0X5CC2),A
;       LD HL,ONERR
;       LD (0X5CC3),HL
;       CALL S_FACE
;       LD IX,mIKNOW
;       CALL DRAWWIN
;       CALL NAMEROM
;       CALL PRINTTIME
;       LD C,0X3F
;       XOR A
;       LD IX,0X2A53
;       CALL DOSIX
;       LD A,0X5F
;       CALL DOSIX
;       LD C,0X1F
;       LD A,0X0C
;       CALL DOSIX
;       LD IX,0X3EF5
;       CALL DOSIX
GLUBOOT         LD HL,FLAGS
                RES 3,(HL)                      ;‡€“‘Š ‘ „ˆ‘Š…’›
                LD HL,ADR_CAT
                LD DE,8
                LD BC,0X0105
                CALL TO_DOS4BAS                 ;‡€ƒ“‡ˆ‹ˆ 9 ‘…Š’Ž
                LD A,(ADR_CAT+0XE7)
                CP 0X10                         ;Ž‚…Š€ € ˆ‡€Š TR_DOS
                JP NZ,CMP_VIRTUAL;PRT_NONETRDOS         ;Ž˜ˆŠ€, „ˆ‘Š … TR-DOS
                LD HL,ADR_CAT
                LD DE,0
                LD BC,0X0905
                CALL TO_DOS4BAS                 ;‡€ƒ“‡Š€ TR-DOS „ˆ›
                LD A,(ADR_CAT+0X8E7)
                CP 0X10                         ;Ž‚…Š€ € ˆ‡€Š TR_DOS
                JP NZ,_STUPID
;               CALL GET_1F                     ;—’…ˆ… Ž’€ TR-DOS
;               LD (OLD_1F),A
                LD IX,ADR_CAT
                LD DE,0X10
                LD A,(ADR_CAT+0X8E4)
                AND A
                JP Z,NO_BAS
                LD B,A                          ;‘ŠŽ‹œŠŽ ”€‰‹Ž‚ €„Ž Ž‘ŒŽ’…’œ
                LD C,0                          ;Ž“‹…ˆ… ‘—…’—ˆŠ€ €‰„…ŽƒŽ
                EXX
                PUSH IX
                POP DE
                EXX
FIND_BASIC      LD A,(IX+8)
                CP "B"                          ;ˆ™…Œ ’Ž‹œŠŽ €‘ˆŠ ”€‰‹›
                JR NZ,FINDBAS1
                LD A,(IX+0)
                DEC A                           ;Ž‚…Š€ € “„€‹…›‰ ”€‰‹
                JR Z,FINDBAS1
                EXX
                PUSH IX
                POP HL                          ;Ž’Š“„€ ……Ž‘ˆ’œ Žˆ‘€’…‹œ
                REPT 16
                LDI
                ENDM
                EXX
                INC C
FINDBAS1        ADD IX,DE
                DJNZ FIND_BASIC
                LD IX,WIN_FILES                 ;ŽŠŽ „‹Ÿ ‚›‚Ž„€ €‘ˆŠ ”€‰‹Ž‚
OUT_HOB         LD (IX+7),0
                LD (IX+8),C
                LD (IX+9),B                     ;Ž‹Ž… ŠŽ‹ˆ—…‘’‚Ž €‰„…ŽƒŽ
                LD (IX+0X0A),0
                LD (IX+0X0B),0                  ;Ž“‹Ÿ…Œ Ž‡ˆ–ˆž ”€‰‹Ž‚ ˆ Š“‘Ž€
REOUT_HOB       LD A,B
                OR C                            ;Ž‚…Š€ ŠŽ‹ˆ—…‘’‚€ €‰„…ŽƒŽ
                JP Z,NO_BAS                     ;…‘‹ˆ 0, ’Ž …’ €‘ˆŠŽ‚
                RES 2,(IY+55)                   ;…„Ž‹Ž†ˆ’…‹œŽ ”€‰‹Ž‚ Œ……… ‚›‘Ž’› ŽŠ€
                LD A,B
                AND A
                LD A,C
                JR NZ,FINDBAS2
                CP H_FILE-1
                JR C,FINDBAS2
                SET 2,(IY+55)                   ;”€‰‹Ž‚ Ž‹œ˜… ‚›‘Ž’› ŽŠ€
                LD A,H_FILE-2
FINDBAS2        LD (KOL4OUT),A                  ;“‘’€Ž‚Š€ ŠŽ‹ˆ—…‘’‚€ Žˆ‘€’…‹…‰ ‚ ŽŠŽ
                ADD A,2
                LD (IX+2),A                     ;“‘’€Ž‚Š€ ‚›—ˆ‘‹…Ž‰ ‚›‘Ž’› ŽŠ€
                LD (IX+3),V_FILE                ;“‘’€Ž‚Š€ ˜ˆˆ› ŽŠ€
FINDBAS6        LD HL,FLAGS
                BIT 3,(HL)
                JR Z,FINDBAS5                   ;…‘‹ˆ €Ž’€ ‘ TR-DOS, ’Ž ……•Ž„ˆŒ € ‚›‚Ž„ ŽŠ€
                INC (IX+3)
                LD A,(IX+2)                     ;…‘‹ˆ €Ž’€ ‘ FAT, ’Ž ŽŠŽ €„€ ‚›‚Ž„ˆ’œ ‚ Ž‹›‰ Ž‘’
                PUSH AF                         ;‘Ž•€ˆ‹ˆ ‚›—ˆ‘‹…“ž ‚›‘Ž’“ ˆ ˜ˆˆ“ ŽŠ€
                LD (IX+2),H_FILE
                CALL WINW                       ;‚›‚…‹ˆ ŽŠŽ ‚ Ž‹›‰ Ž‘’
                POP AF
                LD (IX+2),A
                JR FINDBAS7

FINDBAS5        CALL WINW                       ;‚›‚Ž„ˆŒ ŽŠŽ
FINDBAS7
;               LD B,(IX+2)
;               DEC B
;               DEC B
;               LD C,"A"
;               LD DE,HOT_KEY
;FINDBAS5       PUSH BC
;               LD A,C
;               LD (DE),A
;               LD HL,HOT_KEYS
;               CALL NEXT
;               POP BC
;               INC C
;               DJNZ FINDBAS5
                CALL OUT_TEK_DIR                ;‚›‚Ž„ˆŒ Š“‘Ž—…Š „ˆ…Š’Žˆˆ
;               BIT 2,(IY+55)
;               JP Z,_RULILKA
;               CALL RIGHT_SIDE                 ;…‘‹ˆ €‰„…Ž Ž‹œ˜… ‚›‘Ž’› ŽŠ€ -2, ’Ž ˆ‘“…Œ ŽŠŽ‚“˜Š“
                JP _RULILKA

;‚›‚Ž„ —€‘’ˆ „ˆ…Š’Žˆˆ ‘ “Š€‡€Ž‰ Ž‡ˆ–ˆˆ
OUT_TEK_DIR     LD L,(IX+0X0A)                  ;‚›‚Ž„ „ˆ› TR-DOS „ˆ‘Š€
                LD H,(IX+0X0B)                  ;Ž‹“—ˆ‹ˆ ŽŒ… ’…Š“™…‰ Ž‡ˆ–ˆˆ
                LD E,(IX+7)                     ;Ž‹“—ˆ‹ˆ Ž‡ˆ–ˆž Š“‘Ž€ ‚ ŽŠ…
                XOR A
                LD D,A
                SBC HL,DE                       ;‚›—ˆ‘‹ˆ‹ˆ Ž‡ˆ–ˆž ”€‰‹€ ‘ ŠŽ’ŽŽƒŽ “„…Œ ‚›‚Ž„ˆ’œ
                LD DE,ADR_CAT
                ADD HL,HL
                LD A,(FLAGS)
                AND 8
                JR NZ,OUT_TEK_FAT               ;……•Ž„ …‘‹ˆ „‹Ÿ FAT
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL                       ;“ŒŽ†ˆ‹ˆ € €‡Œ… Žˆ‘€’…‹Ÿ
                ADD HL,DE                       ;‚›—ˆ‘‹ˆ‹ˆ €„…‘ Žˆ‘€’…‹Ÿ ‘ ŠŽ’ŽŽƒŽ “„…Œ ‚›‚Ž„ˆ’œ
                LD C,(IX+2)
                DEC C
                DEC C                           ;‚›—ˆ‘‹ˆ‹ˆ ‘ŠŽ‹œŠŽ ‚›‚Ž„ˆ’œ
                LD D,(IX+0)
                LD E,(IX+1)
                INC D
                INC D
                INC E                           ;‚›—ˆ‘‹ˆ‹ˆ Ž‡ˆ–ˆž ‚›‚Ž„€ € Š€
FINDBAS3        LD B,8                          ;…—€’€…Œ ’Ž‹œŠŽ ˆŒŸ
                PUSH DE
FINDBAS4        LD A,(HL)
                INC HL
                CALL PRT_SYM
                DJNZ FINDBAS4
                LD DE,8                         ;8 ‘ˆŒ‚Ž‹Ž‚ €…—€’ˆ‹ˆ, Ž‘’€‹œ›… 8 Ž“‘Š€…Œ
                ADD HL,DE
                POP DE
                INC E
                DEC C
                JR NZ,FINDBAS3                  ;…‘‹ˆ … ŠŽ—ˆ‹ˆ‘œ ……•Ž„ˆŒ € …—€’œ ‘‹…„“ž™…ƒŽ ˆŒ…ˆ
                RET

;‚›‚Ž„ „ˆ› € FAT
OUT_TEK_FAT     ADD HL,DE
                LD D,(IX+0)
                LD E,(IX+1)
                INC D
                INC D
                INC E                           ;‚›—ˆ‘‹ˆ‹ˆ Ž‡ˆ–ˆž ‚›‚Ž„€ € Š€
                LD C,0
KOL4OUT         EQU $-1
OTF2            PUSH BC
                LD C,(HL)
                INC HL
                LD B,(HL)
                INC HL
                PUSH HL
                PUSH DE
                LD A,6
                CALL COM_FAT
                DB Positf
                CALL COM_FAT
                DB Getfzap
                POP DE
                PUSH DE
                LD BC,0X0B
                ADD HL,BC
                LD A,(HL)
                SBC HL,BC
                AND 0X10
                LD A,0
                JR NZ,OTF4
                LD A,1
OTF4            CALL PRTSYMALT
                LD B,8
OTF1            LD A,(HL)
                INC HL
                CALL PRT_SYM
                DJNZ OTF1
                POP DE
                POP HL
                POP BC
                INC E
                DEC C
                JR NZ,OTF2
                RET

NO_BAS          LD IX,NOBASIC
                CALL WINW
                JP _RULILKA

RUNFILE         DI
                CALL SHUT2AY                    ;“ŒŠ€‹Š€ ‚ AY
                LD L,(IX+0X0A)
                LD H,(IX+0X0B)                  ;ŽŒ… ‚›€ŽƒŽ ”€‰‹€
                LD DE,ADR_CAT
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,HL
                ADD HL,DE                       ;Ž’Š“„€ ˆŒŸ ”€‰‹€ ‚‡Ÿ’œ
                LD DE,RUNNAM
                LD BC,8
                LDIR
                LD HL,0X3E08+0XA7
                LD DE,0XFFFF
                LD C,0XA8                       ;21 ᨬ¢®« UDG
                LDDR
                LD HL,RUN_BASIC
                LD DE,0X5D3B
                LD BC,ERUN_BASIC-RUN_BASIC
                LDIR                            ;……Ž‘ …‰‘ˆŠ Žƒˆ „‹Ÿ ‡€“‘Š€
                CALL MEMSET                     ;‚›‘’€‚ˆ‹ˆ …†ˆŒ ŠŽŒ€
                CALL FOR_RUN
                EI
                JP 0X1B7D                       ;‡€“‘Š ………‘…Ž‰ …‰‘ˆŠ Žƒˆ

;               LD BC,0XFE8F
;               CALL 0X1EB7
;               LD HL,0X1303
;               PUSH HL
;               LD (0X5C3D),SP
;               LD HL,(0X5C4F)
;               LD DE,0X0F
;               ADD HL,DE
;               LD DE,0X15BE
;               EX DE,HL
;               LD BC,4
;               LDIR
;               RES 4,(IY+1)
;               SET 7,(IY+1)
;               LD HL,0X1B7D
;               PUSH HL
;               LD HL,LOC_5BEA
;               PUSH HL
;               LD HL,0X2970
;               PUSH HL
;               LD HL,0X2920
;               PUSH HL
;               LD HL,0X294A
;               PUSH HL
;               JP 0X3D2F

;LOC_5BEA       LD HL,(0X5C61)
;               LD A,(HL)
;               DEC HL
;               LD L,(HL)
;               LD H,A
;               LD (0X5C42),HL
;               XOR A
;               LD (0X5C44),A
;               RET

E_LINE          EQU 0X5C59
K_CUR           EQU 0X5C5B
WORKSP          EQU 0X5C61
STKBOT          EQU 0X5C63
STKEND          EQU 0X5C65
TRD_5D0E        EQU 0X5D0E

FOR_RUN
;               LD HL,BAS4TAPE
;               LD DE,0X5C3A
;               LD BC,EBAS4TAPE-BAS4TAPE
;               LDIR                    ;……Œ…›… €‘ˆŠ€ ‘„…‹€‹ˆ FOR ONLY TAPE
;               LD HL,0X3D21
;               CALL TODOS4RUN
;               LD A,0XFE
;               LD (TRD_5D0E),A
;               LD HL,(E_LINE)
;               LD (HL),0XF7
;               INC HL
;               LD (HL),0X22
;               INC HL
;               LD DE,RUNNAM
;               LD BC,8
;               EX DE,HL
;               LDIR
;               EX DE,HL
;               LD (HL),0X22
;               INC HL
;               LD (K_CUR),HL
;               LD (HL),0X0D
;               INC HL
;               LD (HL),0X80
;               INC HL
;               LD (WORKSP),HL
;               LD (STKBOT),HL
;               LD (STKEND),HL
                SET 3,(IY+1)
                LD IY,0X5C3A
                LD (IY),0XFF
                SET 7,(IY+1)
                RES 4,(IY+1)
                LD HL,0X2758
                EXX
                LD A,0XC9
                LD (0X5CC2),A
                LD HL,0
                LD (0X5C42),HL
                XOR A
                LD (0X5C44),A
                RET
                LD HL,0X2EF
                EI
TODOS4RUN       PUSH HL
                JP 0X3D2F

;               LD BC,0X5FFF
;               CALL 0X1EB7                     ;“‘’€Ž‚Š€ ‘’…Š€ ‘…„‘’‚€Œˆ …‰‘ˆŠ€
;               LD (0X5C3D),SP
;               RET

;Š“ƒŽ‚Ž‰ ……Ž ˆŒ…ˆ „ˆ‘ŠŽ‚Ž„€ 1-4 (A-D)
NEXTDRIVE       LD A,(TXT_DRIVE)                ;‚‡Ÿ‹ˆ “Š‚“ ’…Š“™…ƒŽ „ˆ‘ŠŽ‚Ž„€
                INC A                           ;+1, ’Ž …‘’œ ‚›€‹ˆ ‘‹…„“ž™ˆ‰ Ž ŽŸ„Š“
                SUB 0X10                        ;…‚€’ˆ‹ˆ ‚ ŽŒ…
                CP "5"                          ;…‘‹ˆ …‚›‘ˆ‹ˆ 4
                JR C,SELDRV1
                SUB 4                           ;’Ž ˆ‡Œ…ˆ‹ˆ € ŽŒ… …‚›‰
                JR SELDRV1

NEXTVIRT        LD HL,MAINLOP
                PUSH HL
                LD A,(FLAGS)
                AND 4
                RET Z
                LD H,0X0F
                CALL READCMOS
                INC A
                CP 4
                JR C,NEXTVIRT1
                XOR A
NEXTVIRT1       LD L,A
                ADD A,"A"
                LD (VIRT_DRIVE),A
                CALL WRITECMOS
                CALL REST2X2
                CALL PRT_VIRTDRV
                LD A,(FLAGS)
                AND 2
                RET Z
                JP DRAW_MOUSE

;ˆ‡Œ……ˆ… ŽŒ…€ „ˆ‘ŠŽ‚Ž„€ ˆ ‘Ž•€…ˆ… ‚ ŠŒŽ‘… …‘‹ˆ ’€ŠŽ‚Ž‰ Ž€“†…
SELDRV          LD A,(0X5C08)                   ;‚‡Ÿ‹ˆ ŽŒ… „ˆ‘ŠŽ‚Ž„€
SELDRV1         SUB "1"                         ;Ž€’ˆ‹ˆ ‚ ˆ€›‰ ‚ˆ„ „‹Ÿ ‡€ˆ‘ˆ ‚ ……Œ…“ž
                LD HL,MAINLOP                   ;€„…‘ Š“„€ ‚…“’œ‘Ÿ Ž‘‹… ‡€ˆ‘ˆ
                PUSH HL
SELDRVPP        LD (DRV_SYM),A
                LD L,A
                LD A,(FLAGS)
                AND 4
                RET Z                           ;…‘‹ˆ ŠŒŽ‘ … ”‰„…, ‚›•Ž„ˆŒ
                LD H,0X10
                CALL WRITECMOS                  ;‘Ž•€Ÿ…Œ ‚›€›‰ „ˆ‘ŠŽ‚Ž„ ‚ ŠŒŽ‘…
                CALL SET_DRIVE                  ;“‘’€Ž‚Š€ ˆ‡Œ……ˆŸ
                CALL REST2X2                    ;‚Ž‘‘’€Ž‚ˆ‹ˆ Ž„ Š“‘ŽŽŒ Œ›˜ˆ
                CALL PRT_DRV_SYM                ;………—€’€‹ˆ ‘’ŽŠ“ Ž „ˆ‘ŠŽ‚Ž„€•
                LD A,(FLAGS)
                AND 2
                RET Z
                JP DRAW_MOUSE                   ;€ˆ‘Ž‚€‹ˆ Œ›˜œ € ‘’€ŽŒ Œ…‘’…

;FIX mouse key if no mouse
ONERNCLS        LD A,(FLAGS)
                AND 2
                JR Z,ONERNC1
                LD A,0XFA
                IN A,(0XDF)
                RRA
                JP NC,_STUPID
ONERNC1         POP AF
                EX (SP),HL
                RET

;……•‚€’ „ˆ‘ŠŽ‚Ž‰ Ž˜ˆŠˆ „‹Ÿ Ž€Ž’Šˆ
ONERR           EX (SP),HL
                PUSH AF
                LD A,H
                CP HIGH (0X0D6B)
                JR NZ,ONERNCLS
                LD A,L
                CP LOW (0X0D6B)
                JR NZ,ONERNCLS
                POP HL
                POP HL
                POP HL
                POP HL
                POP HL
                EI
                CALL GLUDIN
                LD HL,0X5CF4
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ŽŒ… ‘…Š’Ž€
                INC A
                CALL DIV10
                LD (NUM_SEC_TXT+1),A
                LD A,D
                LD (NUM_SEC_TXT),A
                INC HL
                LD A,(HL)                       ;‚‡Ÿ‹ˆ ŽŒ… ’…Š€
                SRL A
                LD E,A
                ADC A,"0"
                SUB E
                LD (SIDE_DISK),A                ;‘’ŽŽ€ „ˆ‘Š€
                LD A,E
                CALL DIV10
                LD (NUM_TRK_TXT+1),A
                LD A,D
                LD (NUM_TRK_TXT),A
                LD IX,DSK_ERR                   ;ŽŠŽ ‚›‚Ž„ˆŒ Ž‹Ž‘’œž
                CALL WINW
                JP _RULILKA

RESET_VG       
;               LD C,0XFF
;               XOR A
;               LD IX,0X2A53                    ;OUT(C),A
;               CALL DOSIX
;               LD A,(DRV_SYM)
;               OR 0X3C
;               CALL DOSIX
;               LD A,0X68                       ;è £ ­ § ¤
;               LD C,0X1F
;               CALL DOSIX
                LD HL,DSTUPID
                LD (0X5C3D),HL
                LD A,0XC3
                LD (0X5CC2),A
                LD HL,ONERR
                LD (0X5CC3),HL
                RET

DOSIX           PUSH IX
                JP TO_DOS

;Ž‚…Š€ €‹ˆ—ˆŸ Œ€Š…€ €Œ„ˆ‘Š€, ˆ Ž’‘“‘’‚ˆˆ ‘Ž‡„€ˆ… „ˆ‘Š€ € 640Š
DISK_NONE       PEC_ON SHADOW_BF
;               LD A,1
;               OUT (PEVO_CONF),A
                LD A,PAGE_RAMDISK
                LD BC,WIN_P1
                OUT (C),A
                LD HL,0X7FFF
                LD A,(HL)
                DEC H
                CP "R"
                JR NZ,DISK_NONE1
                LD A,(HL)
                CP "D"
DISK_NONE1      EX AF,AF'
                LD A,0XFA
                OUT (C),A
                PEC_OFF SHADOW_BF
;               XOR A
;               OUT (PEVO_CONF),A
                EX AF,AF'

                JP NZ,CREATE_TRDRAM             ;Œ€Š… … Ž€“†…, ‘Ž‡„€’œ
                RET

;FormTR SRL A
;       LD (_phystr),A
;       RLA
;       LD C,2                  ;¯®§¨æ¨®­¨à-¥ ­  «®£.tr A
;       CALL TO_DOS4BAS
;       LD A,0XFF
;       LD (0X5CD8),A
;       LD HL,SeCS
;       LD (0X5CE6),HL
;       LD E,0
;_phystr        EQU $-1
;       LD IX,0X1FFD            ;format track
;       JR DOSIX

DIV10   LD D,0X30-1
        INC D
        SUB 0X0A
        JR NC,$-3
        ADD A,0X0A+0X30
        RET

_RETRY  LD A,"R"
        JR $+4

_IGNORE LD A,"I"
        LD HL,0X3F7E
        EX (SP),HL
        DI
        JP TO_DOS