City #14
06 июня 1999 |
|
Likbez - a full description and full disassembler ROM (part 10).
-------------------------------------------------- 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 ...
Other articles:
Similar articles:
В этот день... 21 November