Inferno #01
31 декабря 2000 |
|
Softinka - Extractor: software to extract the files from the Spectrum emulyatorskih formats.
Take out and put (C) 2000 Jerri / AF Howdy Peoples! And another buggy product from Jerri. On This time it's called "Extractor". AND it is intended for Normal Spektrumskih prog from the buggy PTsshnyh files. But the main thing is that the converters of different formats are defined as an overlay. So do not have to drive a lot prog type "UNz80", "UNslt" or "UNtap", enough to have a shell, and you need overlays. So, after running the program spends memory test and starts searching the disc in search files with the extension "ovl". If there are to found, then it will require insert the disk with overlays. Management shell "OPQA", "6789" and the arrow keys. "Enter" to incite one of overlays on the current file "G" to run the current file "R" read the disc The remaining buttons are marked with capital letters. The shell maintains a file of length more than 255 sectors, if they slashed to expand. For example: Supaplex tzx Supaplex 0zx Supaplex 1zx How to write an overlay? Start address overlay # 8000 = 32768 Maximum length Overlay # 1000 = 4096 After selecting a file the shell moves overlay to address # 8000 and passes it the following data: (DEBC) - total length of the file in bytes HL - a pointer to the address of the procedure +0 Close_File close the file +2 Create_File create a file file header (14 bytes) Adre agrees Reg. HL. +4 Byte_to_buffer transfer to create this file byte of reg. A +6 Get_byte take reg. A bytes from the stream Data IX - the source file name (May need to record retrieved from the 'sna' file) When you return if the flag 'Carry' is set, then the file was a mistake. For example, the source 'scl'a. ORG # 6C76 DISP # 8000 ; ONSTART ; HL INDEX ; +0 CLOFIL ; +2 CREFIL ; +4 STOBYT ; +6 GETBYT ; DEBC FILELENGHT ; BEGINNING BEGIN JP START ; GETBYT JP $ ; STOBYT JP $ ; CREFIL JP $ ; HL FILEHEADER ; FILENAME_E_AD (XE) _LN_S CLOFIL JP $ FILEHEA DEFB "FILENAME" DEFB "EADLNS" HIGLEN DEFW 0 LOWLEN DEFW 0 START LD A, B OR C OR E OR D SCF RET Z PUSH BC PUSH DE LD B, 4 LD E, (HL) INC HL LD D, (HL) INC HL PUSH DE DJNZ $ -5 POP HL LD (GETBYT +1), HL POP HL LD (STOBYT +1), HL POP HL LD (CREFIL +1), HL POP HL LD (CLOFIL +1), HL POP HL LD (HIGLEN), HL POP HL LD (LOWLEN), HL LD B, 8 LD HL, DAT; skript'SINCLAIR ' CALL GETBYT CP (HL) SCF; error if LD A, 1, the script does not , Coincides RET NZ; with title ; File INC HL DJNZ $ -9 CALL GETBYT; take , The number of ; Files LD B, A PUSH BC LD HL, ENDPROG LD (TECCAT), HL MAIN0 PUSH BC LD B, 14 MAIN00 CALL GETBYT LD (HL), A INC HL DJNZ MAIN00 POP BC DJNZ MAIN0 POP BC MAIN1 PUSH BC LD BC, 13 LD HL, (TECCAT) LD DE, FILEHEA PUSH DE LDIR LD A, (HL) LDI LD (TECCAT), HL POP HL PUSH AF CALL CREFIL; create a file POP AF LD B, A LD C, 0 MAIN2 PUSH BC MAIN3 CALL GETBYT CALL STOBYT; complete file DEC C JR NZ, MAIN3 POP BC DJNZ MAIN2 CALL CLOFIL; close the file POP BC DJNZ MAIN1 OR A; no errors RET DAT DEFB "SINCLAIR" TECCAT DEFW 0 ENDPROG LENG EQU ENDPROG-BEGIN SAVE "scl" CODE BEGIN, LENG Well, maybe that's all. If you notice bugs, please write.
Other articles:
Similar articles:
В этот день... 21 November