Jump to content
--- Ω ---

Stuart's TI-99/4A - Internet Web Browser

Recommended Posts

Is that with the default FAVS file on the disk? Try mounting the disk as DSK3 - if you haven't already - and see if that makes any difference. I've only tested it on the Win994A simulator; I'll try and set up the real thing tonight and test on that as well.

Share this post


Link to post
Share on other sites

Is that with the default FAVS file on the disk? Try mounting the disk as DSK3 - if you haven't already - and see if that makes any difference. I've only tested it on the Win994A simulator; I'll try and set up the real thing tonight and test on that as well.

 

Yes, I put the default FAVS file on DSK1 with the WEB_O program. The bummer is, I do not have a DSK3 at the moment. I currently only have DSK1, DSK2 and HDX1 to choose from. Eventually I'll get off my buttoski and get the new 80/80/80 chips my HxC acts as drives 1 & 2 and then get another cable so the other 3.5 will act as DSK3, but that probably will not be for a few months as I have other priorities at the moment.

 

Actually for ease of use, on newer versions, I'd have the favorites file work off DSK1 (or make it selectable). I really cannot imagine that file getting so large that it would become an issue. I know all the Nano-guys have 3 virtual drives, but I'm willing to bet most P-Box users max out at two.

Share this post


Link to post
Share on other sites

OK, it seems to work properly on Win994a which I used for testing, but doesn't on an actual machine or in Classic99.

 

*** Classic99 question *** - if I 'insert' a disk as a disk image, I can read files, rename files, but I don't seem able to save files to the disk - is that correct? Get I/O error 3. If I use a disk in FIAD format, how do I name that disk so I can access it by disk name, e.g. DSK.BROWSER.xxx? I've had a quick look at the manual, but can't see anything that helps.

Share this post


Link to post
Share on other sites

How does the disk DSR detect the end of a variable record length file? Looking at Classic99, the browser is reading the lines from the FAVS file correctly but then sits there reading 0 byte records for evermore. The FAVS file was created using the E/A Editor in Win994a, and I'm not convinced that is writing the file correctly (vaguely seem to recall a problem I had with it before), although within Win994a it works fine.

Share this post


Link to post
Share on other sites

OK, it seems to work properly on Win994a which I used for testing, but doesn't on an actual machine or in Classic99.

 

*** Classic99 question *** - if I 'insert' a disk as a disk image, I can read files, rename files, but I don't seem able to save files to the disk - is that correct? Get I/O error 3. If I use a disk in FIAD format, how do I name that disk so I can access it by disk name, e.g. DSK.BROWSER.xxx? I've had a quick look at the manual, but can't see anything that helps.

There's a single line in the manual buried somewhere that notes that disk image access is read-only. I didn't want to be corrupting people's disk images and I really hoped people would move away from that old format. But I don't get every wish. ;)

 

I've no plans to add writing to disk images anytime real soon. You can do sector writes today, and that's enough for the TI ROM to work if I finish the integration of that (I can't remember if it can write today, but it can only be enabled from the INI file). I have at least accepted that it is something I need to do. Unfortunately my programming time over the upcoming year will be even worse than it has been for the last couple.

 

End of file is detected numerous ways that I've seen - you can check the status byte in the PAB, or you can just read until you get an error back from the DSR... IIRC. I don't do record-based access very often so hopefully someone else will pipe up there.

 

Don't forget to use the Classic99 debugger to troubleshoot disk issues - it will tell you exactly what it was trying to do.

Share this post


Link to post
Share on other sites

(Thanks Tursi)

 

I've uploaded a new disk image with a fix that should get round the problem. Try it again Kevan when you get the chance. Remember if copying the files between disks that the program looks for the FAVS file on the disk with the disk name BROWSER. It should show an error message on the bottom line of the screen (and not crash) if it can't find it.

 

And if anyone knows why the real hardware and Classic99 don't like a DV80 file written by Win994a, I'd like to hear.

Edited by Stuart

Share this post


Link to post
Share on other sites

How does the disk DSR detect the end of a variable record length file? Looking at Classic99, the browser is reading the lines from the FAVS file correctly but then sits there reading 0 byte records for evermore. The FAVS file was created using the E/A Editor in Win994a, and I'm not convinced that is writing the file correctly (vaguely seem to recall a problem I had with it before), although within Win994a it works fine.

 

Do other programs exhibit the same problem, i.e., can you load the variable file from another program in Classic99? Sounds like you are not interpreting the PAB status byte, which must first be read from VDP at the location your PAB was placed.

 

Probably unrelated but empty lines are sometimes a gotcha, especially if you try to pull a 0 byte record from VDP and your VDP read routine doesn't test for the boundary condition.

Share this post


Link to post
Share on other sites

 

Do other programs exhibit the same problem, i.e., can you load the variable file from another program in Classic99? Sounds like you are not interpreting the PAB status byte, which must first be read from VDP at the location your PAB was placed.

 

 

If I try to open the file in the E/A Editor in Classic99, the Debugger says "corrupted file - truncating read" - so looks to be a problem with the file itself. On Win994a it works fine.

Share this post


Link to post
Share on other sites

Okay, the disks name is BROWSER

gallery_35324_1027_8709.jpg

 

It loads up just fine...

sml_gallery_35324_1027_21707.jpgsml_gallery_35324_1027_18835.jpg

gallery_35324_1027_31776.jpg

gallery_35324_1027_18020.jpg

 

"N" works, "H" works, have not tried "P", but whenever "I" is pressed... the sucker locks up.

This is with the version I download from your site less than 1/2 hour ago.

 

Maybe could we try again with a (V3.1b)? :)

I'm more than happy to beta test! :grin:

Share this post


Link to post
Share on other sites

 

If I try to open the file in the E/A Editor in Classic99, the Debugger says "corrupted file - truncating read" - so looks to be a problem with the file itself. On Win994a it works fine.

 

I was able to view the file using Ti99Dir, so I copied it and pasted it into the editor in Classic99 thinking this would eliminate the corrupted file problem you mentioned. The text file loads up okay, and views just fine in DM2K, but I still get the same problem, so I don't think it's the FAVS file.

 

** EDIT ** The file loads okay now into the E/A's editor with no errors.

The ZIP file contains a DSK image of the latest file as well as an HFE for those that can use it.

Browser (v3).zip

Share this post


Link to post
Share on other sites

So does this archive contain the original Win994A file that I was going to check was corrupted?

 

I'd rather know if there is a Classic99 bug to fix than come up with emulator-specific workarounds. ;)

Share this post


Link to post
Share on other sites

Tursi,

 

From my micking about with TurboForth (which uses text files extensively) I know of no issues with Classic99's DV/DF file implementation. I'm using high-level DSR access (I think it's called level 3 - record level) - but it works perfectly. I expect there's an errant byte somewhere in the FAVS file which is upsetting Classic99.

  • Like 1

Share this post


Link to post
Share on other sites

So does this archive contain the original Win994A file that I was going to check was corrupted?

 

I'd rather know if there is a Classic99 bug to fix than come up with emulator-specific workarounds. ;)

 

Hi Tursi, I've attached a file you can look at. This is a new TIDisk I've just created in Win994a (V3.010), and used the E/A Editor on that to write a single DV80 file 'TEST' that contains a single line of X's. I can open this file again on Win994a for editing, view it in DM1000 and so on, and it works as expected.

 

If I open that TIDisk file in Classic99 (a probably rather old version QI372) and try to view it in DM1000, the Debugger says "Corrupted File - Truncating Read", and it reads a load of 0 byte records after the first line. If I open it in the E/A Editor in Classic99, it loads but shows the correct first line then a load of blank lines - it should be a single line only.

 

When testing yesterday, the behaviour of Classic99 seemed to match the real hardware so I suspect that Classic99 is probably correct, and there is something wrong with Win994a.

 

Or of course, it could just be me!

zzzTEST.zip

  • Like 1

Share this post


Link to post
Share on other sites

Thanks, both of you. My benchmark is usually real hardware, so yes, I suspect Win994A, but I just wanted to be sure. :) Identifying why the file is wrong will certainly point the finger.

 

Poking through it, it looks like the problem is that there is no "termination" record at the end of the file. The data sector looks like this:

 

0A 78 78 78 78 78 78 78 78 78 78 00 00 00 00 00 (etc)

 

The 0A is the length for the first record of the file (10 bytes). Then 10 bytes of data follows.

 

After that, as far as I am aware, there needs to be a record with a length of 0xFF bytes in order to end the sector. It's worth noting that the "last byte in sector" in the FDR is set correctly for the above data, but Classic99 uses that termination record. Looking at Thierry's disk DSR disassembly, I wasn't able to quickly determine HOW mandatory that FF byte is, but all the variable files I have seen from hardware have it. So I guess that's probably the issue. It runs up a bunch of blank lines because it sees all the 0 bytes as zero-length lines, and keeps reading till it hits the end of the sector, at which point the sanity checking detects the problem.

Share this post


Link to post
Share on other sites

Thanks Tursi.

 

Kevan - I think you said earlier that you have a sector editor. Are you able to add an >FF byte after the last line (</99ml>) of the FAVS file and see if that stops it hanging when you press the I key? And/or create a new FAVS file (<99ml><p>TEST</p></99ml>), check it has the >FF byte terminator, and try that?

Edited by Stuart

Share this post


Link to post
Share on other sites

Thanks Tursi.

 

Kevan - I think you said earlier that you have a sector editor. Are you able to add an >FF byte after the last line (</99ml>) of the FAVS file and see if that stops it hanging when you press the I key? And/or create a new FAVS file (<99ml><p>TEST</p></99ml>), check it has the >FF byte terminator, and try that?

 

I already did that in message #88.

Share this post


Link to post
Share on other sites

Is it possible to make a script on your site that emulates a psuedo-chat room?

 

I know there is no automatic updating available in the program, but I was thinking that if you wrote a routine that remembered the last 20 lines sent to it and kicked them back when a person sends one line in, it would be an approximation. At the very least it would be fun to send a line or two and see who else has been on playing online with your browser. It would not matter if it was in real-time or days apart.

 

Anyway, just and idea and something fun to play with.

Share this post


Link to post
Share on other sites

Is it possible to make a script on your site that emulates a psuedo-chat room?

 

I know there is no automatic updating available in the program, but I was thinking that if you wrote a routine that remembered the last 20 lines sent to it and kicked them back when a person sends one line in, it would be an approximation. At the very least it would be fun to send a line or two and see who else has been on playing online with your browser. It would not matter if it was in real-time or days apart.

 

Anyway, just and idea and something fun to play with.

 

Enter the address www.stuartconnerdownloads.me.uk/tichat.php. This will display any current messages. To add a message, append to the end of that URL "?m=<your_text>" (without the quotes or angle brackets, and with underscores instead of spaces). Remember that the max length of the entire URL is 80 characters.

Edited by Stuart
  • Like 1

Share this post


Link to post
Share on other sites

Hmm... I do not see a tag to submit a form. If there was, I think something crude would be pretty easy in PHP.

 

I tried the TI Chat and it works, buuuuuuuut it gives me one more suggestion for the browser. (Sorry!)

That was one HUGE line to enter every time you want to check messages, so I was thinking, how about the capability for about 10 MACROS? :idea:

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