(c) EraserAREAsoft 2000
There is such a program as Global
commander v1.31. This is a very cool co-
mandir, but it has one malicious glitch -
during copying if all information
does not fit into the buffer, then the receiver is sent to disk
Only the part that is
got into the buffer. Moreover, in the receiving kata-
The log will record the names of all copied
files, including those that do not fit into the buffer.
The situation is similar with the MOVE operation.
Let's talk about fixing this bug
story today.
To fix GC you will need pacnako-
create a code block with the commander core. Then
make the following changes to it:
1.
#5F26 CALL #66202.
#6620 DI
XOR A
LD (#707B),A
OR B
RET
3.
#6627 DEFB #31,#50
DEFB "`?` - HELP"
4.
#6576
LD HL,#6627
Then write the corrected block to
disc and pack. Then packed
the block can be inserted back into the commander
the same way they pulled it out.
The version corrected in this way
Mandira has been walking around the country for quite some time now.
no. You can distinguish it from a glitchy one by its over-
pussy:
`?` - HELP
instead
Press `?` to help
----------------------------------
And now another revision of the
cool assemblerAlasm v4.1. This time
we will remake it to work on Scorpion
with 1024 kilobytes of memory (expansion via
6.7 bits of port #1FFD - circuit of this extension
nia is located in the section "Hardware".
Problem of operation Alasmon ZS-1024
is that it is impossible to stuff
memory driver for all 64 pages in response
26 bytes allocated for this (maximum possible
make a 32-page driver). Moreover,
Moreover, some of these bytes are occupied
subroutine for launching assembler from Basie
ka. But not everything is as scary as it might be yet...
at first glance. In the application you
you will find the driver in the formatAlasm'aand ready
new driver. But in order for this shit-
ver earned it is necessary to make some changes
neniya in the body Alasm'a. Here is the listing for this do-
works.
#BFE0 LD D,A ;save page number
AND #30 ;select 2 bits
RLA ;transfer them to b.7 bits
RLA
LD L,A ;save the rotation result
LD A, D ; take the saved page number
AND 8 ; select one more bit
RLA ; rotate - it will go to 4 bits
0R L ;merged with the previous one. result
LD L,A ;save again
LD A, D ;take the page number again
AND 7;select the three least significant bits
0R L ; combine everything into a heap
JP #803F ; transition to the driver itself
As a result of these input manipulations
driver will receive the page code almost
tee ready for delivery to the port. It will be necessary
just separate which bits go to which port
throw.
Here is the page code format:
:) ABxCxPAG
ABC - bits issued to port #1FFD, corresponding
respectively AB - 6.7 bits, and C - 4 bits
(standard Scorpio) port. These
only separate which bits go to which port
throw.
Here is the page code format:
:) ABxCxPAG
ABC - bits issued to port #1FFD, corresponding
respectively AB - 6.7 bits, and C - 4 bits
(standard Scorpio)port. These
bits select the meter segment number
memory. 3 bits - 8 segments of 128 kB
PAG - bits issued to port #7FFD - by them
the page number in each segment is selected
mente.
This way you can remake ALASM
for any memory expansion standard - yes-
the most perverted one.
----------------------------------------
On this, let me take my leave.
Until the next "Little things".
Share your thoughts about the article