Jump to content
jedimatt42

Force Command ver 1.1 : kinda like command.com from 1985

Recommended Posts

2 hours ago, BeeryMiller said:

If I am not mistaken, I think Force Command can run scripts???  If so, you might consider writing a script to back things up.  Is there a diskcopy command?  That may save entering individual filenames.

 

 

It's not good as a backup tool ... I don't have any media other than my TIPI, so wildcards and recursive directory copying hasn't been a priority for me.. 

 

I'm set-up to do wildcards, but just haven't been pushed to finish it.

  • Like 3

Share this post


Link to post
Share on other sites

I've tested ForceCommand in MAME with a Horizon RAMDISK, and it is not able to write to the RAMDISK... it can directory it fine... lvl3 operations... but my lvl2 operations seem bugged...

 

My code treats the ramdisk just like a FLOPPY... DSK5.  level2 direct write >1x coded subroutine names.  

the unit number comes from subtracting ascii '0' from 4th digit of device name. 

 

buffers are in VDP like a legacy floppy controller expects... I'll have to go looking for a programmers guide to the Horizon Ramdisk.. 

Share this post


Link to post
Share on other sites
On 5/16/2020 at 10:26 AM, jedimatt42 said:

I've tested ForceCommand in MAME with a Horizon RAMDISK, and it is not able to write to the RAMDISK... it can directory it fine... lvl3 operations... but my lvl2 operations seem bugged...

 

My code treats the ramdisk just like a FLOPPY... DSK5.  level2 direct write >1x coded subroutine names.  

the unit number comes from subtracting ascii '0' from 4th digit of device name. 

 

buffers are in VDP like a legacy floppy controller expects... I'll have to go looking for a programmers guide to the Horizon Ramdisk.. 

Check the Horizon ROS/CFG development thread. You can also review the wiki.  See my sig.

The ramdisk DSR no longer contaminates VDP as of ROX 8.3x.  However, it does reference caller-provided VDP addresses for buffers and PABs, like most controllers.

Is ForceCommand using a standard DSRLNK or did you roll your own.    Although not well-documented, 0x83d0/0x83d2 are is leveraged by ROS to determine which routine was requested.  As far as I know, only the PCODE card has trouble with this configuration.  (not bad for 30+ years).

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, InsaneMultitasker said:

Check the Horizon ROS/CFG development thread. You can also review the wiki.  See my sig.

The ramdisk DSR no longer contaminates VDP as of ROX 8.3x.  However, it does reference caller-provided VDP addresses for buffers and PABs, like most controllers.

Is ForceCommand using a standard DSRLNK or did you roll your own.    Although not well-documented, 0x83d0/0x83d2 are  leveraged by ROS to determine which routine was requested.  As far as I know, only the PCODE card has trouble with this configuration.  (not bad for 30+ years).

It's a role my own DSRLNK, so I can access lvl2 commands blocked by cards with the same routine sets... 

 

Thanks for the pointers!

 

Share this post


Link to post
Share on other sites

83d0 gets the crubase address, and doesn't make much sense, since the card is active... I don't see any ROS code that uses that address... 

When I search the github repository 83d0 is not referenced in the ROS code... Things work without setting this. 

 

83d2 does need to be the address of the namelink in the dsr list. Where a dsr list entry is 

- next - address of next entry in list

- addr - device service routine address

- name - length byte followed by name bytes.

- ros_subroutine - ROS extension - subroutine address

 

ROS follows each entry with another address, so it is an extended name list... addr (the dsr) is the same for all the lvl2 routines, but the device service routine then calls the ros_subroutine after processing some common lvl2 stuff like the unit number.

 

I've been able to get ForceCommand to work for COPY, PROTECT, UNPROTECT for drives with numbers... the A-Z needs more rework in ForceCommand cause I have been passing that around as a nibble... 

Right now I can copy between Myarc HFDC 1100.DSK1. and HRD 1200.DSK5. in mame, either direction. 

 

I have been some other major re-organization of ForceCommand, so I need to do a lot of testing before release, and fix the A-Z problem... 

  • Like 2

Share this post


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

83d0 gets the crubase address, and doesn't make much sense, since the card is active... I don't see any ROS code that uses that address... 

When I search the github repository 83d0 is not referenced in the ROS code... Things work without setting this. 

 

I searched my older source revs and it looks like I had used 0x83D0 years ago for something related to multiple ramdisks in the same system. This was before one of my surgeries - I don't recognize some of my code from that time. Anyway, I'll amend my notes and per your earlier suggestion, will add some more detail to the wiki when I have time. 

  • Like 1
  • Thanks 1

Share this post


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

83d0 gets the crubase address, and doesn't make much sense, since the card is active... I don't see any ROS code that uses that address... 

When I search the github repository 83d0 is not referenced in the ROS code... Things work without setting this. 

 

83d2 does need to be the address of the namelink in the dsr list. Where a dsr list entry is ...

 

Perhaps irrelevant for ROS, but...

 

For what it is worth, >83D0 and >83D2 are the Console ROM ISR workspace R8 and R9 and are designated as “search pointers for ROM and GROM”. In the original TI source code for the Console ROM, they are labeled (in EQUates) with CRULST and SADDR, respectively.

 

Console ROM DSRLNK (GPL call to XML >19 at ROM address = >0AC0) and GSRLNK (GPL call to XML >1A at ROM address = >0B24) both use both of those locations. They are also used in the DSRLNK of the E/A utilities as well as Paolo Bagnaresi’s DSRLNK, which is practically identical. 

 

...lee

  • Like 3

Share this post


Link to post
Share on other sites

 

Version 0.B has arrived... maybe now you have a tool that can copy using both a TIPI and an HRD

 

---

I just noticed that 1985 comment in my description... some might think I'm foolish, DOS was around before 1985, and predecessors... 1985 is however the vintage I'm taking my inspiration from.. MSX DOS 2 that had features back ported from PC DOS 3 - but... that said, it is just inspiration. I don't hold my feet to any fire... free to deviate however I like.. 

 

  • Like 5

Share this post


Link to post
Share on other sites

Got a real HRD working, and noticed some breakage in the last release. So just patched those up... download in post #1.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

You could put the FCMDC.bin on any 64k capable cartridge board.

 

That file is a non-inverted ROM.

 

  • Like 1

Share this post


Link to post
Share on other sites

I'm having an issue with the 0.C version I just installed.  I typed: LOAD TIPI.NET.TELNET from the Force Command DOS prompt and only got a white and green screen.

I switched to 4A/DOS to make sure nothing was amiss with the TELNET program, typed the same thing in and the program loaded right up.

 

Sorry to be the bearer of bad news. ☹️

 

Share this post


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

I'm having an issue with the 0.C version I just installed.  I typed: LOAD TIPI.NET.TELNET from the Force Command DOS prompt and only got a white and green screen.

I switched to 4A/DOS to make sure nothing was amiss with the TELNET program, typed the same thing in and the program loaded right up.

 

Sorry to be the bearer of bad news. ☹️

 

 

No, thanks, that helps... I've been not paying too close attention.. when I type out a path like that, it doesn't work, but then when I cd into that location, and just load with the simple filename it works fine... so I assumed I can't type... 

 

This tool is far from done... :)

  • Haha 1

Share this post


Link to post
Share on other sites

Notice that post #1 still has the link to version 0.A... in case you lost functionality... between 0.A and 0.C there are massive changes, but only 1 end user feature, if you have an HRD...

Share this post


Link to post
Share on other sites

I found the problem... I had moved my c stack into space that most legacy program loads would clobber.  But I have been able tonight to get my ea5 loader to make due with just scratch pad... 

 

Found this by reading the assembly output from gcc... Manipulation of r10 is the stack. A couple operations were using it. But not very deeply. So I am able to force r10 to scratchpad once the load is prepared. li r10,>83C0

 

Should have a new drop tomorrow...

  • Like 3

Share this post


Link to post
Share on other sites

 

New version, LOAD works again... probably able to load more than it used to.

  • Like 2
  • Thanks 1

Share this post


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

New version, LOAD works again... probably able to load more than it used to.

Thanks for that @jedimatt42!  I've been doing a new install for my portable system and it's not currently setup to start with a batch file, so I also noticed the startup screen has a mass of garbage at the initial startup.

  • Like 1
  • Sad 1

Share this post


Link to post
Share on other sites
On 5/6/2020 at 6:33 AM, jedimatt42 said:

It's not good as a backup tool ... I don't have any media other than my TIPI, so wildcards and recursive directory copying hasn't been a priority for me.. 

 

I'm set-up to do wildcards, but just haven't been pushed to finish it.

 

With DM2K (v2.6) it is possible to do it (to copy from TIPI DSK1. DSK2. DSK3. DSK4.)

(as DSK0 directories does not work).

 

but the DM2K v2.7 BETA of @F.G. Kaal where you can copy from DSK0. and browse through 

directories is better to copy multiple files to HRD / Floppy Disks, it solved my problem to copy

easily from a PC via Wi-Fi to TIPI and then to the TI-99/4A

 

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites
On 5/22/2020 at 8:07 AM, INVISIBLE said:

Thanks for that @jedimatt42!  I've been doing a new install for my portable system and it's not currently setup to start with a batch file, so I also noticed the startup screen has a mass of garbage at the initial startup.

Doh... that's different code for the F18A versus 9918... :( In emulation I don't have the F18A... cause I was using MAME for `hardware` testing. 

 

Sorry for all the crowd sourced QA responsibilities :) It was a large set of structural changes since last November.

 

---

Ah I see, looks like my beautiful ansi art got UTF-8 encoded.

 

  • Like 1

Share this post


Link to post
Share on other sites

I don't know how to get that ansi art back, since I failed to protect that file with .gitattributes... 

Anyway.. created something new... 

 

And added wildcards to COPY...  Read all about it here: 

 

  • Like 2

Share this post


Link to post
Share on other sites

I like it!

screen.thumb.JPG.31fd73fb1f1d6e911af834c52a68d42c.JPG

 

I still wish there was a way to run version 9.3 of Stuart Internet Browser directly from Force Command.  Until that time comes, I'll stick with 9.2 out of the FinalGROM.  Still it does practically everything else I want to do!  Thanks @jedimatt42!!!

 

 

 

Share this post


Link to post
Share on other sites
I like it!
screen.thumb.JPG.31fd73fb1f1d6e911af834c52a68d42c.JPG
 
I still wish there was a way to run version 9.3 of Stuart Internet Browser directly from Force Command.  Until that time comes, I'll stick with 9.2 out of the FinalGROM.  Still it does practically everything else I want to do!  Thanks [mention=42954]jedimatt42[/mention]!!!
 
 
 
There is.. just have to have the program image version

Sent from my LM-G820 using Tapatalk

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