Jump to content

Photo

Specialized file access from XB


79 replies to this topic

#76 Lee Stewart OFFLINE  

Lee Stewart

    River Patroller

  • 3,807 posts
  • Location:Silver Run, Maryland

Posted Fri Oct 19, 2018 8:44 PM

To the best of my recollection, I've not used SAVE1-5 in my programs.  Maybe the words are used for re-entrant DSR calls. I believe Bruce Harrison wrote a few articles on this topic in Micropendium.   Ss noted in my post, I didn't write this version but it is pretty much standard.  In fact, Paul C.'s Fastterm source code contains a very similar DSRLNK that he labels "ultra standard".

 

I thought the Editor Assembler manual contained a listing of the DSRLNK routine.  I took a quick look at my manual and could not find it.  Maybe I'm thinking of some other documentation.... anyone know where to find the published version? 

 

Here on Thierry’s site:  E/A Assembly Routines.  DSRLNK starts at A22B2.

 

...lee



#77 InsaneMultitasker OFFLINE  

InsaneMultitasker

    River Patroller

  • 2,279 posts

Posted Fri Oct 19, 2018 8:56 PM

 

Here on Thierry’s site:  E/A Assembly Routines.  DSRLNK starts at A22B2.

 

...lee

Thanks Lee.  This helped me remember one other good reference that contains a documented DSRLNK for XB.  The interface standard design guide can be found in the development resources.  Page J20 contains the commented DSRLNK routine.  There are a few sections on DSR routines that are valuable to review for anyone interested in the nuts and bolts. 

 

http://aa-ti994a.ora...mplete_ti99.pdf



#78 TheBF OFFLINE  

TheBF

    Dragonstomper

  • 792 posts
  • Location:The Great White North

Posted Fri Oct 19, 2018 9:49 PM

 

Here on Thierry’s site:  E/A Assembly Routines.  DSRLNK starts at A22B2.

 

...lee

 

Ok I get it now. This is almost the same as the code I took from here.

 

So I am guessing nobody has tried the crazy stuff I want to do...

  1. not scanning all the cards ie: disk card only DSRLNK
  2. Pre-scanning the ROM list to get the code entry address for the device
  3. pre-calculating the PAB address that starts at the '.' (what I call the real PAB)
  4. storing the real PAB as a file ID that is passed to the Disk DSR like a handle

...because it's got some black magic in it so it's not worth the trouble. (?)



#79 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,329 posts
  • HarmlessLion
  • Location:BUR

Posted Sat Oct 20, 2018 1:39 AM

I've seen DSRs that only scan the disk card.. but you still need to store the CRU address >1100 in the right place. :) If you do that, though, you make it so that people can't use a RAMdisk to override the disk controller, for instance.

 

It's perfectly okay to precalculate everything, nothing can tell whether you actually scanned or searched. You just need to turn on the card and jump to the right address. The catch is that it won't work without all those little memory addresses being set up. :)

 

For the scratchpad loader, we call the "real" DSRLNK only once, then we pre-calculate a bunch of PABs with different EA#5 filenames, save off the data, and just directly branch to the DSR for each file. You can certainly get away with precalculations. :)

 

Source is in this archive, but it doesn't include the actual DSRLNK, just what we did with it. ;) 

https://harmlesslion...ware/scratchpad



#80 HOME AUTOMATION OFFLINE  

HOME AUTOMATION

    Chopper Commander

  • 147 posts

Posted Sat Oct 20, 2018 5:44 PM

 

I never understood that either. Where is the routine that TI BASIC is using stored?

In yet another coincidence, I came upon this...

 

Attached File  basic dsr.JPG   121.9KB   1 downloads :cool:






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users