Jump to content
IGNORED

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


Recommended Posts

Isn't v9t9 the whole disk (dsk)?

There is the v9t9 emulator.

There is the v9t9 Sector DISK format

And there is the v9t9 FIAD format.

 

I don't know if v9t9 supported the FIAD format itself, or if Fred Kaal invented it. But the popular HDX mod for our RS232 cards provides a FIAD filesystem on hosted PC that stores files in 'v9t9' FIAD format.

 

The format has a 128 byte header, the same size as TIFILES, followed by a sequence of the sectors of the file.

The header is very close to, if not the same as the FDR. Filename is in there, the bytes that describe the file and size are all in the same place as they are in the FDR. There is support for timestamps, but that might also have been taken from Myarc's extensions to the FDR. I don't know the history for sure.

The best documentation on the format is at Fred Kaal's site. http://www.ti99-geek.nl I'd give you a link, but the site seems designed to prevent it. Fred describes it in the Nottingham 2010 - V9T9 and HDX presentation under his 'Documenation' section.

 

Fred has fairly recently added TIFILES support to HDX, but when I first started with it, around 2016, it was V9T9 FIAD only.

 

---

 

Since the point of putting the file name in the header is so that it can be different from the hosted OS, I'm going to ignore the file name. It's not supposed to be required to match.

I'm going to stick with just the filesize in the header. The chances of a file in this context, actually matching the sector count and having a file size of (n*256)+128 seems accurate enough.

 

---

 

TIPI will not operate with V9T9 files as FIADs... they will look like foreign DIS/FIX128 files to it... meaning the TI will get the header as the first record.

But I am implementing conversion to TIFILES if the WEB-UI is used to upload the V9T9 file. There will be no choice. If it looks like a V9T9 file, upload to the TIPI web ui will just silently promote it to TIFILES.

 

-M@

  • Like 1
Link to comment
Share on other sites

V9T9 did invent both the disk and file format - as far as I know V9T9 was the first emulator to use the concept of TI files on the PC disk at all. The custom header was invented to work around the DOS file system naming restrictions, as well as to contain the file information. It was my favorite part of that emulator (and that's why Classic99 implemented that before images. ;) )

 

I guess 'invent' might be too strong for the disk format, since it's just a sector dump, but yes, they were both supported on that original emulator.

  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...

For a summary of features and functions, see the website HERE

It doesn't really emulate anything. No speech or extra RAM.
It's more of an interface to connect to a Pi for DSK access and some TCP/IP functions.

All of it open ended I think (open source for sure) to allow for other developers to fill in the blanks.

I think initially what we'll see besides the live chat client are websites hosting games that can be run as if loading from DSK.

And I think we'll start seeing games getting developed for internet multiplayer gaming.

Maybe even an updated or new web browser that can utilize the TIPI.

  • Like 1
Link to comment
Share on other sites

Thanks Sinphaltimus, as a new owner of just the basic unit it looks like I'd be better of with a NanoPeb then?

 

Depends on your expectations. I removed my nanoPEB and replaced it with the 32k sidecart ram and the TIPI beta as I'm beta testing it. I can honestly say that I do not miss the nano and will probably setup another console to use it for the rare times I may want to connect to one of our active BBSes. Also, I like the nano for portability when travelling with a console. I never did get around to using the HDX portions of it to transfer files back and forth to a PC, I just pulled out the CF card and used a reader on the PC for that. But as a means to an end, I'll never use it daily again. The TIPI is so easy to use and setup. But you are talking 3 devices as opposed to one when compared with a nano. The TIPI web interface also comes with a development screen where you can cut and paste code directly to the web interface and save it to the TIPI for instance access on real iron. So if you're a programmer, that might be very appealing to you. If you really want to get into BBS'ing, then the nano is more appealing right now. It's too early to say what capabilities may get exploited with TIPI as far as being able to do things like BBS'ing or RSS feeds and such.

 

In the end tho' i think TIPI is bringing a new era to the TI that will grow as time and development allows. The nano is very specific in what it delivers. 32kRam expansion, 2 floppy drives and a standard RS232 interface. I've already heard chatter someplace about bringing rs232 to tipi via the pi. I suppose when you think about it, anything that a pi can do might eventually get a TI derivative in one form or another (Mouse, RS232, USB, etc...)

 

Like anything else, I think it depends on what you are looking to accomplish and/or do with your add-ons.

 

And to be clear, I do have another console setup (2 total setup), my other console is connected to a PEB so I can enjoy real floppy disks as well. And I have a tape drive. So between the two consoles I have, i can enjoy just about every aspect of the TI I could possibly want. Except for the rs232 part as I'm missing a card for my PEB.

  • Like 2
Link to comment
Share on other sites

If you want to run old software, and have floppy disk controller emulation, then yes a NanoPEB or real PEB are the way to go.

 

If you want to develop new ways to use a TI, then TIPI might be for you.

 

TIPI will never be a finished product. It will hopefully be an ever evolving project.

 

-M@

  • Like 1
Link to comment
Share on other sites

To be clear...

 

TIPI will run most old software, but it doesn't support sector IO.

 

It doesn't have any RAM, it attaches on the back of my 32k sideport memory cards.

 

I suppose it would be a good time soon to make a new overview video..

 

-M@

 

Matt,

 

Will it work if you have a PEB attached, so directly on the speech port and not with your stand alone 32k?

Link to comment
Share on other sites

 

Matt,

 

Will it work if you have a PEB attached, so directly on the speech port and not with your stand alone 32k?

 

No. TIPI gets power from the 32k card, and it only has the stacking header style connector.

 

TIPI-PEB will be a card that goes in your PEB. If you want to use it with your PEB, wait.

 

--- That is the official story. ---

 

We have tested it in conjunction with the PEB. I have pulled the 74HCT245 chip from my 32k memory card to disable it, and then built a pass thru from the TIPI to an edge connector, so I could hook the PEB 'foot' to TIPI. So:

TI -> Speech -> 32k board -> TIPI -> PEB

 

With this I've tested the DSR works well with allowing floppy access if the TIPI isn't configured to map a directory to DSK1/2/etc. And tested that DM2K can copy to/from TIPI (as DSK4) to floppies, at least with a TI Floppy Controller ( sorry... Disk Memory System :) )

 

But I am building a PEB version. I designed an MSX IO Port expansion in KiCad Sunday, which finally revealed to me why I was stuck on the PEB board... the updates to KiCad have re-jiggered all the components, and for many the VCC and GND hidden pins are not included in the recommended pin counts for mapping to footprints, and then since you can't wire them in the schematic, you have to wire to net-name symbols instead. Anyway... side projects == practice, which makes this easier. And I've been focused mostly on software issues on the PI side.

 

-M@

  • Like 8
Link to comment
Share on other sites

I think it's so freaking cool that there will be an option for both P-Box owners and sidecar users. I've been looking forward for the sidecar version for over a year as there will be a time in my future when I *may* be forced to 'downsize'. My plan is to go with that at first for sure.... BUT it's been quite a while since there has been a totally NEW card for the P-Box that adds new capabilities, so I'll probably go this route as well. ;-) :thumbsup:

 

To me the TIPI will be something 'both camps' can use and enjoy whatever ones personal philosophy regarding new or backwards compatibility.

  • Like 1
Link to comment
Share on other sites

I have to own both. I have two consoles setup and I use them both for different things. One has a peb the other not. I think this is a philosophy everyone should consider.

EDIT: Especially if you're a developer who plans to do things with TIPI. How can you test something without two TIPIs? You'd have to rely on someone else for testing. What if that person isn't feeling good on test day? These are real world considerations folks.

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

How can you test something without two TIPIs? You'd have to rely on someone else for testing. What if that person isn't feeling good on test day? These are real world considerations folks.

 

You silver tongued devil... let us know if the wife buys that justification when the time comes. ;-)

If it works, you may become an inspiration to others!

  • Like 1
Link to comment
Share on other sites

I've got a question or two regarding TIPI with respect to thinking about things it can do in the future if development of other software occurs.

 

Can TIPI be used to point to some source code file repository so users can read/edit/write files where multiple individuals can work on a project and then assemble those files from that repository?

 

Will the PEBox version of TIPI be able to function in a Geneve with the use of RomPage?

 

Has anyone given thought to the code updates to MDOS to interface TIPI? Just curious, as I know there are probably only one or two people with those capabilities.

 

Thanks for any feedback.

  • Like 1
Link to comment
Share on other sites

...

Can TIPI be used to point to some source code file repository so users can read/edit/write files where multiple individuals can work on a project and then assemble those files from that repository?

The full power of the Linux filesystem and network filesystems is at your disposal. TIPI looks in /home/tipi/tipi_disk for the base of the 'TI' fileset. You are free to mount network shares or whatever under there. You are free to create symbolic links to point out to some other mount. This will not be 'controlled' by the TI. It will blindly see them as any other directory. This is a benefit of not using disk image models.

 

Will the PEBox version of TIPI be able to function in a Geneve with the use of RomPage?

I don't own a Geneve that works with RomPage. At least not with the TI Floppy Disk Controller. So I'm not hopeful that I can test this. More in another post...

 

Has anyone given thought to the code updates to MDOS to interface TIPI? Just curious, as I know there are probably only one or two people with those capabilities.

I've got pages and pages of thoughts from InsaneMultitasker that make it sound, challenging to integrate into MDOS. The short form is, MDOS depends on a sector abstraction and TIPI has none, as it is trying to leverage Level 3 IO for extension. However, Tim has some hopeful ideas.

 

----

 

The primary intention of TIPI is extensibility, on an open source, freely licensed to the community platform. So, if it doesn't do what you want, then fix it.

 

-M@

  • Like 3
Link to comment
Share on other sites

Here is the TIPI-PEB schematic. (and PDF for anyone wanting to zoom in.)

 

post-42954-0-06255500-1520005938_thumb.png

tipi-peb-alpha-schematic.pdf

 

In the lower left corner you will see the decode logic for the AMA-AME lines. From what I've read on TI Tech Pages, I do not understand why there are jumpers usually in control of this logic. So this is my variant that I think will work on PEB with flex-card & 4A, as well as GenMod, and Non-GenMod Geneve.

 

The flex card, and the Non-Genmod Geneve, to my understanding, 'control' the state of the AMA-AMC lines. So I should be able to respect them, and just use pull-up and pull-down for AMD & AME, so they are in a stable state.

 

For a GenMod Geneve, those pullup and pulldowns need to be weak enough that the Geneve can override the signal.

 

Chips might say 'LS' but I'll be using the 'HCT' chips. This logic isn't in the CPLD, because I want to keep the CPLD the same as the TIPI sideport as much as possible.

 

The CPLD decodes MEMEN when determining access to the memory mapped latches or DSR, so I'm using a 74'138 to AMA-AME + MEMEN before it goes to the CPLD.

 

Maybe this will work... What do you all think?

 

-M@

  • Like 4
Link to comment
Share on other sites

Here is the TIPI-PEB schematic. (and PDF for anyone wanting to zoom in.)

 

attachicon.gifScreenshot from 2018-03-02 07-51-00.png

attachicon.giftipi-peb-alpha-schematic.pdf

 

In the lower left corner you will see the decode logic for the AMA-AME lines. From what I've read on TI Tech Pages, I do not understand why there are jumpers usually in control of this logic. So this is my variant that I think will work on PEB with flex-card & 4A, as well as GenMod, and Non-GenMod Geneve.

 

The flex card, and the Non-Genmod Geneve, to my understanding, 'control' the state of the AMA-AMC lines. So I should be able to respect them, and just use pull-up and pull-down for AMD & AME, so they are in a stable state.

 

For a GenMod Geneve, those pullup and pulldowns need to be weak enough that the Geneve can override the signal.

 

Chips might say 'LS' but I'll be using the 'HCT' chips. This logic isn't in the CPLD, because I want to keep the CPLD the same as the TIPI sideport as much as possible.

 

The CPLD decodes MEMEN when determining access to the memory mapped latches or DSR, so I'm using a 74'138 to AMA-AME + MEMEN before it goes to the CPLD.

 

Maybe this will work... What do you all think?

 

-M@

Hey Matt perhaps we could make a Tippy command that could clone or pull from a git repo. That way we could just give people command to type on their TI to grab a bunch of files off of github.. I mean you can easily do it through Linux but not everybody is got those skills

 

Sent from my LG-H872 using Tapatalk

  • Like 1
Link to comment
Share on other sites

Hey Matt perhaps we could make a Tippy command that could clone or pull from a git repo. That way we could just give people command to type on their TI to grab a bunch of files off of github.. I mean you can easily do it through Linux but not everybody is got those skills

 

Sent from my LG-H872 using Tapatalk

 

Sounds like scope creep. LOL... I'm not sure exactly what problem that is trying to solve.

 

It's open source though... If people want that, they can fork it... add it... submit a PR...

 

I think this community would be better served by a .zip they can download off whtech and unzip into their tipi_disk if the goal is to provide some standard set of files.

 

Personally, I setup the MAME emulation of Geneve with the snapshot of Gazoo's harddrive that he published. I found it useless... Everything was 2 layers abstracted already, and really not a place to build and learn from.

 

But heh, if people just use their TI's as a games console... Well, there is a FinalGROM99 for that. :)

 

-M@

  • Like 1
Link to comment
Share on other sites

Last night I had 2 successes:

 

Pcboards from JLCPCB's in China... My MSX IO Port extender just worked :) Nice...

 

And a rudimentary TELNET client for TI using the TiSocket abstraction I made for TIPI last weekend.

 

Looks a mess right now, no real terminal emulation, just whatever Tursi's conio understands when I cputc a character received from the server. :)

 

The keep: https://photos.app.goo.gl/IuEWLmmSCsIB6o7Z2

My raid server: https://photos.app.goo.gl/94FLOgMQYBinRBUJ3

 

I don't have pictures yet, but I moved to 80 column mode before going to bed. And turned off local echo by default... It was pretty good :) like old times.. :)

 

Right now, I'm also following Tursi's advice from last Fest West, to just reply WONT to all requests from the TELNET server protocol.

 

-M@

  • Like 1
Link to comment
Share on other sites

 

Sounds like scope creep. LOL... I'm not sure exactly what problem that is trying to solve.

 

It's open source though... If people want that, they can fork it... add it... submit a PR...

 

I think this community would be better served by a .zip they can download off whtech and unzip into their tipi_disk if the goal is to provide some standard set of files.

 

Personally, I setup the MAME emulation of Geneve with the snapshot of Gazoo's harddrive that he published. I found it useless... Everything was 2 layers abstracted already, and really not a place to build and learn from.

 

But heh, if people just use their TI's as a games console... Well, there is a FinalGROM99 for that. icon_smile.gif

 

-M@

 

ok sure I'll look at it :) maybe just a command to call a script.. I just like versioning on github so say we're developing on the TI we could have version control native

 

Greg

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