Jump to content
jedimatt42

Force Command : kinda like command.com from 1985 (no TIPI required!)

Recommended Posts

So, this will make it easier for you to implement the tweaks to Force Command.......

I'm thinking out loud as I am wondering if Fred Kaal has ever considered updating his great DM2K program to also support the F18A video for 80 columns and include the time stamp for the IDE card since he appears to have all of the pieces in his treasure chest of vast TI knowledge. Maybe leave the current one as is for the 40 column screen and a new release for 80 columns that includes time stamp screen display.

We can only dream and put it under the next Christmas wish list.

 

Edited by rgjt
Spelling

Share this post


Link to post
Share on other sites
10 hours ago, rgjt said:

So, this will make it easier for you to implement the tweaks to Force Command.......

I'm thinking out loud as I am wondering if Fred Kaal has ever considered updating his great DM2K program to also support the F18A video for 80 columns and include the time stamp for the IDE card since he appears to have all of the pieces in his treasure chest of vast TI knowledge. Maybe leave the current one as is for the 40 column screen and a new release for 80 columns that includes time stamp screen display.

We can only dream and put it under the next Christmas wish list.

 

Where to store all that data !? I suppose I must (finally) use the SAMS functionality if I update Dm2k for this 🙂

 

  • Like 3

Share this post


Link to post
Share on other sites
5 hours ago, F.G. Kaal said:

Where to store all that data !? I suppose I must (finally) use the SAMS functionality if I update Dm2k for this 🙂

 

I suppose it is a small price to pay for such a great program.:D

Excuse my lack of knowledge on this subject:?, but how many existing programs can actually take advantage of a Fetzner 1MB SAMS card to begin with?

 

Share this post


Link to post
Share on other sites
I suppose it is a small price to pay for such a great program.
Excuse my lack of knowledge on this subject:?, but how many existing programs can actually take advantage of a Fetzner 1MB SAMS card to begin with?
 
There's a list in the Sam's topic I'll try and look to it when I'm not on my phone

Sent from my LM-V600 using Tapatalk

Share this post


Link to post
Share on other sites
On 5/27/2021 at 7:34 AM, Lee Stewart said:

 

Maybe I can distill(?) that appendix a bit. Regarding the TI floating point (FP) number representation:

...

 

...lee

That helped a ton! Thanks!!!

  • Like 2

Share this post


Link to post
Share on other sites
14 hours ago, jedimatt42 said:

That helped a ton! Thanks!!!

I take it you now have all of the pieces of puzzle to tweak Forcecommand in regards to the file stamp using the IDE card.

BTW, you previously mentioned that you had an earlier version of Forcecommand that did work with the IDE card file stamp. Do you still have that version available?

Share this post


Link to post
Share on other sites
1 hour ago, rgjt said:

I take it you now have all of the pieces of puzzle to tweak Forcecommand in regards to the file stamp using the IDE card.

BTW, you previously mentioned that you had an earlier version of Forcecommand that did work with the IDE card file stamp. Do you still have that version available?

It wasn't a previous version of ForceCommand that I though worked. It was that I thought I tested it on the IDE with DSR 14 and that current ForceCommand + IDE DSR 14 worked. But Fred assures me that I'm wrong. Maybe I tested that against the Myarc HFDC in MAME... I'll have to retest a number of them... 

 

Fixing the timestamp display was trivial. That is just about changing which record length I specify when opening the catalog file. The discussion about float to int conversion is what I need to fix the volume size information. I have that working, but it is excruciatingly slow. And there is no reason for this, unless I'm looping past 0 and going through 0xFFFF again... probably a problem with my 2's complement code. 

 

And for the record, I don't keep old versions of ForceCommand around on purpose...  I don't have any interest in tracking old versions and how things used to be. There is usually 1 older version left in Post #1 of this thread, just in case the latest is DOA for someone. That's just a selfish act on my part. However if there are issues with the latest and people don't report them, that previous version is likely to roll right of the face of the internet.

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, jedimatt42 said:

It wasn't a previous version of ForceCommand that I though worked. It was that I thought I tested it on the IDE with DSR 14 and that current ForceCommand + IDE DSR 14 worked. But Fred assures me that I'm wrong. Maybe I tested that against the Myarc HFDC in MAME... I'll have to retest a number of them... 

 

Fixing the timestamp display was trivial. That is just about changing which record length I specify when opening the catalog file. The discussion about float to int conversion is what I need to fix the volume size information. I have that working, but it is excruciatingly slow. And there is no reason for this, unless I'm looping past 0 and going through 0xFFFF again... probably a problem with my 2's complement code. 

 

And for the record, I don't keep old versions of ForceCommand around on purpose...  I don't have any interest in tracking old versions and how things used to be. There is usually 1 older version left in Post #1 of this thread, just in case the latest is DOA for someone. That's just a selfish act on my part. However if there are issues with the latest and people don't report them, that previous version is likely to roll right of the face of the internet.

Thanks for the update on this revision. 

I agree with previous versions, best to delete them except for keeping one previous version considering the Murphy factor.

Maybe a note to Fred regarding the conversion subroutine as his DM2K displays that information in a blink.

Looking forward to your new release.

Cheers

 

  • Like 1

Share this post


Link to post
Share on other sites

I regularly upload the latest version of my project to Google Drive and it automatically archives my older versions. One reason to keep more than one older version is that sometimes I go down a path which, after several revisions, ends up being a dead end and I have to revert back to the original source several versions back... This has saved my neck on multiple occasions.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Vorticon said:

I regularly upload the latest version of my project to Google Drive and it automatically archives my older versions. One reason to keep more than one older version is that sometimes I go down a path which, after several revisions, ends up being a dead end and I have to revert back to the original source several versions back... This has saved my neck on multiple occasions.

That's not disputed. I use source control through github and branch often. I could rebuild an older version, but I don't like the bins floating around the internet.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, jedimatt42 said:

That's not disputed. I use source control through github and branch often. I could rebuild an older version, but I don't like the bins floating around the internet.

I suppose you could say that the old BIN files end up in the "sin bin". :lol:

  • Like 1

Share this post


Link to post
Share on other sites

I've noticed I get errors deleting files on IDE... I need to setup some other drives types and see what that is about...

Edited by jedimatt42
  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, rgjt said:

I suppose you could say that the old BIN files end up in the "sin bin". :lol:

I had to look up that expression, and I don't think the joke works... for either meaning. :)

Edited by jedimatt42

Share this post


Link to post
Share on other sites

IDE support in force command probably also needs a tool to turn on and off the DSK1 emulation in the DSR, same as CALL IDEDSK. 

 

btw: I can CD into the IDE.DSK1 directory if I fully specify it: 

 

CD IDE1.DSK1

 

Edited by jedimatt42
  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the updated version. I will give a run later this afternoon and let you know how it runs on an actual TI99/4a system.

Cheers

Share this post


Link to post
Share on other sites
3 hours ago, jedimatt42 said:

IDE support in force command probably also needs a tool to turn on and off the DSK1 emulation in the DSR, same as CALL IDEDSK. 

 

btw: I can CD into the IDE.DSK1 directory if I fully specify it: 

 

CD IDE1.DSK1

 

Yes, it's working great with the file stamp. Thank you for taking the time to do this.

 

BTW, I checked to see if it could read my physical DSK2 with the TI FDC at CRU >1100.

It detects the drive with the "cd" command from IDE1 (displays the drive and its proper CRU address according to the "lvl2" command), but it fails the "dir" command with a "no device" error.

Using the "cd 1100.DSK2" will also correctly detect the disk drive but again results in a "no device" error. 

This also happened with v1.17 if I recall correctly.

BTW, I'm able to perform a directory on 1100.DSK1 and also on 1200.DSK3 (a Horizon ramdisk).

 

Attached are some screen shots of the "drives" and the "lvl2" (for >1000, >1100, >1200) commands together with the corresponding errors when trying to perform a "dir" command specifically for 1100.DSK2.

Hopefully, it's a simple fix.

 

Thanks again for making these revisions that allows Forcecommand to work with the file time stamp and also now displaying the correct USED and AVAILABLE space sizes for any of the IDE partitions.

 

 

DSC_6158.JPG

DSC_6161.JPG

Share this post


Link to post
Share on other sites
1 hour ago, rgjt said:

Yes, it's working great with the file stamp. Thank you for taking the time to do this.

 

BTW, I checked to see if it could read my physical DSK2 with the TI FDC at CRU >1100.

It detects the drive with the "cd" command from IDE1 (displays the drive and its proper CRU address according to the "lvl2" command), but it fails the "dir" command with a "no device" error.

Using the "cd 1100.DSK2" will also correctly detect the disk drive but again results in a "no device" error. 

This also happened with v1.17 if I recall correctly.

BTW, I'm able to perform a directory on 1100.DSK1 and also on 1200.DSK3 (a Horizon ramdisk).

 

Attached are some screen shots of the "drives" and the "lvl2" (for >1000, >1100, >1200) commands together with the corresponding errors when trying to perform a "dir" command specifically for 1100.DSK2.

Hopefully, it's a simple fix.

 

Thanks again for making these revisions that allows Forcecommand to work with the file time stamp and also now displaying the correct USED and AVAILABLE space sizes for any of the IDE partitions.

 

 

DSC_6158.JPG

DSC_6161.JPG

 

You won't even be able to CD if there isn't a disk in the drive, so we don't have to ask that question. 

 

That error means it read a 0 length volume name off the floppy, which I guess I assumed was an error reading the catalog, as it says somewhere the directory listing ends in a record where the name is length 0. Maybe that doesn't include the 1st volume record.  Can a floppy have an empty volume name?

 

Edit: Just tested that, yep it can, and yep it produces this error in FCMD.  I'll fix that while I investigate the issue with DELETE

Edited by jedimatt42

Share this post


Link to post
Share on other sites
27 minutes ago, jedimatt42 said:

 

You won't even be able to CD if there isn't a disk in the drive, so we don't have to ask that question. 

 

That error means it read a 0 length volume name off the floppy, which I guess I assumed was an error reading the catalog, as it says somewhere the directory listing ends in a record where the name is length 0. Maybe that doesn't include the 1st volume record.  Can a floppy have an empty volume name?

 

Edit: Just tested that, yep it can, and yep it produces this error in FCMD.  I'll fix that while I investigate the issue with DELETE

Just to confirm, there is a floppy in the DSK2 drive when the error occurs. Tried different floppies, same error. 

BTW, I have no such error using any other file manager on DSK2.

Another one of those bugs that find their way into the code.

Anyway, I love the time stamp feature with the IDE card, such a great addon.

Share this post


Link to post
Share on other sites
3 hours ago, jedimatt42 said:

 

You won't even be able to CD if there isn't a disk in the drive, so we don't have to ask that question. 

 

That error means it read a 0 length volume name off the floppy, which I guess I assumed was an error reading the catalog, as it says somewhere the directory listing ends in a record where the name is length 0. Maybe that doesn't include the 1st volume record.  Can a floppy have an empty volume name?

 

Edit: Just tested that, yep it can, and yep it produces this error in FCMD.  I'll fix that while I investigate the issue with DELETE

You are correct about the DELETE not working on any drive, IDE or physical DSK1, DSK2 and the Horizon.

I wasn't able to get to work either.

 

Share this post


Link to post
Share on other sites

While I was debugging getting the IDE volume free numbers decoded correctly for larger integer values directly in C, I found it was actually pretty easy to call the console ROM CFI routine from C. That routine is remarkably well behaved. 

 

1. memcpy((unsigned char*) FAC, myFloat, 8);

2. embed some assembly: LWPI GPLWS, BL @CFI, LWPI MYWS

3. return *(int*)FAC;

 

The ROM CFI routine manipulates things in the GPL workspace both by direct address and by register alias. So, other than swapping to the GPLWS >83E0, that it assumes it will run in, it was smooth. Of course, this skips some error handling, but if you must, that can go before step 3. 

 

( I still went ahead with decoding in C instead of using the CFI, as someday I'd like to replace the console ROM with a large bank switching flash rom. )

Edited by jedimatt42
  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, rgjt said:

You are correct about the DELETE not working on any drive, IDE or physical DSK1, DSK2 and the Horizon.

I wasn't able to get to work either.

 

Try giving your floppies a volume name, and then try delete from them again... It is working fine for me on the floppy controller. DELETE is a standard lvl3 IO operation. However, it actually supports wildcards, so it performs a CATALOG first, and then filters the names... if your floppy volume name is empty, then the CATALOG part will fail until I release the fix for that tomorrow.  But that doesn't explain why delete doesn't work on the IDE1. There is no special treatment for IDE in this regard.

  • Like 2

Share this post


Link to post
Share on other sites
21 minutes ago, jedimatt42 said:

Try giving your floppies a volume name, and then try delete from them again... It is working fine for me on the floppy controller. DELETE is a standard lvl3 IO operation. However, it actually supports wildcards, so it performs a CATALOG first, and then filters the names... if your floppy volume name is empty, then the CATALOG part will fail until I release the fix for that tomorrow.  But that doesn't explain why delete doesn't work on the IDE1. There is no special treatment for IDE in this regard.

You're correct. It works with the physical TI drives but not on any of the IDE drive partitions.

 

Share this post


Link to post
Share on other sites

I guess I never re-released last Sunday... LOL... still trying to chase down the DELETE issue on IDE. 

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