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   
Text File  |  1991-11-21  |  6KB  |  116 lines

  1. l
  2.  
  3.  
  4.                     MEMORY MAP FOR TDISK.COM
  5.  
  6. MENU CALLING PROGRAM                              0100H
  7.  
  8. CALL ROUTINES BEGIN                               0700H
  9.  
  10. ADDRESS     CPI      DISCRIPTION
  11. 0700H       01       BIOS CALLS WITH FCB C=BDOS
  12. 0705H                BIOS CALLS WITH NO FCB C=BDOS
  13. 070FH       02       TIMER DELAY USING HL REGISTERS
  14. 071DH       03       RESET RS232 BUFFER
  15. 072AH       04       STATUS READ AND REPORT SUBROUTINE
  16. 07C0H       05       CR + LF TO THE TERMINAL
  17. 07D4H       06       CHECK BYTE HL=POINTER B=COUNT CK RETURNS IN A
  18. 07E2H       07       STRING TO TERM. HL=POINTER B=COUNT
  19. 07F6H       08       STRING TO FDISK HL=POINTER B=COUNT
  20. 0807H       09       PAD FCB 20H HL=POINTER B=COUNT
  21. 0815H       0A       MOVE HL=SORSE P. DE=DESTINATION P. B=COUNT
  22.  
  23. 0900H                MAKEUP CALLS FOR PATCHES
  24.      SPECIAL LOOP PATCH AT 980H, WAITS FOR DISK TO RESPOND.
  25.  
  26. PRINT ERROR ROUTINES                                0A00H
  27.             FILE NOT FOUND                 0A00H
  28.             I/O ERROR                      0A10H
  29.             END OF FILE                    0A20H
  30.             NO ROOM ON DISK                0A30H
  31.  
  32. STRINGS FOR DISPLAYS MENU ETC.                      0C00H
  33. DISK QUERY STRINGS                                  0D80H
  34. STATUS QUERY                                        0D80H
  35. DISK FCB QUERY  (used to open,kill & directory)     0D92H
  36.             [                  0D92H 'Z'
  37.             [                  0D93H 'Z'
  38.             [               {  0D94H QU
  39.  TO DISK  < [               {  0D95H LENTH FCB=#26
  40.   31 BYTES  [  CK. CAL. <   {  0D96H FILENAME FCB
  41.             [  28 BYTES     {  0DAEH 'F'
  42.             [               {  0DAFH QP
  43.             [                  0DB0H CHECK BYTE
  44.  
  45. POSITION TO WRITE QUERY                             0DB3H
  46. CLOSE FILE QUERY                                    0DBAH
  47. POSITION TO READ QUERY                              0DC1H
  48. COMMAND TO READ QUERY                               0DC8H
  49. COMMAND TO FORMAT QUERY                             0DCFH
  50. COMMAND TO KILL QUERY                               0DD6H
  51.  
  52. OUTPUT BUFFER                                       0E20H
  53.                  [             0E20H 'Z'
  54.                  [             0E21H 'Z'
  55.                  [           { 0E22H QU
  56.        TO DISK < [ CK.BYTE < { 0E23H $LEN=80H
  57.         #133     [  #130     { 0E24H TEXT TO
  58.         BYTES    [ BYTES     { 0EA3H TEXT END
  59.                  [             0EA4H CHECK BYTE
  60.  
  61. RS232 BUFFER LENTH                                  FE1BH =85H
  62. RS232 BYTES RECEIVED                                FE1CH =0
  63. RS232 BUFFER START
  64.               L.S. BYTE                             FE1DH =21H
  65.               M.S. BYTE                             FE1EH =FEH
  66. RS232 BUFFER POINTER
  67.               L.S. BYTE                             FE1FH =21H
  68.               M.S. BYTE                             FE20H =FEH
  69. RESPONSE TYPE                                       FE21H
  70. RESPONSE                                            FE22H
  71. BEGINING OF TEXT                                    FE23H
  72. END OF TEXT                                         FEA2H
  73. CHECK BYTE                                          FEA3H
  74.  
  75. PARAMETERS FOR RS232 SERIAL PRINTER                 8N81N
  76.  
  77. In  answer  to Dave's Question in a recent Genie letter "How  did 
  78. you do that?"
  79. Other than the motivating factor of all those data cassets taking 
  80. up space in my brief case, there were 3 keys to this effort.
  81. The first two are the laptop buddies who uploaded MSA15.COM and
  82. DDTZ25.COM  without which I would still be scratching my head  as 
  83. to where to start.
  84. After  that it was just a lot of hacking.  So I'm really  just  a 
  85. hacker  and  not  a  programer.  My first goal was  to  find  the 
  86. location  of the RS232 buffer and how it worked.  After a lot  of 
  87. hacking as you can see I found it at FE21H.  Some more time at it 
  88. and  the preceeding bytes consisting mainly of the  byte  counter 
  89. and pointer began to make sense to me.
  90. I  got  the protocall for the disk drive by more hacking on  some 
  91. programs out of M100SIG forum on cps. 
  92. The RS232 buffer was originaly a 128 byte buffer,  but I  changed 
  93. that  to  133  bytes by inserting 85H at FE1BH in   part  of  the 
  94. program. The TDD requires a 131 byte buffer minimum.
  95. With  the tools at hand I then set a modest goal of replacing the 
  96. casset  recorder with a disk drive.  I had trouble at first  with 
  97. the timing,  then finally resorted to a loop. Which is why if the 
  98. disk drive is off or there is no disk in the drive, you will have 
  99. to reset,  then reset the LPT. If you forget to reset the LPT the 
  100. program will return you directly to CPM.  I really went a  little 
  101. further  than my goal.  In the program,  but not in the menu is a 
  102. <L>oad  command.  With some com files like DDTZ25 and ZBAS the  L 
  103. command  will load and execute if the file is on the disk in  the 
  104. drive.  This  without  putting the com file on the  RAM  disk.  I 
  105. abandoned  the  effort because it went beyond the goals  set  and 
  106. because it was getting into the DOS invioroment.  I'll leave that 
  107. to the real programers.  Hence it's not in the menu,  however  it 
  108. works.
  109.  
  110. Best Laptop regards,  Robert
  111.                                                                                                                            
  112.                                                                                                                             
  113. End of list.
  114.  
  115.  
  116. Download another file (Y/N)?