Echo #01
31 октября 1996

Assembler - Turbo Loader with full error checking.

<b>Assembler</b> - Turbo Loader with full error checking.
(C) VfNG / NEW


   I suggest to my fullest yuzaniyu devepoled Turbo Loader with 
full error checking. He checked on all those caught me by the 
arm machines (Profi, Pentagon, 'Leningrad', 'Byte') and works 
great! Please, just do not fix it, some 'obvious folly'. The 
fact is that one disk interface, which we

use in Brest, is engaged in emulation
TR-DOS, therefore, some procedures ROMs do not work as 
expected, and sometimes spoil some registers ... For example # 
2A53 in our sticks JP  where is converter. 
Individual treatment to all the brethren: do not meddle in 
TR-DOS with Register R (except in # 3D2F, ​​# 3D30 possible) 
pomrets. 

;----------------------------------------;' NEW 'TURBO LOADER 
BY VfNG' 96 ; NEW ORIGINAL CONCEPTION + FULL ERROR

; CONTROL!
;---------------------------------------- RETRY EQU 3; number 
of attempts to read 

                  ; Bad sector to

                  ; Repositioning
;----------------------------------------
        ORG # 8000
;----------------------------------------; Section 
initialization. Sufficient duration; vat once. 
;---------------------------------------- INIT DI 

        LD A, # 3F; Setting vector

        LD I, A; I in the 'fast' parameters
                      ; Crease.


        LD A, (# 5D16); definition

        AND 3, disc type
        LD (REG +1), A; water.

        LD HL, # 5CC8;

        ADD A, L

        LD L, A

        BIT 1, (HL)

        JR NZ, LOAD8

        LD HL, # A700

        LD (POKE1), HL

        LD (POKE2), HL

        LD (POKE3), HL

        LD A, # 37

        LD (POKE4), A
;----------------------------------------; Positioning. 
DE-trek/sektor. If ; Already sticks out on this track, it is 
possible and ; Not cause

;---------------------------------------- LOAD8 CALL POSIT

        RET
;----------------------------------------; End of 
initialization. Now we own; respectively loader: ; HL-where, 
B-number, DE-how ; Returns: DE-current track / sector

; HL-mail, which was loaded
; The last byte of a
;---------------------------------------- LOAD DI
LOAD5 PUSH DE

        CALL SECTOR

        POP DE

        INC H

        INC E

        LD A, E

        CP # 10

        JR Z, LOAD2
LOAD6 DJNZ LOAD5

        RET
LOAD2 LD A, D
POKE4 RRA

        PUSH AF

        LD A, # 3C

        JR C, LOAD1

        LD A, # 2C
LOAD1 CALL REG

        POP AF

        LD C, # 3F

        CALL PORT

        INC D

        LD E, 0

        LD A, D
POKE1 SRL A

        LD C, # 7F

        CALL PORT

        LD A, # 18

        LD IX, # 2FC3

        CALL DOS

        JR LOAD6
;---------------------------------------- SECTOR LD C, RETRY
SECTOR1 PUSH BC

        LD A, E

        INC A

        LD C, # 5F

        CALL PORT

        LD A, # 80

        LD C, # 1F

        CALL PORT

        PUSH HL

        LD C, # 7F

        LD IX, # 3FE5

        CALL DOS

        CALL STATUS

        POP HL

        POP BC

        RET Z

        DEC C

        JR NZ, SECTOR1

        CALL REPOS

        JR SECTOR
;---------------------------------------- STATUS PUSH DE

        XOR A

        LD C, # 3F

        CALL PORT

        LD A, # 0A

        LD C, # 5F

        CALL PORT

        LD D, 1

        LD IX, # 3F33

        CALL DOS

        POP DE

        LD A, B

        AND # 7F

        PUSH AF

        LD A, D
POKE2 SRL A

        LD C, # 3F

        CALL PORT

        POP AF

        RET
;---------------------------------------- REPOS LD A,% 11011000

        CALL COMM2

        LD A, 8

        CALL COMM3
;---------------------------------------- POSIT LD A, D; 
Positioning POKE3 SRL A


        PUSH AF

        LD A, # 2C

        JR C, REPOS1

        LD A, # 3C
REPOS1 CALL REG

        POP AF

        LD C, # 7F

        CALL PORT

        LD A, # 18

        JR COMM3
;---------------------------------------- REG OR 0

        LD IX, # 1FF3
DOS PUSH IX

        JP # 3D30
PORT LD IX, # 2A53

        JR DOS
COMM2 LD IX, # 2F57

        JR DOS
COMM3 CALL COMM2

        LD C, 5; very, it seems, camping, long pause, but 
otherwise this is not crap ; Will work on the 'byte'.


COMM3_1 PUSH BC

        LD IX, # 3DFD

        CALL DOS

        POP BC

        DEC C

        JR NZ, COMM3_1

        RET
;----------------------------------------

   That's it! We kindly request if
anyone have a trick And this does not work, write immediately 
to the Echo! 




Other articles:

Introduction - On the control interface of the newspaper.

Assembler - Turbo Loader with full error checking.

Interview - Interview with artist of Belarus - KAMIKAZE.

Fantasy - Eris Lawrence "This damn computer."

HELP - Game Description LORDS OF CHAOS.

ZX-PROFI - Managing resources. Map of the computer system, SP-DOS. FDD 5.25/1.2Mb, 3.5/1.44 to SPECCY.

Assembler - The image of three-dimensional objects. Fast output point AT X, Y. The procedure of multiplication.

Music board - Azuru SounDrive v8.6 (QUADRO) - Music board Spectrum - technical specifications, programming boards, wiring diagram.

Fun - Description ESNNS (Uniform Standard for soviet sysop).

Forecast - Astrological forecast for SPECCY.

Advertising - Advertisements and announcements ...

Credits - the authors of the paper.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Graphics - Image ANSI graphics.
Let's laugh - Letter from the kettle to the user.

В этот день...   1 May