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.