home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
STARLET
/
TDISK.ZIP
/
TDISK.HOW
< prev
Wrap
Text File
|
1991-11-21
|
6KB
|
116 lines
l
MEMORY MAP FOR TDISK.COM
MENU CALLING PROGRAM 0100H
CALL ROUTINES BEGIN 0700H
ADDRESS CPI DISCRIPTION
0700H 01 BIOS CALLS WITH FCB C=BDOS
0705H BIOS CALLS WITH NO FCB C=BDOS
070FH 02 TIMER DELAY USING HL REGISTERS
071DH 03 RESET RS232 BUFFER
072AH 04 STATUS READ AND REPORT SUBROUTINE
07C0H 05 CR + LF TO THE TERMINAL
07D4H 06 CHECK BYTE HL=POINTER B=COUNT CK RETURNS IN A
07E2H 07 STRING TO TERM. HL=POINTER B=COUNT
07F6H 08 STRING TO FDISK HL=POINTER B=COUNT
0807H 09 PAD FCB 20H HL=POINTER B=COUNT
0815H 0A MOVE HL=SORSE P. DE=DESTINATION P. B=COUNT
0900H MAKEUP CALLS FOR PATCHES
SPECIAL LOOP PATCH AT 980H, WAITS FOR DISK TO RESPOND.
PRINT ERROR ROUTINES 0A00H
FILE NOT FOUND 0A00H
I/O ERROR 0A10H
END OF FILE 0A20H
NO ROOM ON DISK 0A30H
STRINGS FOR DISPLAYS MENU ETC. 0C00H
DISK QUERY STRINGS 0D80H
STATUS QUERY 0D80H
DISK FCB QUERY (used to open,kill & directory) 0D92H
[ 0D92H 'Z'
[ 0D93H 'Z'
[ { 0D94H QU
TO DISK < [ { 0D95H LENTH FCB=#26
31 BYTES [ CK. CAL. < { 0D96H FILENAME FCB
[ 28 BYTES { 0DAEH 'F'
[ { 0DAFH QP
[ 0DB0H CHECK BYTE
POSITION TO WRITE QUERY 0DB3H
CLOSE FILE QUERY 0DBAH
POSITION TO READ QUERY 0DC1H
COMMAND TO READ QUERY 0DC8H
COMMAND TO FORMAT QUERY 0DCFH
COMMAND TO KILL QUERY 0DD6H
OUTPUT BUFFER 0E20H
[ 0E20H 'Z'
[ 0E21H 'Z'
[ { 0E22H QU
TO DISK < [ CK.BYTE < { 0E23H $LEN=80H
#133 [ #130 { 0E24H TEXT TO
BYTES [ BYTES { 0EA3H TEXT END
[ 0EA4H CHECK BYTE
RS232 BUFFER LENTH FE1BH =85H
RS232 BYTES RECEIVED FE1CH =0
RS232 BUFFER START
L.S. BYTE FE1DH =21H
M.S. BYTE FE1EH =FEH
RS232 BUFFER POINTER
L.S. BYTE FE1FH =21H
M.S. BYTE FE20H =FEH
RESPONSE TYPE FE21H
RESPONSE FE22H
BEGINING OF TEXT FE23H
END OF TEXT FEA2H
CHECK BYTE FEA3H
PARAMETERS FOR RS232 SERIAL PRINTER 8N81N
In answer to Dave's Question in a recent Genie letter "How did
you do that?"
Other than the motivating factor of all those data cassets taking
up space in my brief case, there were 3 keys to this effort.
The first two are the laptop buddies who uploaded MSA15.COM and
DDTZ25.COM without which I would still be scratching my head as
to where to start.
After that it was just a lot of hacking. So I'm really just a
hacker and not a programer. My first goal was to find the
location of the RS232 buffer and how it worked. After a lot of
hacking as you can see I found it at FE21H. Some more time at it
and the preceeding bytes consisting mainly of the byte counter
and pointer began to make sense to me.
I got the protocall for the disk drive by more hacking on some
programs out of M100SIG forum on cps.
The RS232 buffer was originaly a 128 byte buffer, but I changed
that to 133 bytes by inserting 85H at FE1BH in part of the
program. The TDD requires a 131 byte buffer minimum.
With the tools at hand I then set a modest goal of replacing the
casset recorder with a disk drive. I had trouble at first with
the timing, then finally resorted to a loop. Which is why if the
disk drive is off or there is no disk in the drive, you will have
to reset, then reset the LPT. If you forget to reset the LPT the
program will return you directly to CPM. I really went a little
further than my goal. In the program, but not in the menu is a
<L>oad command. With some com files like DDTZ25 and ZBAS the L
command will load and execute if the file is on the disk in the
drive. This without putting the com file on the RAM disk. I
abandoned the effort because it went beyond the goals set and
because it was getting into the DOS invioroment. I'll leave that
to the real programers. Hence it's not in the menu, however it
works.
Best Laptop regards, Robert
End of list.
Download another file (Y/N)?