aftyde Posted January 29, 2022 Share Posted January 29, 2022 Hey Team, So, got the TIPI going - and TI-BASE seems to like it! (meaning all RW operations work, no corruptions; did not expect that) - so, mounted an encrypted USB disk on the TIPI and put my data on that. Works like a champ. TI-99 PEB with world class encryption - good stuff. I also have MAME running on my laptops - I'd really like my files on MAME to be on a network share such that the TI99 and the MAME emulated machines can see DSK4. as the same thing. That would allow for the laptops to access the data over OpenVPN - thus eliminating the amount of data I carry with (which usually changes, and then I get to sort that all out manually). However, it looks like MAME has no option for file systems - just disk images. I've tried Classic99 FIAD and always up with corrupted database index files after running TI-BASE. So, no Bueno! Wonder if I'm missing something obvious - perhaps another approach I could take with MESS - features, or configuration options I don't know about. Would value your thoughts! Thank you, Arthur... Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 29, 2022 Share Posted January 29, 2022 Classic 99 has no such issueSent from my Pixel 6 Pro using Tapatalk Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted January 30, 2022 Share Posted January 30, 2022 I have all my Mame files and ROMs on my network drive, but these are .DSKs & .RPKs , but you maybe want to directly access TIFILES with FIAD if I understand right ? (like Classic99) 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted January 30, 2022 Share Posted January 30, 2022 Sorry, MAME can only handle disk images. This is a topic we discussed several times over the years, and there is currently no way with reasonable effort to change this. Moreover, I keep noticing some requests to allow for a live interchange of files with MAME. If you know a bit more of the details of the MAME emulation, you will probably understand that this is one of the things that will likely never be possible, regardless of efforts. MAME does not process the bytes inside the DSK image; it translates them to a FM/MFM magnetic cell sequence. This sequence is read and modified by the emulated WD17xx or HDC9234 disk controller, and on exiting MAME, is written back as a DSK. Similar things happen with the hard disk image, although not so deeply in the physical aspect. I do understand that such a file interchange is desirable in some situations, but I also have to concede that this is just not a feasible way to work with MAME. If this had to be changed, it would require extreme restructurings, basically writing a new emulator. 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted January 30, 2022 Share Posted January 30, 2022 @mizapf Maybe a virtual "Lotharek" device for Mame that can do that, or just using the existing controllers mechanisms, plus running a small additional, resident program/tool on Windows beside, to sit "between" Mame and the .DSK-file, that delivers the from this "virtual" .DSK-file on-the-fly-or-not extracted Tifiles to the Mame´s controller, or so ? Something like this RX/TX java thing (cannot remember the name/function, was something with RS232) Nobody from Mame-team could recognize this PS: Or a new, emulated TI-FDD-Controller (that does not exist in iron), that accesses a directory (FIAD) and not a file ? Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 30, 2022 Share Posted January 30, 2022 And this would all be solved if there was tipi emulation.. you could even do it with the web hook just like JS99erSent from my Pixel 6 Pro using Tapatalk 3 Quote Link to comment Share on other sites More sharing options...
aftyde Posted January 30, 2022 Author Share Posted January 30, 2022 2 hours ago, arcadeshopper said: And this would all be solved if there was tipi emulation.. you could even do it with the web hook just like JS99er Sent from my Pixel 6 Pro using Tapatalk That's an interesting approach - I did try Classic99. I might give it another whirl... 1 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 30, 2022 Share Posted January 30, 2022 You can mount the file share from your Tipi as a drive in classic99Sent from my Pixel 6 Pro using Tapatalk Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted January 30, 2022 Share Posted January 30, 2022 @aftyde, using the TIPI as a network drive for classic99 will have classic99 using it's FIAD system on those files. If classic99 is actually the cause of corruption, this will be bad. If it is, maybe it has to do with unsupported operations in classic99 FIAD mode, like file deletion... Just conjecture... Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 30, 2022 Share Posted January 30, 2022 8 hours ago, aftyde said: I've tried Classic99 FIAD and always up with corrupted database index files after running TI-BASE. So, no Bueno! This is likely caused by a bad understanding of order of operations. It's very important to understand that Classic99 only touches the disk file once at OPEN, and once at CLOSE (if it needs to be flushed). Even if the TI side leaves the file open, the file on the PC disk system is /closed/ and untouched. This means that there is no locking and simultaneous access from multiple sources, especially if the file is kept open on the TI side, could cause strange issues like lost data or inconsistent data. You should be able to tell by looking at the debug log and determining if the TI holds the file open and accesses the data live - for a database I'd expect it does. However, in that case, Classic99 sucks the file into RAM, organizes it by records, and does all the operations on the RAM copy, not the PC file copy. Disk images, using the Classic99 file system, work in a similar manner, except that direct sector access is live to the PC file system. This could in theory have issues if a piece of software interleaved normal file operations with direct disk access, but that would be dumb. Disk images using the TI controller emulation operate at a sector level at all times, and so are always live to the PC file system. The only file operation Classic99 doesn't support that real controllers support is delete - this is because Classic99 has vast freedom on the PC file system. It'd be odd if a missing delete caused a file to become /corrupt/, but it'd also be very easy to tell in the debug log. I'd also expect TI BASE to be checking disk error codes, and DELETE does not fail silently (it tells the TI it failed). There's not going to be /any/ safe way to simultaneously share such a file. But one at a time it should work. If Classic99 all on its own is causing file corruption, that I'd be willing to look into... but you'll have to give me a step by step way to reproduce it. 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted January 30, 2022 Share Posted January 30, 2022 11 hours ago, arcadeshopper said: And this would all be solved if there was tipi emulation.. you could even do it with the web hook just like JS99er The TIPI emulation could indeed be a way to go, but as always, don't expect things to work here as they do elsewhere. All of our emulators have their specific concepts and behaviors, we can't just have the best parts of all joined together. This is the normal way of things in computer technology. You always have a trade off between some features and others. If I had to write a TIPI emulation, I'd need the following: - the DSR: This must be available separately. MAME cannot (and will not) be distributed with ROMs; you always have to download your ROMs from own devices or freely available from some server. This is a core policy. (Mind that you even need a ROM dump for a keyboard controller like in XT/AT keyboards.) - the port and memory mapping between the TMS9900 and the TIPI side There is no general problem with high-level emulations; the SCSI controller itself offers a high-level interface, i.e. you tell it to get a sector, and it will do the rest. Likewise, the TI DSR may request high-level things from the TIPI. On the media side, one could provide it with a path which contains the TIFILES files. Even when you need a file, not a directory, I could imagine to hand over some declarative file which e.g. contains path names. Those would then have to be platform-conformant, i.e. for Unix or for Windows system. Eventually, an emulation of the TIPI must somewhat look like the emulation of an ordinary peripheral card. 1 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 30, 2022 Share Posted January 30, 2022 The TIPI emulation could indeed be a way to go, but as always, don't expect things to work here as they do elsewhere. All of our emulators have their specific concepts and behaviors, we can't just have the best parts of all joined together. This is the normal way of things in computer technology. You always have a trade off between some features and others. If I had to write a TIPI emulation, I'd need the following: - the DSR: This must be available separately. MAME cannot (and will not) be distributed with ROMs; you always have to download your ROMs from own devices or freely available from some server. This is a core policy. (Mind that you even need a ROM dump for a keyboard controller like in XT/AT keyboards.) - the port and memory mapping between the TMS9900 and the TIPI side There is no general problem with high-level emulations; the SCSI controller itself offers a high-level interface, i.e. you tell it to get a sector, and it will do the rest. Likewise, the TI DSR may request high-level things from the TIPI. On the media side, one could provide it with a path which contains the TIFILES files. Even when you need a file, not a directory, I could imagine to hand over some declarative file which e.g. contains path names. Those would then have to be platform-conformant, i.e. for Unix or for Windows system. Eventually, an emulation of the TIPI must somewhat look like the emulation of an ordinary peripheral card.Dsr and all that stuff is in the GitHub open sourcehttps://github.com/jedimatt42/tipi/wikiThe TIPI board is pretty simple except for the cpld there's not much else but the DSR ROM, buffers and caps and it's all open source the pi portion can be done with qemu or a real pi (though the real pi has issues right now we are working on)GregSent from my Pixel 6 Pro using Tapatalk Quote Link to comment Share on other sites More sharing options...
+mizapf Posted January 30, 2022 Share Posted January 30, 2022 OK, using websockets this could be doable, I'd only have to emulate the adapter card. I'd have to pass the URL to the websocket as a command line option. The mouse support is something that happens on the PI/QEMU side, and is passed towards the TI (inside MAME), right? Will have a closer look in the next weeks. I'm not so familiar with websocket communication; any details on the protocol? Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 30, 2022 Share Posted January 30, 2022 OK, using websockets this could be doable, I'd only have to emulate the adapter card. I'd have to pass the URL to the websocket as a command line option. The mouse support is something that happens on the PI/QEMU side, and is passed towards the TI (inside MAME), right? Will have a closer look in the next weeks. I'm not so familiar with websocket communication; any details on the protocol?@PeteE worked on it for JS99er will see if he sharesSent from my Pixel 6 Pro using Tapatalk Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted January 30, 2022 Share Posted January 30, 2022 So I understand: if you are running a TIPI on a network, it can be used from a PC-based emulator (notably, JS99er?) Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 30, 2022 Share Posted January 30, 2022 18 minutes ago, OLD CS1 said: So I understand: if you are running a TIPI on a network, it can be used from a PC-based emulator (notably, JS99er?) Yes and no. yes it's supposed to work that way, no its currently got a bug and we are working it out.. see the tipi support forum for that detail, for now it requires QEMU emulating the pi on the PC it's running on. The PI can't be used for both a TI via gpio AND webhook, its one or the other.. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.