Jump to content
IGNORED

TIPI Usage and Support


jedimatt42

Recommended Posts

4 hours ago, jedimatt42 said:

If you can point we at this software I can see what it is doing.. I know I've tested TI's Editor Assembler, but I do all my assembly with xdt99... So I've never tried the RAG stuff.

I've renamed them from their original form of RAGASM and RAGAS"N"

Fyi, I run these from classic 99 and never had trouble. I've also run this From ti peb floppy and gotek as well and seem ok .

 

 

RAG RAH

Edited by GDMike
  • Thanks 1
Link to comment
Share on other sites

14 hours ago, jedimatt42 said:

These xb embedded EA5 loaders of old used sector io, which TIPI does not do. This never made sense as there is the much easier direct block read operation they could have used without having to decode the directory structure themselves.

Although not directly related to the EA5 loaders,  the historical reasons for using sector IO to decode the directory structures (catalog the files) were that sector IO was faster and it removed the hassle of dealing with records and floating point numbers.  Nearly all disk managers including Myarc's MDM5 (for the HFDC) relied upon direct sector IO.  And while they are still viable programs, we have moved beyond that with programs like DM2K. 

 

 

  • Like 3
Link to comment
Share on other sites

1 hour ago, InsaneMultitasker said:

Although not directly related to the EA5 loaders,  the historical reasons for using sector IO to decode the directory structures (catalog the files) were that sector IO was faster and it removed the hassle of dealing with records and floating point numbers.  Nearly all disk managers including Myarc's MDM5 (for the HFDC) relied upon direct sector IO.  And while they are still viable programs, we have moved beyond that with programs like DM2K. 

 

 

The cases I was referring to are not disk managers. Or even catalog listers.

  • Like 1
Link to comment
Share on other sites

21 hours ago, arcadeshopper said:

http://ftp.whtech.com/Users/Gregory%20McGill/INFOCOMLOADER/

We found this issue early in TIPI testing and determined that was the loader as Matt said above here is a loader that works fine.

 

Sent from my LM-V600 using Tapatalk

 

 

 

 

That did not work unfortunately. That's OK though. I just ended up creating a script to replace the LOAD program which launches the appropriate interpreter from TIPI as Matt suggested, and that works just fine.

 

I should mention that the readkey scripting command needs to be in lower case unlike the other commands which don't care. This tripped me up for a while and it's not mentioned in the wiki...

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

3 hours ago, Vorticon said:

That did not work unfortunately. That's OK though. I just ended up creating a script to replace the LOAD program which launches the appropriate interpreter from TIPI as Matt suggested, and that works just fine.

 

I should mention that the readkey scripting command needs to be in lower case unlike the other commands which don't care. This tripped me up for a while and it's not mentioned in the wiki...

For the reader, readkey is a command in ForceCommand. Nothing to do with TIPI in particular.

Link to comment
Share on other sites

That did not work unfortunately. That's OK though. I just ended up creating a script to replace the LOAD program which launches the appropriate interpreter from TIPI as Matt suggested, and that works just fine.
 
I should mention that the readkey scripting command needs to be in lower case unlike the other commands which don't care. This tripped me up for a while and it's not mentioned in the wiki...
Ok I looked and it looks like I uploaded the wrong file I'll get that fixed and update you when it is

Sent from my LM-V600 using Tapatalk

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
1 hour ago, Vorticon said:

Awesome! Would it be possible to have a copy of the mouse.o file by any chance? I don't have xdt99 installed as I don't have much use for it.

The binary should be on that GitHub releases page.. The readme for the GitHub repository has a section labelled, 'Binary', with a link to the releases page for the repository. That page shows version 1.1 has an asset named tmouse.o

 

You should be able to download that.

 

There has been no interest, so I forgot that I intended to bundle the binary on the TIPI... 

  • Like 2
Link to comment
Share on other sites

6 hours ago, jedimatt42 said:

The binary should be on that GitHub releases page.. The readme for the GitHub repository has a section labelled, 'Binary', with a link to the releases page for the repository. That page shows version 1.1 has an asset named tmouse.o

 

You should be able to download that.

 

There has been no interest, so I forgot that I intended to bundle the binary on the TIPI... 

Got it. Thanks!

I do have a question though. If the driver is about 355 bytes long and is relocatable, that will put it between >24F4 and >2657 if it is loaded first. But the docs also mention that you are using addresses >2710 - >2719 as mailbox addresses in order to maintain compatibility with the old Mechatronics driver, so is there a memory gap between the end of the driver and the mailbox addresses? If there is, then I will need to AORG any custom assembly programs I'd like to load after the mouse driver. otherwise they will overwrite the mailbox addresses and crash when the latter are used by the mouse driver. Am I understanding this correctly?

Edited by Vorticon
Link to comment
Share on other sites

19 minutes ago, Vorticon said:

Got it. Thanks!

I do have a question though. If the driver is about 355 bytes long and is relocatable, that will put it between >24F4 and >2657 if it is loaded first. But the docs also mention that you are using addresses >2710 - >2719 as mailbox addresses in order to maintain compatibility with the old Mechatronics driver, so is there a memory gap between the end of the driver and the mailbox addresses? If there is, then I will need to AORG any custom assembly programs I'd like to load after the mouse driver. otherwise they will overwrite the mailbox addresses and crash when the latter are used by the mouse driver. Am I understanding this correctly?

Could you just add a BSS at the end of the driver to reserve enough bytes to get it past >2719?

Link to comment
Share on other sites

17 minutes ago, arcadeshopper said:

at least with the mech driver I found that if I loaded it first, other things loaded above it

 

ALC programs are usually loaded sequentially, but the issue is that the mouse driver is using a set of addresses as mailboxes beyond its actual end address, so I'm wondering if there is a gap there unless jedimatt covered the gap with a BSS as stuart suggested.

Link to comment
Share on other sites

I think, even with the old mechatronics driver, they picked address easy to document, not addresses in their relocatable code. 

 

It seems to me, there should be another call link that returns the address of the mailboxes, and then the xb code should use those... Abandoning the mechatronics hardcoded address compatibility... A tmouse_r.o ... 

 

 

 

Link to comment
Share on other sites

20 minutes ago, jedimatt42 said:

I think, even with the old mechatronics driver, they picked address easy to document, not addresses in their relocatable code. 

 

It seems to me, there should be another call link that returns the address of the mailboxes, and then the xb code should use those... Abandoning the mechatronics hardcoded address compatibility... A tmouse_r.o ... 

 

 

 

A separate driver without Mechatronics compatibility makes total sense for new projects with the TIPI mouse and simplifies life :) 

Forgot to ask: will you be considering that?

Edited by Vorticon
  • Like 2
Link to comment
Share on other sites

The problem is, I'm no good at assembly integration with XB... the mailbox addresses are indeed AORG'ed, and not BSS padded. Removing the AORG solves the core problem, but then we have to have a CALL LINK("MMAIL", MBASE), and the assembly has to stuff the base address into MBASE... That would only have to be called once. 

 

... 

 

Reading E/A manual....

 

...

 

Is 17.2.1 - NUMASG utility available in XB ? 

Link to comment
Share on other sites

Being entirely too lazy to design a new interface, it might look like this, instead of what is there now:

 

;
; TIPI Extended BASIC mouse driver similar to but not compatible with 
; Mechatronics mouse driver.
;
; CALL INIT::CALL LOAD("TIPI.TMOUSE/O")
;
; CALL LINK("MBASE", MBOX)
; -- set MBASE to address of beginning of data exchange mailbox
; 
; CALL LINK("MOUSE0") 
; -- Will block until mouse button 1 is pressed. A subsequent
;    CALL PEEK(MBOX,VPOS,HPOS) will read location data.
;    MKEY will be 255.
;
; CALL LINK("MOUSE1")
; -- Install an interupt service routine to update the mouse location and
;    button status. 
;    Control flow returns to the calling XB
;    program. Subsequent CALL PEEK(MBOX,VPOS,HPOS,MKEY) calls will
;    provide the updated status. 
;
; CALL LINK("MCLR")
; -- Uninstalls the interrupt service routine.
;
; CALL LOAD(MBOX+3,VHOME,HHOME)
; -- stores the value of VHOME and HHOME in address MBOX+3 and MBOX+4. The
;    driver will move the pointer to this position if second mouse button
;    is pressed.
;
; CALL LOAD(MBOX+5,LEFT,RIGHT,TOP,BOTTOM)
; -- stores a bounding box to contain the pointer.
;

 

  • Like 1
Link to comment
Share on other sites

7 minutes ago, jedimatt42 said:

The problem is, I'm no good at assembly integration with XB... the mailbox addresses are indeed AORG'ed, and not BSS padded. Removing the AORG solves the core problem, but then we have to have a CALL LINK("MMAIL", MBASE), and the assembly has to stuff the base address into MBASE... That would only have to be called once. 

 

... 

 

Reading E/A manual....

 

...

 

Is 17.2.1 - NUMASG utility available in XB ? 

Yes it is. This is the document you should read.

TI Extended BASIC Assembly Language Code Programmer's Guide.pdf

  • Like 3
  • Thanks 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...
×
×
  • Create New...