────────────────────────────────────────── ЛИКБЕЗ ────────────────────────────────────────── (c) П.Ю.Федин ╔════════════════════════════════════════╗ ║ ║ ║ПОЛНОЕ ОПИСАНИЕ+ ПОЛНЫЙ ДИЗАССЕМБЛЕР ПЗУ║ ║ ║ ║ TR-DOS 5.04T (5.03) ║ ║ ║ ║ ДЛЯ ПРОФЕССИОНАЛОВ, ║ ║ ║ ║ А ТАКЖЕ ДЛЯ ТЕХ, ║ ║ ║ ║ КТО ХОЧЕТ ИМИ СТАТЬ. ║ ║ ║ ╚════════════════════════════════════════╝ продолжение Адрес 298. Обработка номера строки авто- start the program in BASIC. Install 23824 and download the program. 298 CALL 8421 ;memory change and ;deleting a buffer CALL 7575 ;screen clearing Oh, how it infuriates me, if one program ma in BASIC loads the screensaver, and then another program in BASIC. LD HL,(23641);take the address at which ;Roma is the number INC HL ;autorun lines ;programs LD E,(HL) ; take this number INC HL LD D,(HL) LD A,D ;is this 0? OR E EX DE,HL ; transferring it to HL JR Z,320 ;if this is not 0, thenpro- ;run the gram XOR A LD (23824),A 320 PUSH HL ;save number ;autostart lines CALL 562 ;restoring the old ;subroutine addresses ;error handling POP HL ;number recovery ;autostart lines LD (23618),HL;installing it XOR A ; start the line from the first ;first operator LD (23620),A RST 32 ;cleaning the workspace ;stimemory, stack ;lculator and buffer ;editor DEFW #16B0 LD HL,(23635);executing RESTORE DEC HL LD (23639),HL LD SP,(23613);stack clearing LD A,(23824) ; should you launch the program? OR A LD HL,7030 ;the address of the subroutine is ;completing the program on ;basic JR Z,358 ;if possible, then launch ;programs RST 32 ;O.K. message. DEFW #1BBO 358 PUSH HL ;placed on ad stack ;res subroutines you-;completing the program ;in BASIC LD HL,23746 ;placed on ad stack ;Res of ROM switch ;in BASIC PUSH HL RET ;go to subroutine ;during program execution ;we're in BASIC ────────────── ──────────────────────────── Address 364. Same as 15642, but not created gives system variables. 364 CALL 8433 ;memory change CALL 10570 ;buffer creation LD A,255 ; do not print messages LD (23829),A XOR A ;zeroing 23799 LD (23799),A LD A,170 ;do not display splash screen LD (23831),A LD HL,513 ;return to BASIC LD (23834),HL LD HL,0 ;SP saving ADD HL,SP LD (23836),HL DEC HL ;allocation of space for ;subroutine addresses DEC HL ;error handling LD SP,HL CALL 541 ;setting the address ;processing programs ;errors LD HL,(23730);command line is found ;is higher than RAMTOP?LD DE,(23645) SBC HL,DE EX DE,HL JR NC,421 ; if yes, then when selecting ;it does not remove the buffer OR A ;moved LD DE,257 SBC HL,DE 421 LD (23645),HL 424 CALL 455 ;the next character is ;ki ENTER ? 427 JP Z,467 ;if yes, then completion CP 234 ;is this REM? INC HL ;next character JR NZ,424 ;if not, then the next one ;symbol CALL 455 ;the next character is ;ki ENTER ? JR Z,427 ;if yes, then completion CP ":" ;is this a colon? JP NZ,467 ;if not, then return INC HL ;next character CALL 12360 ;line compression JP 778 ;command execution to be continued...
Share your thoughts about the article