Jump to content

Photo

Random F18A questions

F18A

208 replies to this topic

#51 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Wed Jun 26, 2013 4:13 PM

It's a GROM DSR.. TI BASIC, Editor/Assembler... anything written in GPL can usually pull DSRs from both ROM and GROM. Most assembly language programs only check ROM DSRs, though.

You can't use ROM DSRs on the cartridge port, unfortunately.


Yea this has been my complaint about Assembly access to DSR's as MIller Graphics has a DSR that finds the same ones as XB or BASIC or EA Cart, but Assembly people like Bruce Harrison never used the Miller Graphics one.
Utill I called him and explained several times why it was better then the normal one he used that would only work on >4000 space alone.
After that he started many programs examples on using GPLDSR LINKS.

#52 Lee Stewart OFFLINE  

Lee Stewart

    River Patroller

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

Posted Wed Jun 26, 2013 6:32 PM

Yea this has been my complaint about Assembly access to DSR's as MIller Graphics has a DSR that finds the same ones as XB or BASIC or EA Cart, but Assembly people like Bruce Harrison never used the Miller Graphics one.
Utill I called him and explained several times why it was better then the normal one he used that would only work on >4000 space alone.
After that he started many programs examples on using GPLDSR LINKS.


The problem with the GPL DSRLNK is that the pointers are different and it returns to GPL. As to XB, EA Cart, TIForth and, now, fbForth, their DSRLNKs can all be patched or rewritten because they reside in low memory expansion. TurboForth's is in ROM, but changeable if Willsy were so inclined and can get a little room in ROM space. The only one where I think we're basically screwed is TI Basic.

...lee

#53 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Wed Jun 26, 2013 9:02 PM

The problem with the GPL DSRLNK is that the pointers are different and it returns to GPL. As to XB, EA Cart, TIForth and, now, fbForth, their DSRLNKs can all be patched or rewritten because they reside in low memory expansion. TurboForth's is in ROM, but changeable if Willsy were so inclined and can get a little room in ROM space. The only one where I think we're basically screwed is TI Basic.

...lee


True but for Assembly you get a crippled version that ignores most of the DSR's the TI99/4A uses.
Miller Graphics showed how to do this without a problem, but again ignored.

#54 Willsy OFFLINE  

Willsy

    River Patroller

  • Topic Starter
  • 3,079 posts
  • Location:Uzbekistan (no, really!)

Posted Thu Jun 27, 2013 2:31 AM

I think Rich is refferring to the July 1986 edition of The Smart Programmer, which does indeed publish a very neat DSRLNK that actually uses the DSRLNK in GROM 0. It's assembly language code, and presumably (I haven't studied it yet) consists of mostly trampoline code to cleanly get in/out of GPL.

Here it is below. I'm publishing it as screen shots, as the PDF is too large to upload to Atariage. Nice tip, Rich. :thumbsup:

Attached File  dsrlnkgpllnk1.png   238.21KB   29 downloads
Attached File  dsrlnkgpllnk2.png   293.31KB   33 downloads
Attached File  dsrlnkgpllnk3.png   313.65KB   35 downloads
Attached File  dsrlnkgpllnk4.png   248.73KB   25 downloads

#55 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Thu Jun 27, 2013 7:53 AM

True but for Assembly you get a crippled version that ignores most of the DSR's the TI99/4A uses.
Miller Graphics showed how to do this without a problem, but again ignored.


Doesn't GPL eventually end up being Assembly? So anything done in GPL can be done in Assembly, right?

Edited by slinkeey, Thu Jun 27, 2013 7:53 AM.


#56 Lee Stewart OFFLINE  

Lee Stewart

    River Patroller

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

Posted Thu Jun 27, 2013 8:11 AM

I think Rich is referring to the July 1986 edition of The Smart Programmer, which does indeed publish a very neat DSRLNK that actually uses the DSRLNK in GROM 0. It's assembly language code, and presumably (I haven't studied it yet) consists of mostly trampoline code to cleanly get in/out of GPL.

Here it is below. I'm publishing it as screen shots, as the PDF is too large to upload to Atariage. Nice tip, Rich. :thumbsup:

...


I transcribed MG's GPLLNK and DSRLNK awhile back. It is attached. That could probably be patched to handle DSRs in other locations by branching to those DSRs directly; but, I don't think the GPL DSRLNK will handle DSRs anywhere else but 4000h space.and the additional console space for CS1 and CS2.

...lee

Attached File  UniversalGPLLNK_DSRLNK.txt   6.63KB   10 downloads
  • RXB likes this

#57 Willsy OFFLINE  

Willsy

    River Patroller

  • Topic Starter
  • 3,079 posts
  • Location:Uzbekistan (no, really!)

Posted Thu Jun 27, 2013 8:19 AM

...but, I don't think the GPL DSRLNK will handle DSRs anywhere else but 4000h space.and the additional console space for CS1 and CS2.


That's what I thought. I thought the regime was quite well defined. All DSRs are at >4000 and are paged in via CRU. The exception are the cassette DSRs which are implemented in GPL.

Therefore, the F18 can't have it's own DSRs, and furthermore, a cartridge cannot provide DSRs either. The only option is external (loaded from disk etc) libraries/drivers.

#58 matthew180 OFFLINE  

matthew180

    River Patroller

  • 2,538 posts
  • Location:Castaic, California

Posted Thu Jun 27, 2013 8:38 AM

Doesn't GPL eventually end up being Assembly? So anything done in GPL can be done in Assembly, right?


I think Rich was referring to some routines that were written in assembly, and it is the way the routines are written that are limited. When you use assembly on the 99/4A you have complete access to all hardware. Yes, the GPL interpreter is written in assembly. The 99/4A can only execute 9900 machine code. Anything else is an abstraction layer.

#59 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,383 posts
  • Location:Germany

Posted Thu Jun 27, 2013 9:11 AM

Essentially, you can consider the GPL interpreter as an 8-bit virtual machine, and GPL is its machine language.

#60 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,290 posts
  • HarmlessLion
  • Location:BUR

Posted Thu Jun 27, 2013 11:26 AM

That's what I thought. I thought the regime was quite well defined. All DSRs are at >4000 and are paged in via CRU. The exception are the cassette DSRs which are implemented in GPL.

Therefore, the F18 can't have it's own DSRs, and furthermore, a cartridge cannot provide DSRs either. The only option is external (loaded from disk etc) libraries/drivers.


Cartridges can provide GPL DSRs, and the cassette DSRs are written in GPL. The GPL DSRLNK can find both types. But the only other GPL DSR I know of is the MiniMem's.

I think most people just decided that since with an Editor/Assembler or XB cartridge plugged in, the only available GPL DSR was cassette, and so it wasn't worth the extra code.

The conclusion is the same though. You need an external memory of some form to provide any kind of DSR for the F18A.


#61 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Thu Jun 27, 2013 3:16 PM

Doesn't GPL eventually end up being Assembly? So anything done in GPL can be done in Assembly, right?


Yea but if you are using the Console OS ROM >0000 and GROM >0000it does not take 1 byte of code and would cut your DSR LINK size down and at the same time allow access to anything unlike the normal method.
Like CS1 or GROM DSRs are impossible to use. If you use the Miller Graphics GPLDSR you can access all the RXB DSR's too.
Like form any device prompt type EA and it goes to the RXB EA cart or type XB and it goes to XB or BASIC will go to TI BASIC.

#62 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Thu Jun 27, 2013 3:19 PM

I think Rich was referring to some routines that were written in assembly, and it is the way the routines are written that are limited. When you use assembly on the 99/4A you have complete access to all hardware. Yes, the GPL interpreter is written in assembly. The 99/4A can only execute 9900 machine code. Anything else is an abstraction layer.


Sorry no, I am referring to the DSR LINK used normally by Assembly programmers that will not access anything but >4000 DSRs and ignores any others.
The Miller Graphics GPLDSR Link can access anything a Cart can access but from YOUR programs, just use the best DSR the Miller Graphics one.

By the way in a Micropendium is a version of the Miller Graphics DSR (GPLLINK) that is smaller and faster. Do not remember what issue.

Edited by RXB, Thu Jun 27, 2013 3:24 PM.


#63 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,290 posts
  • HarmlessLion
  • Location:BUR

Posted Thu Jun 27, 2013 3:36 PM

Sorry no, I am referring to the DSR LINK used normally by Assembly programmers that will not access anything but >4000 DSRs and ignores any others.


That's really TI's fault too, anyway, since the DSRLNK they released with Editor/Assembler behaves that way, and essentially set the standard.

#64 InsaneMultitasker OFFLINE  

InsaneMultitasker

    River Patroller

  • 2,237 posts

Posted Thu Jun 27, 2013 4:13 PM

Sorry no, I am referring to the DSR LINK used normally by Assembly programmers that will not access anything but >4000 DSRs and ignores any others.
The Miller Graphics GPLDSR Link can access anything a Cart can access but from YOUR programs, just use the best DSR the Miller Graphics one.

By the way in a Micropendium is a version of the Miller Graphics DSR (GPLLINK) that is smaller and faster. Do not remember what issue.

Ahhh. A version of the Millers Graphics DSRLNK and GPLLNK might just be what I encountered in the Dinosaur disk loader. What is interesting is the secondary loader contains what seems to be the EA defacto DSRLNK code. Why Ken used two different routines is beyond me, since the standard DSRLNK will work within the XB environment with the proper setup. I may just finish my quick disassembly to look for anything 'suspicious'.

In general, TI's EA DSRLNK also provides the best compatibility with the Geneve. Unless a specific program requires GPL or accesses devices outside the x4000 peripheral card range, I would not recommend the GPL DSRLNK over the EA DSRLNK.

#65 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Thu Jun 27, 2013 4:39 PM

That's really TI's fault too, anyway, since the DSRLNK they released with Editor/Assembler behaves that way, and essentially set the standard.



Well by that logic we should not be using the SAMS or PGRAM or Hard drives either. Nor the F18, I think you see my point.
As for the Geneve it uses a different Processor and is 8 bit so that is a whole other can of worms of a problem.

#66 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,290 posts
  • HarmlessLion
  • Location:BUR

Posted Thu Jun 27, 2013 5:21 PM

Well by that logic we should not be using the SAMS or PGRAM or Hard drives either. Nor the F18, I think you see my point.


I see your point, but I disagree by technicality -- there was no SAMS, PGRAM, or hard drive when the Editor/Assembler package was released, but there /was/ GPL DSRs. My point is that TI chose to down-value them, your point is that TI didn't write code for hardware that didn't exist yet. ;) And that's where I'll leave that!

#67 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Thu Jun 27, 2013 6:52 PM

I see your point, but I disagree by technicality -- there was no SAMS, PGRAM, or hard drive when the Editor/Assembler package was released, but there /was/ GPL DSRs. My point is that TI chose to down-value them, your point is that TI didn't write code for hardware that didn't exist yet. ;) And that's where I'll leave that!


Well not really, the Assembly Language guys just never talked to the GPL guys. You can see that is most of the Carts, they just sat in cubicles and did not talk much back and forth.

XB source is a perfect example of goofy code to do a MVUP or MVDN in VDP or RAM yet the GPL MOVE command does that at the same speed.

Superfluous coding from lack of communications.
(Example is the ROMs source code I had and you can see it in the GPL code of the XB module.)

I have tested it and the ROMs in XB have other code problems that show this as a fact. It took 1 hour to show a 40 second improvement.

That does not mean all standards are good one, it means just what became popular. Or should we all be driving the People car today?

#68 marc.hull OFFLINE  

marc.hull

    Stargunner

  • 1,297 posts
  • Location:Oklahoma CIty.

Posted Thu Jun 27, 2013 7:42 PM

Can you actually communicate to the internal CPU in the F18 from the TI ?

#69 --- Ω --- OFFLINE  

--- Ω ---

    HexaCoreRunner

  • 12,837 posts

Posted Thu Jun 27, 2013 9:13 PM

The conclusion is the same though. You need an external memory of some form to provide any kind of DSR for the F18A.

So, you are basically saying that, any Tom, Dick or Harry with a Super Cart, and a program that does not exist, could give us access to all the goodies locked up inside the F18A?
Sounds like a decent programmer could make some money with such a program.

Edited by Kevan, Thu Jun 27, 2013 9:15 PM.


#70 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,290 posts
  • HarmlessLion
  • Location:BUR

Posted Thu Jun 27, 2013 9:52 PM

So, you are basically saying that, any Tom, Dick or Harry with a Super Cart, and a program that does not exist, could give us access to all the goodies locked up inside the F18A?


Except for the "program that does not exist" part, no. A Super Cart (meaning an Editor/Assembler cartridge with RAM, in the traditional sense) can not load DSRs at all. The new cart that is being built (whatever it will be called) could in theory support a GROM DSR, but that's got fairly limited compatibility with assembly language software. So it's not a good choice either.

A ROM chip and a CRU select is the best option. Or it could be built into something that already has a programmable DSR, like the Horizon RAMDisk or the HDX.

#71 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Thu Jun 27, 2013 10:14 PM

Sounds like Assembly is short sighted and limited for access of use. Which is what I have been saying all along.

I have DSR's in RXB that work fine if anyone would upgrade the 30 year old standard.

LOL reminds me of the Monk that asked the natives why they threw children into the volcano, his reply "We always have?"

#72 Opry99er OFFLINE  

Opry99er

    Quadrunner

  • 9,797 posts
  • Location:Hustisford, WI

Posted Thu Jun 27, 2013 10:19 PM

Would it not be fair to say that, since GPL is written in assembly, that it cannot exist without assembly? I mean, anything GPL can do, assembly must, by definition, be able to do those things.

GPL is a higher level language than assembly, that's all. It's certainly easier to clear the screen in BASIC than in assembly, but that doesn't make assembly "short sighted".... Am I wrong here?

#73 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,383 posts
  • Location:Germany

Posted Thu Jun 27, 2013 11:21 PM

As for the Geneve it uses a different Processor and is 8 bit so that is a whole other can of worms of a problem.


It is not more 8 bit than the TI-99/4A itself, just the databus multiplexer is built into the CPU. TI did a lot of things the right way here.

#74 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Fri Jun 28, 2013 12:13 AM

Would it not be fair to say that, since GPL is written in assembly, that it cannot exist without assembly? I mean, anything GPL can do, assembly must, by definition, be able to do those things.

GPL is a higher level language than assembly, that's all. It's certainly easier to clear the screen in BASIC than in assembly, but that doesn't make assembly "short sighted".... Am I wrong here?


I was talking about setting a standard like Assembly only access to devices.
If Assembly can not do it and yet everything is written using Assembly then how is it not short sighted to not have access to a device?

That is strange that the same computer language that is the base computer language can not access devices written with that computer language?
(Come on does that not even sound kinda stupid?)

#75 RXB OFFLINE  

RXB

    River Patroller

  • 3,320 posts
  • Location:Vancouver, Washington, USA

Posted Fri Jun 28, 2013 12:14 AM

It is not more 8 bit than the TI-99/4A itself, just the databus multiplexer is built into the CPU. TI did a lot of things the right way here.


Yea it was a great idea, but to late for TI to survive.





Also tagged with one or more of these keywords: F18A

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users