Jump to content
jedimatt42

TIPI - TI-99/4A to Raspberry PI interface development

Recommended Posts

YES. It's very cool to be able to have the TIPI intercept DSK1 when desired. It's fantastic for code development. I'm currently working on a handful of programs in C for the 99, and I recently (finally, and with ArcadeShopper and [email protected]'s help) set up my TIPI to intercept DSK1, set a XB LOAD program in there which uses Tursi's hack for launching E/A5 programs from XB, and it makes it super easy to compile code on the TIPI itself (in an SSH session) and simply reset the TI and have it automatically load my newest binaries for testing. Saves a bunch of cycle time. Then when I'm done and want the FDC controller to answer for DSK1, I just remove the link. Couldn't be easier.

Share this post


Link to post
Share on other sites

If TIPI is @ CRU $1000 and you old DSK1.WHATEVER then the folder assigned to TIPI's DSK1 is searched for WHATEVER. If it is found then It's loaded and your off to the races.

 

 

If it does not find it on TIPI then TIPI's TI side DSR ignores the error and continues on with the scan @ $1100 ?

  • Like 1

Share this post


Link to post
Share on other sites

If TIPI is @ CRU $1000 and you old DSK1.WHATEVER then the folder assigned to TIPI's DSK1 is searched for WHATEVER. If it is found then It's loaded and your off to the races.

 

 

If it does not find it on TIPI then TIPI's TI side DSR ignores the error and continues on with the scan @ $1100 ?

 

yep follows the TI spec

Share this post


Link to post
Share on other sites

 

yep follows the TI spec

 

No actually it doesn't but It's pretty clever. What stops the scan if the file doesn't exist ?

Share this post


Link to post
Share on other sites

YES. It's very cool to be able to have the TIPI intercept DSK1 when desired. It's fantastic for code development. I'm currently working on a handful of programs in C for the 99, and I recently (finally, and with ArcadeShopper and [email protected]'s help) set up my TIPI to intercept DSK1, set a XB LOAD program in there which uses Tursi's hack for launching E/A5 programs from XB, and it makes it super easy to compile code on the TIPI itself (in an SSH session) and simply reset the TI and have it automatically load my newest binaries for testing. Saves a bunch of cycle time. Then when I'm done and want the FDC controller to answer for DSK1, I just remove the link. Couldn't be easier.

 

 

What link ?

Share this post


Link to post
Share on other sites

I feel like all this argument is because we are saying, "hey, we could make that change in software if we did it this way" and Marc is communicating, "how come it isn't already like that? Boo." - I am ignorant to 99% of the way the TI is used. for 20 years that was all done in the dark. Then it was on Yahoo which is the same as the dark, and now we are here. Of course I'm ignorant. I have only a 3 floppy background.

I've sought advice here from those interested. I've not implemented quite a bit of it, because my primary design principle is "no sectors"

This sticking point about the names of the drives can be rectified later... it just won't be done with RAM. I've requested use case for this, and the response is just mechanism... The best way to get a hobbyist to develop something the way you want is to share a goal. What cool piece of software needs that? We don't run computers to run computers. That's a waste of time. We want to run a piece of software. And we want a hardware configuration that makes that smooth and delightful. But, some software will probably always be too archaic for me to get into.

And if storage is the primary perceived value of TIPI, I've FUCKED up.

 

----

 

I'm sorry I am interpreted as disingenuous... right now... this is how I try to shape my hobby:

 

In a prior hobby life, I had a hobby of building android applications. As soon as I started implementing features that I didn't use, the features became a chore to support, and the hobby stopped being fun. My assertion that this is built for me, and those like me is is totally genuine. This isn't a business for me. It is supposed to be fun. Some of you are clearly not like me. That is OK. If we all understood each other, there would be mono-culture. The TI is great because there is not mono-culture. There are cassette users, cartridge users, hoarders, specialty config users, kitchen sink users, programmers, consumers, wanna be programmers, wanna be consumers...

I'm still a wanna be programmer in the TI space.

 

Honesty Marc, I have no desire to build these for anyone.. I feel pressured to do so. I don't mind so much. If someone offered me cost for the materials I have, I would gladly walk away.

I have 2 boards for myself to fill the void that exists because a small group of you hoard all the HFDCs.

I am very conflicted about building these for people. I'm totally upside down on this hobby. I'd much rather be writing an FTP client, sprucing up my Telnet client, reading through GenRef that I just discovered and enjoying the Geneve that I have.

I'm a software guy who couldn't get the hardware I wanted. So I built it. I open sourced it from the beginning... This entire project is infringing on my preferred hobby.

 

----

 

It is 100% a clone of the sideport board. This was the strategy from the beginning. It has features that aren't necessarily needed in a big PEB, but the DSR and CPLD code are 100% the same. The 32K board was built so I could more easily design the sideport TIPI, so I could prototype it in a much cheaper environment with the PEB attached.

 

----

 

It is different from prior storage solutions on purpose. Mostly because I'm not very interested in the old productivity software. I'm interested in new software. I'll admit I completely disagree that it should be 100% compatible in all cases. I've put my foot down on sector IO. Not going to happen by my hand. Someone who needs it can do it. It would just be a software upgrade.

I think if you want to run the old software, you should use the old hardware. There is a middle ground where a lot of the old software will work on the new hardware.

 

----

 

I stated 8 months ago that people buying a TIPI should invest in a pile of 27C256 eproms, a burner and eraser. It is going to be released, and the software will still evolve. If that isn't acceptable, don't buy it, or buy upgraded eproms from others.

 

[email protected]

  • Like 2

Share this post


Link to post
Share on other sites

Oh so there's a step ?

 

I've been taking a step, yes. But I guess I misunderstood and that as long as names are unique, both the TIPI (mapped to DSK1) and the HW DSK1 can both be polled during an OLD call. I suppose this could be confusing for files that have the same path/name but it's still kind of cool.

Share this post


Link to post
Share on other sites

Oh so there's a step ?

 

to change the DSK1 mapping yes you either load TIPICFG which Omega posted a photo above of.. or open a file called PI.CONFIG and print to it "DSK1=TIPIPATH" so to make that TIPI.BOOT I'd put DSK1=BOOT'

 

Of course if you don't set it to anything.. it ignores DSK1 requests

 

in my video that was already set to point DSK1. to TIPI.BOOT.. and i didn't change it

Share this post


Link to post
Share on other sites

So you can OLD DSK1 from your TIPI and immediately OLD DSK1 FROM your FDC ? I call BS.

You have been warned before about using abusive language. I've just hidden a few unnecessarily rude posts of yours; if I have to do it again, you will be blocked from the thread.

Share this post


Link to post
Share on other sites

Oh, that's a neat idea. I could create a service on the PI, that watches a GPIO button, and toggles the disk mapping feature on or off. That would be nice to get DSK1.LOAD out of the way if you are hopping into xb for something.

 

[email protected]

  • Like 2

Share this post


Link to post
Share on other sites

You have been warned before about using abusive language. I've just hidden a few unnecessarily rude posts of yours; if I have to do it again, you will be blocked from the thread.

lighten up. I'm not being an ass I'm trying to figure out whether I want to buy this or not. Let my comments stand. There is nothing in them that is not Tit for tat or abusive. Jesus man we are having a conversation here so let it roll.

  • Like 2

Share this post


Link to post
Share on other sites

lighten up. I'm not being an ass I'm trying to figure out whether I want to buy this or not. Let my comments stand. There is nothing in them that is not Tit for tat or abusive. Jesus man we are having a conversation here so let it roll.

Calling people "pricks" and accusing them of being dishonest is not "having a conversation."

 

Time for you to go.

Share this post


Link to post
Share on other sites

Calling people "pricks" and accusing them of being dishonest is not "having a conversation."

 

 

 

I can't say much about the former messages as I didn't see those comments directly, but I do believe the latter about 'dishonesty' is being taken out of context based on the short and quick (and also perceived heated) responses and Marc's use of verb tense, and I'll leave it at that.

 

As for being on topic, @Matt, I created a LOAD_TIPI file for you to test with your Geneve. If TIPI will allow for files of 500+ sectors we can try loading the OS from TIPI with a boot-strapped DSK device, one step closer to a direct EPROM boot.

  • Like 8

Share this post


Link to post
Share on other sites

...

 

As for being on topic, @Matt, I created a LOAD_TIPI file for you to test with your Geneve. If TIPI will allow for files of 500+ sectors we can try loading the OS from TIPI with a boot-strapped DSK device, one step closer to a direct EPROM boot.

What method of IO does it use? I believe block read has a 16bit block offset that I support.

 

I'd be happy to test it out. Please include source.

 

[email protected]

Share this post


Link to post
Share on other sites

What method of IO does it use? I believe block read has a 16bit block offset that I support.

 

 

Good, re: 16 bit block offset. The program is using level 2 IO (direct input) to read the parameters and then the file gets pulled into ram. Hmm, I just realized that for the test, I need to include a routine to scrape the CRU address for the TIPI device. Otherwise the program is going to get confused thanks to the level 2 unit # albatross TI and Myarc hung around our necks.

 

I'm out and about today so I'll look at it this evening.

Share this post


Link to post
Share on other sites

Good, re: 16 bit block offset. The program is using level 2 IO (direct input) to read the parameters and then the file gets pulled into ram. Hmm, I just realized that for the test, I need to include a routine to scrape the CRU address for the TIPI device. Otherwise the program is going to get confused thanks to the level 2 unit # albatross TI and Myarc hung around our necks.

 

I'm out and about today so I'll look at it this evening.

Here is my assembly code for finding TIPI's crubase.

 

https://github.com/jedimatt42/tipi/blob/4f9961a0005be3fcbb5cd6e302459ed12c899664/examples/tiartist/tipim.a99#L169

Share this post


Link to post
Share on other sites

Good, re: 16 bit block offset. The program is using level 2 IO (direct input) to read the parameters and then the file gets pulled into ram. Hmm, I just realized that for the test, I need to include a routine to scrape the CRU address for the TIPI device. Otherwise the program is going to get confused thanks to the level 2 unit # albatross TI and Myarc hung around our necks.

 

I'm out and about today so I'll look at it this evening.

Or, if you give us the source and point me at what I use to assemble it, I can do that.

 

[email protected]

Share this post


Link to post
Share on other sites

Most helpful. I incorporated your routine into my code. I am using unit#0 for the "TIPI" device name's level 2 calls. The source for the TIPI MDOS loader is on its way to you via PM.

  • Like 2

Share this post


Link to post
Share on other sites

Maybe I missed the process, but what is the process to attempt to get a TiPi card to allow the Geneve to boot through it?

Share this post


Link to post
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.

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...