Virtual Worlds #01
31 декабря 1999 |
|
Assembler - Overlays for JC: Description of methods for creating utilities running Jemmini_Commander 4.0T.
JEMMINI COMMANDER FOREVER (C) TimeKeeper This program is quite old, but I think there are still people who it is used. It is for them and intended in this article. Today there is a huge number of various commanders, good and bad. Tastes, Naturally, everyone is different and every man for himself chooses what it is more appropriate. Until recently I used Jemmini Commander, and I want to offer you one of their developments, through which you'll be able to write utilities that are running Jemmini Commander version 4.0T. Generally, this function has already implemented it in the form of code run file extension *. U, but I do not completely understand their format and how interaction with the commander, but I have long been a desire to write such applications, which motivated me to come to grips with the study of question. All turned out to be even simpler than I thought. Initial zagruschik JC as follows: 1 0 CLEAR: RANDOMIZE USR 0 :**** At the place of stars located initial program loader, written in code. Authentic Clear values and Usr from BASIC and I can not see when using STS, has received the following numbers: Clear = # 5F1F, Usr = # 5D60. After the download is complete, JC converts the first row as follows: 1 0 CLEAR: RANDOMIZE USR 0: REM: RUN "" Clear = # FFFF, Usr = # 3D03 (15619). And overrides the index start at the beginning of the current line. Before the start of the program, it just only substitutes the name of the file instead of spaces and makes the return on team RET. Well, in principle, and all that we need to writing programs for JC. For those who have not guessed, explain: first we create the following BASIC file: 1 0 CLEAR: RANDOMIZE USR 0: REM: RUN "" 2 REM ***** Clear = # 5F1F, Usr = # 5D66. Instead of stars, we place program that retrieves utility, its launch and return Jemmini. Returns can be made at two addresses: 36076 - with the testing company 36,178 - without him. So the program itself: ORG # 5D66 LD BC, # 7FFD; Load utility in the 7 page. LD A, 23 OUT (C), A LD HL, 56064 LD DE, (# 5CF4) LD BC, # XX05 CALL # 3D13 CALL 56064; and run it. LD HL, TEST; After returning from checking LD DE, # 8BC4; it was launched: LD B, 22, from the commander or DOS'a and L0 LD A, (DE); return a call Wednesday. CP (HL) JR NZ, DOS INC HL INC DE DJNZ L0 LD BC, # 7FFD LD A, 16; Return to the commander of the provisional OUT (C), A; correction BASIC and content of the port LD HL, # FFFF; # 7FFD. LD (23876), HL LD HL, # 3D03 LD (23886), HL JP 36076; back with the conclusion of the test page. DOS LD BC, # 7FFD; Exit to DOS. XOR A OUT (# FE), A RST # 00 TEST DB "JemminiCOMMANDER V4.0" Of course, the utility does not necessarily have to work in the pages - you can run them in main memory, but by saving used plot pages and restoring it after work. As you probably noticed in the program, For correct operation, introduced a verification environment from which the osushestvlen launch and respectively, back to her. If your program on kakimlibo reasons, should not work out DOS'a, then insert it fragment, which would verify and, if necessary, issue a message inability to continue the work, accompanied by the release of BASIC. When you run the utility from JCv4.0T, at # 8BC4 contains the string: JemminiCOMMANDER V4.0 I also want to add that since with the # 6000 is stored directory of the drive. In the annex of the journal you will find a utility written specifically for JC on the method described by me: JC_cat.B This utility is needed to resolve the errors directory appeared as a result of Jemmini. (:) - Ed. ) About it, I think we should tell more in detail: The fact that JC is not quite correctly implements seal disc. After this operation, the catalog is the following combination: 50 53 43 20 31 2E 30 33 PSC 1.03 ... 00 41 20 50 52 45 56 31? A PREV1 ... January 1958 5A 49 50 52 45 46? XZIPREF ^ ^ While it should be: 50 53 43 20 31 2E 30 33 PSC 1.03 ... 00 41 20 50 52 45 56 31? A PREV1 ... 00 58 5A 49 50 52 45 46? XZIPREF ^ ^ (An example is given for a particular directory). A similar error occurs when you delete a group of files, located in the catalog. When This starts all sorts of glitches, because of which you can completely lose all the information recorded after the seal. Programs written by the described method will be 100% operable only when run from JCv4.0T or DOS'a. About Other versions say the commander I can not because of the impossibility of verification.
Other articles:
Similar articles:
В этот день... 21 November