Jump to content
IGNORED

Current device


Asmusr

Recommended Posts

Is there a standard way of knowing which disk drive or device the current running program was loaded from? E.g. if someone runs my E/A program from DSK2 I want to make sure that data files are loaded from DSK2 and not from DSK1. I noticed that E/A is using a PAB at VDP RAM >1000. Does that mean you can always read the device at >100A for any program that you run from E/A? Thanks.

Link to comment
Share on other sites

In RXB without Assembly I do this:

11 ! BOOT TRACKING IN RXB MERGE this program frist so your program knows which drive it loaded from last. *NOTE: NO ASSEMBLY USED!!
12 CALL PEEK(-31792,R,I,C,H) :: CRU=128*R+I :: CPU=256*C+H+5 :: CALL IO(3,8,CRU,255) :: CALL MOVES("R$",4,CPU,D$) :: CALL IO(3,8,CRU,0)
13 PRINT "DEVICE:";D$&"."

 

This peeks the last device used then calculates the CRU and CPU address, turns on that CRU DEVICE and gets the CPU ADDRESS name in D$ then turns off the DEVICE.

When you run this RXB program it displays:

DEVICE:DSK2.

That is if the program was named LOAD on disk 2, but any program name will work fine.

 

P.S.

I should add if you use a hard drive it will return SCS. or WDS. depending on the device used. So the period will be in the name vs SCS1 or WDS1 as I only used 4 in the CALL MOVES command.

A more complicated version would fetch the device name length and use it but that made the XB program very complicated to follow so I did not include it here.

 

Also you can find the PAB used in a crude way by searching from >0820 in normal XB it leaves the path there up to 158 characters long, but in RXB I use that area for many functions.

Hope this helps.

Rich

Edited by RXB
Link to comment
Share on other sites

Is there a standard way of knowing which disk drive or device the current running program was loaded from? E.g. if someone runs my E/A program from DSK2 I want to make sure that data files are loaded from DSK2 and not from DSK1. I noticed that E/A is using a PAB at VDP RAM >1000. Does that mean you can always read the device at >100A for any program that you run from E/A? Thanks.

 

This is pretty much the same question I asked in my fbForth thread starting at post #187 regarding boot tracking. It does look as though your suggestion ought to work. If you can catch the information before you change the display, you could probably also pick it out of the screen buffer at >00C2 (00C2h), though I do not understand the apparent 64-character lines—the filename you type is on the fourth line after 2 spaces.

 

...lee

Link to comment
Share on other sites

If you look at the RXB EA cart Source it is pretty much the same loader but RXB leaves pointers and path at VDP >2400 unlike the EA cart that may use VDP >1000 or >1380 or depending on FILES loaded.

I can load several programs and the issue is they all either AORG over the normal >A000 location or over write the old PAB buffers as soon as they load.

This is the GPL code in the EA Cart that sets up a PAB to load any EA5 programs slightly modified by me for REA but >831C is the pointer to the VPAB (>8356):

 

0445]			   *  Build PAB with name
[0446] E526 06,E5,85 BLDPAB  CALL  VZERO
[0447] E529 BD,E0,02                DST   @PABPTR,V@>0002(@PABPTR)   * PABPTR is >831C 
   E52C 1C,1C
[0448] E52E A3,E0,02                DADD  >0080,V@>0002(@PABPTR)
   E531 1C,00,80

99/4 GPL-ASSEMBLER (Pass 3) correct								   PAGE 0011
Rich E/A GROM
[0449] E534 BE,E0,08                ST    >00,V@>0008(@PABPTR)
   E537 1C,00
[0450] E539 BF,E0,04                DST   >5000,V@>0004(@PABPTR)
   E53C 1C,50,00
[0451] E53F 87,AF,22                DCLR  V@>2250                             * REA secondary BUFFER for run files between XB and EA, it goes both ways
   E542 50 
[0452] E543 06,E5,91                CALL  GETINP
[0453] E546 8F,50                      DCZ   @FAC6
[0454] E548 65,56                      BS    GE3CF
[0455] E54A 34,50,E0 PABNAM  MOVE  @FAC6,V*FAC4,V@>000A(@PABPTR)
   E54D 0A,1C,B0
   E550 4E
[0456] E551 BC,E0,09                ST    @FAC7,V@>0009(@PABPTR)
   E554 1C,51
[0457] E556 00	   GE3CF       RTN

 

It this is the section that loads the programs:

<0056>			   *  Load Program
<0057> E7DF 06,E5,70 PGMLOD CALL  DOIO
<0058> E7E2 35,00,06                  MOVE  6,V@>1380,@>8310
   E7E5 10,AF,13
   E7E8 80
<0059> E7E9 8F,00                       DCZ   @>8300
<0060> E7EB 47,F0                       BR    GE5E5
<0061> E7ED BD,00,14                 DST   @>8314,@>8300
<0062> E7F0 A7,14,83 GE5E5      DSUB  >8300,@>8314
   E7F3 00
<0063> E7F4 34,12,C0                  MOVE  @>8312,V@>1386,@>8300(@>8314)
   E7F7 00,14,AF
   E7FA 13,86
<0064> E7FC 8F,10                       DCZ   @>8310
<0065> E7FE 68,10                        BS    GE605
<0066> E800 87,02                        DCLR  @>8302
<0067> E802 BC,03,AF                  ST    V@>1009,@>8303
   E805 10,09
<0068> E807 A3,02,10                   DADD  >1009,@>8302
   E80A 09
<0069> E80B 90,B0,02                   INC   V*>8302

99/4 GPL-ASSEMBLER (Pass 3) correct								   PAGE 0016
Rich E/A GROM
<0070> E80E 47,DF                       BR    PGMLOD
<0071> E810 BE,A2,A2 GE605      ST    SPACE,V@>02A2
   E813 20
<0072> E814 35,00,13                  MOVE  19,V@>02A2,V@>02A3
   E817 A2,A3,A2
   E81A A2
<0073> E81B 06,E5,85                 CALL  VZERO
<0074> E81E 00                           RTN
<0075> E81F 05,00,13 PAB        BYTE  >05,>00,>13,>80,>00,>00,>21,>00
   E822 80,00,00
   E825 21,00
<0076> E827 00,0A    DLEN       BYTE  >00,>0A
<0077> E829 44,53,4B DDSK1  TEXT  'DSK1.'
   E82C 31,2E

You can see how it builds a PAB and where. This problem is what people do after it loads or how they load that destorys the information.

Link to comment
Share on other sites

Is there a standard way of knowing which disk drive or device the current running program was loaded from? E.g. if someone runs my E/A program from DSK2 I want to make sure that data files are loaded from DSK2 and not from DSK1. I noticed that E/A is using a PAB at VDP RAM >1000. Does that mean you can always read the device at >100A for any program that you run from E/A? Thanks.

 

Bruce Harrison did a write up on boot tracking as part of his "The Art of Assembly Series" that he wrote for MICROpendium. You can download the entire group from the "articles" directory at ftp.whtech.com.

 

Ernie

Link to comment
Share on other sites

Bruce Harrison did a write up on boot tracking as part of his "The Art of Assembly Series" that he wrote for MICROpendium. You can download the entire group from the "articles" directory at ftp.whtech.com.

 

Ernie

 

If I correctly understand Bruce's 2 articles on the subject, his method of querying the DSR that loaded the program will get only the device name (DSK1, DSK2, IDE1, SCS1, etc.)—it will not give you any information about subdirectories. If you want that information, you can only get it from the PAB, which you must find before it gets trashed.

 

...lee

Link to comment
Share on other sites

This is an interesting topic. It's nice to see someone taking so much time and effort to think of the end user and how they may use a program on a system configured totally different from the norm.

 

I've noticed some games in the past that once loaded, always ASSUMED the data disk, or 'levels file' was on DSK1, the programs never even gave the user the option to choose. The only remedy I was able to come up with was a sector editor.

Link to comment
Share on other sites

So far as I know, no one else using a system without a "real" DOS ever bothered. It was just assumed that your program would be loading from the first drive (device 8 on Commodore, and others for which I cannot recall convention.) On the Apple and I believe on the Atari, both had some kind of DOS loaded which would then allow you to determine the loading device.

 

I do not see any problem with, nor have any objection to, our TI programs assuming DSK1 is our boot/load device, especially considering TI Extended BASIC expectes "LOAD" to be on DSK1.

 

(Just an observation -- not my intention to detract from the idea of doing so.)

Link to comment
Share on other sites

I do not see any problem, nor have any objection, to our TI programs assuming DSK1 is our boot/load device, especially considering TI Extended BASIC expectes "LOAD" to be on DSK1.

 

On the TI, now, just like 23+ years ago, I've always set up to have DSK1 as my main system disk with DOS and all of my utilities, word processor and other useful programs. DSK1. is usually in place 95% of the time, there is little reason to ever remove it.

 

DSK2. has the temporary stuff like game disks or projects/programs in progress. DSK3. is usually just used for DATA and also hardly ever needs to be removed. When you divide stuff up like that, you can really pack a lot of utility into a small space.

 

Switching disks is a pain, especially with the "FUBAR-PEB" (the new Nano with COM1 that cannot run CF2K).

 

I use 4A DOS on my system which gives me quite a bit of flexibility it's a little like the old DOS PLUS, TRSDOS, NEWDOS 80 or MS-DOS it resides in the Super Cart so does not interfere with other stuff or their memory space.

Edited by Kevan
Link to comment
Share on other sites

What does 4A DOS do as far as capabilities?

You can download the entire operating manual at the following link...

https://www.wetransfer.com/downloads/e5b0bfb75c0b534aefa2804202f69ab820130715154511/9fed7568fa92bb4c2ac45adea9ba6c3620130715154511/a3f441

 

It's FANTASTIC. Not everyone has a Geneve 9640, or a totally unobtainable RXB, so this really IS the way to go for people using Nano-PEB, CF7's or basic TI-PEB's.

 

I use it on my REAL TI and LOVE IT!

Link to comment
Share on other sites

You can download the entire operating manual at the following link...

https://www.wetransf...15154511/a3f441

 

It's FANTASTIC. Not everyone has a Geneve 9640, or a totally unobtainable RXB, so this really IS the way to go for people using Nano-PEB, CF7's or basic TI-PEB's.

 

I use it on my REAL TI and LOVE IT!

 

Got any place it can be downloaded that lacks "Terms and Conditions?"

Link to comment
Share on other sites

Sounds very interesting. Only problem is to find a Super Cart. I don't suppose it will run from a Mini Memory? :)

 

No. Mini-Memory only has 4K of the >6000 - >7FFF space available for programs. It's not all that hard to build a Super Cart if you've got the tools, parts and some knowledge of soldering. The information is in the June/July, 1985 issues of MICROpendium, which is on the WHT FTP site.

Link to comment
Share on other sites

No. Mini-Memory only has 4K of the >6000 - >7FFF space available for programs. It's not all that hard to build a Super Cart if you've got the tools, parts and some knowledge of soldering. The information is in the June/July, 1985 issues of MICROpendium, which is on the WHT FTP site.

 

Another site with fantastic EASY-TO-FOLLOW instructions and FANTASTIC PICTURES is.....

http://www.mainbyte.com/ti99/supercart/supercart.html

 

This site makes it so simple, "Even a Caveman can turn an E/A into an SC"!

Link to comment
Share on other sites

Looking at the SAMS card it does not have many parts much like the Supercart, but 8K non software bank switched compared to 1Meg Software bank switch is a real bargain.

 

How hard would it be to put one in a Console?

Link to comment
Share on other sites

Looking at the SAMS card it does not have many parts much like the Supercart, but 8K non software bank switched compared to 1Meg Software bank switch is a real bargain.

 

How hard would it be to put one in a Console?

 

I simply do not know.

 

I'll tell you straight up, in the time I've been on the planet I've seen a lot of "Vapor Ware" in my time and I have 'issues' with things that are "in development", "about to be released" or "just need a little bit more tweaking". I've found that I can wait A LONG TIME FOR NOTHING, and the entire time MISS OUT ON SOMETHING THAT I COULD HAVE USED.

 

The TI is my hobby, I want to have fun NOW, I do not want to wait around 'for the next best thing'. If the next best thing EVER arrives, I'll look into it and get it then.

 

I guess I've just gotten a little grumpy and cynical in my old age......

Edited by Kevan
Link to comment
Share on other sites

Unfortunately Kevan, development takes time--and to ensure the product works as advertized also requires a lot of testing. Add the two together and the total time is even longer--and those of us who actually DO develop things have a life outside the TI to deal with as well. In my case it is two young boys who really want me to spend a lot of time with them, and as they are my sons, I give them that time. Of course, all of my younger brothers and sisters have grandchildren older than my boys, but what of it. Add work to support those nice Little Guys, and there is even less time for my hobby--and we mustn't forget She-Who-Must-Be-Obeyed either. She gets really cranky when I spend too much time working on the computer thingies--Draconic-Fire cranky. Development is also a teamwork thing--and add the life-needs of the others on a team and you get even more delays. ;)

 

I am happy for each project that comes to fruition--and if the community likes it when I am done, much joy. If the community doesn't like it--there is still much joy--because I have FUN with my hobby. Please don't nuke projects just because they don't do all of the things YOU want them to do. Be happy that they exist--and that you have the CHOICE to use them (or not) as you see fit. Please look at some of the comments you've posted on other projects--and read them carefully. If someone said those things to you and you would have been hurt by them, you probably shouldn't have said them. I am very glad for the things you contribute--they are useful to the community, but please let others contribute as they can on the timeline available to them too. Thanks--and don't take any of this as a personal slam, I note it only because when I read some of the comments on the Nano-PEB and the F-18A, I cringed. Yes, the new serial output IS a change, but it doesn't destroy the device, it just means it can't be used with some applications (and if programmers write software targeted to the changes, it will be even better). The prime function of that device was to provide disk, memory, and (serial or parallel) communications functionality--it was never compatible with every piece of software out there, but it does work with most things. The F-18A is a wonderful TMS-9918A replacement that "happens" to also do some things that an 80-column card does. That isn't its purpose though--it is to allow a TI to use a VGA monitor, and it does that beautifully. I bought three of them--one for my TI, one for my Pyuuta Mark 2, and one for my Powertran Cortex. It is a VERY capable device and it works with DOZENS of different computers. :)

 

BTW, I have half-a-dozen projects I'm working on for my hobby--some because "I" think they are neat, and some because others have asked me to help on them. Some you will never see at all, even when they are done, because I did them for my own gratification--like the adapter I built to allow a Round-Cable Armadillo Interface card to work with a Flat-Cable TI-99/8. It was a lot of fun--and I made exactly two of them, one for each of my Armadillo Interfaces. If someone else needs to make one, I'll give them a copy of the CAD drawing and send them on their merry way--but "I" won't be making any more of them, because I have enough already. :)

 

As noted above, please take all of my comments in the friendly-mode. They are just my take on things I've seen--and are not intended to hurt or flame you or anyone. Thank you.

Link to comment
Share on other sites

I have started many projects, and have finished a few. :) For me, I do as much TI work as I can, but RL gets in the way.

 

I, one day, hope to write the definitive RPG for the TI, but I think Adam's RoA will probably be the Creme de la creme there....

 

I think we all contribute where we can and every effort in our community, no

matter how large or small should be appreciated and applauded... We are a small, but strong, community of hobbyists and every effort adds to our strength and longevity.

 

 

Kevan, I appreciate your preservation efforts and advocacy of our computer.

Link to comment
Share on other sites

Please do not misunderstand me, I respect the fact that development takes time, and all these gadgets are fantastic, heck I'll probably end up buying most of them before I'm done. In fact I'll be buying an F18A at the end of this month. (I think at least one will be available).

 

Now while these new things are in development, I still want to play, so I'll still be acquiring 'older' stuff too, even if something may be 'newer' or 'better'. THIS, I admit, was part of my bad mood today. I'll not name names, but one person has been getting on my nerves over the past few months. It seems every time someone shows some interest in something, up pops this individual having to interject how great his item is, and how it does this better, or how it does that better. Then, if that was not enough, he even provides detailed examples! It comes across to me almost like a need to suppress everyone else's accomplishments to elevate his own ego.

 

So, yes when you point out that what I've said may be hurtful, I get it. I'll be VERY conscious of my future postings. Thank you for bringing it to my attention, and don't worry about me taking it the wrong way. Constructive criticism is ALWAYS welcome, without it we cannot grow as individuals. :)

Link to comment
Share on other sites

I only suggested the SAMS as we have the specs and chips around to make them and they are very Assembly or RXB friendly.

Oh and fast as hell compared to manually switching banks on a cart.

Watch me load 960K into a SAMS card for this game I am working on.

Edited by RXB
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...