--------------------------------------------------
LIKBEZ
--------------------------------------------------
(C) P. Yu Fedin
FULL DESCRIPTION + FULL ROM Disassembler
TR-DOS 5.04T (5.03)
For professionals
And as for those
WHO WANTS TO BE.
continued
FULL Disassembler ROM TR-DOS 5.04T
Address 0. Complete system initialization.
0 DI; ban interrupt
LD DE, 65535; location of the top memory
LD A, 7; color border - 7
JR 9; system initialization
Address 8. System initialization. In the DE position the
location of the top memory, A - 7, and disable interrupts. It
is also used to address 9. 8 NOP
9 OUT (254), A; color setting curb
LD A, 63; the number on the register I
JR 19; system initialization
Address 16. Go to the subroutine print the symbol of
register A.
JP 16 15746
Address 19. System initialization. In the DE position the
location of the top memory, install a white border, place in
the A byte lower memory addresses, and disable interrupts. 19
LD I, A; load register I
JP 27; system initialization
Address 24. Go to the subroutine print line.
24 JP 9991
Address 27. Same as 36.
27 NOP
NOP
JR 36
Address 32. Go to subroutine subroutine call
from the ROM BASIC. Address of the called routines put in two
bytes after the command RST 32. For example: RST 1932
DEFW # 0D6B
JP 32 12146
Address 36. System initialization. In the DE position the
location of the top memory, install a white border, place in
the A byte lower memory addresses, and disable interrupts. 36
LD H, D; transfer of location of the top memory HL
LD L, E
JR 43; system initialization
Address 40. The sample addresses the current channel, taking
into account shift, given in the register C.
40 JP 8995
Address 43. System initialization. In the DE and HL putting it
top of memory, set the white border, A place in the high byte
of low memory addresses and disable interrupts.
43 LD (HL), 2; room for the next address number
la 2
DEC HL; the following address
CP H; end of memory?
JR NZ, 43, if not, repeat
JR 58; system initialization
Address 56. Processing of masked interrupts.
56 EI
RET
Address 58. System initialization. In the DE position the
location of the top memory HL - address of the bottom, set the
white border, fill in the designated area of memory byte 2
and disable interrupts. 58 OR A; reset flag C
SBC HL, DE; end of memory?
ADD HL, DE
INC HL; next byte
JR NC, 71; if all of this, the installation system
variables
DEC (HL); decrease by 1 byte
JR Z, 71, if received 0, then the RAM is
not working
DEC (HL); decrease by 1 byte
JR Z, 58; if received 0, then the RAM in the on
row
71 DEC HL; last serviceable bytes
LD (23872), HL; installation P_RAMT
LD DE, 16047, and the address of symbols for UDG
LD BC, 168; length UDG - 168 bytes
LD A, E
EX DE, HL; transfer characters to address
UDG in HL
LD SP, 24576, installation of temporary stack
LD (24320), HL; conservation addresses of symbols for
UDG
LD HL, 121; back in 121
PUSH HL; putting it on the stack
LD HL, 15663; address switch ROM TR
DOS
PUSH HL; putting it on the stack
LD HL, # B8ED; command code LDDR
JR 105; installation UDG
Address 102. Sub-processing nonmaskable
interrupts.
JP 10 838 102
Address 105. Execute any command processor. Put in the HL
command codes, check registers (24,320 instead of HL) and place
in the HL command codes. 105 LD (24336), HL; room codes team in
PA rumple
PUSH AF; conservation AF
LD A, 201; command code RET
LD (24338), A; putting it into memory
POP AF; recovery AF
LD HL, (24320) take the address of the characters for UDG
JP 24336, the command and return
Address 121. System initialization. Set
P_RAMT, user decoder, white border,
place in the DE start address minus 1 character generator
and disable interrupts.
121 EX DE, HL; load address UDG in HL
INC HL
LD (23675), HL; setting a variable UDG
DEC HL; the following address
LD BC, 7744, installation of RASP and PIP
LD (23608), BC
LD (23730), HL; installation RAMTOP
LD HL, 15360; installation CHARS
LD (23606), HL
LD HL, (23730) take the address RAMTOP
LD (HL), 62, an end-stack GO SUB
DEC HL; the following address
LD SP, HL; install a permanent stack
DEC HL; installation ERR_SP
DEC HL
LD (23613), HL
LD DE, 4867, and the address handling routine
Error
PUSH DE; install it
IM 1; plant the first mode interrupt
vany
LD IY, 23610, installation of register IY
LD HL, 23734; installation CHANS
LD (23631), HL
LD DE, 5551, and the address field descriptors Kan
fishing in the ROM BASIC
LD BC, 21; its length - 21 bytes
EX DE, HL
CALL 279; transfer of Kan handles
fishing in the RAM
EX DE, HL
DEC HL; installation DATADD
LD (23639), HL
INC HL; the following address
LD (23635), HL; installation PROG
LD (23627), HL; installation VARS
LD (HL), 128; the end of
INC HL; the following address
LD (23641), HL; installation E_LINE
LD (HL), 13; end of line
INC HL; the following address
LD (HL), 128; the end of
INC HL; the following address
LD (23649), HL; installation WORKSP
LD (23651), HL; installation STKBOT
LD (23653), HL; installation STKEND
LD A, 56, attributes the screen
LD (23693), A; installation ATTR_P
LD (23695), A; installation ATTR_T
LD (23624), A; setting BORDER
LD HL, 1315; ustanovka REPDEL and REPPER
LD (23561), HL
DEC (I Y-58), no key is pressed
DEC (IY-54)
LD HL, 5574, and the address table STRMS in ROM Bay
cunt
LD DE, 23568, and the address of the variable STRMS
LD BC, 24; length of the table - 24 bytes
CALL 279; transfer table in RAM
SET 1, (IY +1); open flux 3
LD HL, 23746; room commands RET in RAM
LD (HL), 201
Attention! System variables TR-DOS is still there
and it spoils the memory.
RST 32; initialization buffer printer
Screen
DEFW # 0EDF
LD HL, 23658; printer buffer used
LD (HL), 2
LD HL, 4747; back in 4747
PUSH HL
LD A, 170, run the command RUN "boot"
LD (23296), A
EI; permission to interrupt
JP 15665, the entrance to the TR-DOS
Address 279. Runs the command LDIR. Set HL,
DE and BC and put bytes in 201 at 24,338.
279 LD (24320), HL; conservation HL
LD HL, 15663; address switch ROM TR
DOS
PUSH HL; putting it on the stack
LD HL, # B0ED; codes command LDIR
LD (24336), HL; room team in the RAM
LD HL, (24320); recovery HL
JP 24336, the command and return
to be continued ...