Jump to content
IGNORED

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


Recommended Posts

Now that I got my TIPI-PEB to work again and with FC version 1.8 running, other issues are cropping up.

  • Both my standard TI RS232 card (@1300) and my HDX-modified RS232 card (@1500) seem to lock up FC after just a few seconds. I believe this was the root cause of my previously reported problem with version 1.8. Pulling them out and replacing them with a Myarc RS232 card solves the issue. Found that out by essentially via a process of elimination. This was not an issue with my previous FC versions and frankly it would be odd to have both cards fail at the same time.
  • The XB command locks up the system. I have my system setup for RXB2015 and nothing has changed there. Running XB programs on the TIPI directly from XB works. Has anybody tried that command with version 1.8?
Link to comment
Share on other sites

2 minutes ago, Vorticon said:

Now that I got my TIPI-PEB to work again and with FC version 1.8 running, other issues are cropping up.

  • ...
  • The XB command locks up the system. I have my system setup for RXB2015 and nothing has changed there. Running XB programs on the TIPI directly from XB works. Has anybody tried that command with version 1.8?

Did you set your XB variables for your version of XB?  (I am always forgetting to do this myself if I change versions.

 

Run XB program

xb <program-path>

Switch a FinalGROM99 to an Extended BASIC cartridge, configured to RUN the specified program. Default cartridge name is TIXB_G with start address 25474. Use variable XBMOD to override cartridge name, and XBADDR to override start address.

XB Version Program Name XBADDR
TI XB 100 TI EXT BASIC V100 25458
TI XB 101 TI EXTENDED BASIC 25474
TI XB 110 TI EXTENDED BASIC 25458
J&KH SXB 120 SUPER X-BASIC 25458
XB GEM XB256 27125
XB GEM EXTENDED BASIC+ 27107
XB GEM TML 2 COLORS -17000
XB GEM TML 16 COLORS -16989
XB GEM T40XB -12381
RXB 2015E RXB 2015 MENU 32460
RXB 2015E RXB 2015 NO MENU 32419
Mechatronics XB II Plus MECHATRONIC EXT BASIC -14778

The numbers above are from the addresses found from the GROM program list of each cartridge.

Note: to get the version TI Extended BASIC:

 

The numbers above are from the addresses found from the GROM program list of each cartridge.

Note: to get the version TI Extended BASIC:

CALL VERSION(A)
PRINT A

Examples

Run TI Artist Plus from a directory INSCEBOT directory on TIPI

[TIPI.]
$ cd INSCEBOT
[TIPI.INSCEBOT.]
$ xb LOAD

Run a T40XB program you are developing:

[TIPI.MYPROJ.]
$ XBMOD=XBGEM_G
$ XBADDR=-12381
$ XB CALMING
Link to comment
Share on other sites

Vorticon,

I did my best.  Results of testing.

(I don't have as much hardware on-line.  Stock Black and Chrome with  TIPI/32 Pi Zero W and Speech Synth - My NanoPEB is off line.  I can add it for testing if you want.)

 

All versions tested seemed to work (you caught me setting up XMAS songs using FCMD and my TIPI - all were XB "LOAD"'s)

I am using a script to set the TIPIMAP (run Directory set as DSK2), XBADD, XBDIR. LOADER is renamed LOAD (FC uses LOAD and seems to conflict) (

RESULTS:

  • Super XB  - Works
  • RXB2015 w/Menu - Worked every time (darned delay!)
  • RXB2015 without Menu - Works.
  • TI Extended BASIC - Works

 

Example script:  STARTXB

0001  ECHO TIXB XMAS VOL 2              
0002  TIPIMAP AUTO ON                   
0003  TIPIMAP DSK2. TIPI.MUSIC.TIXMAS.XM
0004  XBMOD=TIXBG                       
0005  XBADDR=25458                      
0006  XB DSK2.LOADER                    
0007                                    
      *EOF (VERSION 3.0)                
Other files are similar and used values from Matt's FCMD wiki.

 

DG   

  • Like 1
Link to comment
Share on other sites

7 hours ago, dgrissom said:

Vorticon,

I did my best.  Results of testing.

(I don't have as much hardware on-line.  Stock Black and Chrome with  TIPI/32 Pi Zero W and Speech Synth - My NanoPEB is off line.  I can add it for testing if you want.)

 

All versions tested seemed to work (you caught me setting up XMAS songs using FCMD and my TIPI - all were XB "LOAD"'s)

I am using a script to set the TIPIMAP (run Directory set as DSK2), XBADD, XBDIR. LOADER is renamed LOAD (FC uses LOAD and seems to conflict) (

RESULTS:

  • Super XB  - Works
  • RXB2015 w/Menu - Worked every time (darned delay!)
  • RXB2015 without Menu - Works.
  • TI Extended BASIC - Works

 

Example script:  STARTXB

0001  ECHO TIXB XMAS VOL 2              
0002  TIPIMAP AUTO ON                   
0003  TIPIMAP DSK2. TIPI.MUSIC.TIXMAS.XM
0004  XBMOD=TIXBG                       
0005  XBADDR=25458                      
0006  XB DSK2.LOADER                    
0007                                    
      *EOF (VERSION 3.0)                
Other files are similar and used values from Matt's FCMD wiki.

 

DG   

Thanks for checking. Appreciate it.

  • Like 1
Link to comment
Share on other sites

15 hours ago, dgrissom said:

Vorticon,

I did my best.  Results of testing.

(I don't have as much hardware on-line.  Stock Black and Chrome with  TIPI/32 Pi Zero W and Speech Synth - My NanoPEB is off line.  I can add it for testing if you want.)

 

All versions tested seemed to work (you caught me setting up XMAS songs using FCMD and my TIPI - all were XB "LOAD"'s)

I am using a script to set the TIPIMAP (run Directory set as DSK2), XBADD, XBDIR. LOADER is renamed LOAD (FC uses LOAD and seems to conflict) (

RESULTS:

  • Super XB  - Works
  • RXB2015 w/Menu - Worked every time (darned delay!)
  • RXB2015 without Menu - Works.
  • TI Extended BASIC - Works

 

Example script:  STARTXB

0001  ECHO TIXB XMAS VOL 2              
0002  TIPIMAP AUTO ON                   
0003  TIPIMAP DSK2. TIPI.MUSIC.TIXMAS.XM
0004  XBMOD=TIXBG                       
0005  XBADDR=25458                      
0006  XB DSK2.LOADER                    
0007                                    
      *EOF (VERSION 3.0)                
Other files are similar and used values from Matt's FCMD wiki.

 

DG   

What delay just hit space bar or any key for the LOAD program.

You did push a key to go to XB or hit ENTER for FC to go to RXB right?

Is pushing space bar that hard really?

  • Confused 1
Link to comment
Share on other sites

3 minutes ago, RXB said:

What delay just hit space bar or any key for the LOAD program.

You did push a key to go to XB or hit ENTER for FC to go to RXB right?

Is pushing space bar that hard really?

 

RXB,

Actually, I wanted to make certain that the FCMD XB functioned correctly. 

Pressing keys might have caused FCMD errors.  Remember, I tested several XB variants.

In this context, launching a BASIC with intervening menus is not a good choice. 

IMO, the FCMD XB command is by its nature designed to directly load and execute a program. 

  

BTW, did I detect sarcasm?   If so, please chill.  RXB is a good piece of software!

If I get a SAMs in the future, I will probably want use your new version with its bank switching, when it becomes available. ?

 

DG 

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, dgrissom said:

 

RXB,

Actually, I wanted to make certain that the FCMD XB functioned correctly. 

Pressing keys might have caused FCMD errors.  Remember, I tested several XB variants.

In this context, launching a BASIC with intervening menus is not a good choice. 

IMO, the FCMD XB command is by its nature designed to directly load and execute a program. 

  

BTW, did I detect sarcasm?   If so, please chill.  RXB is a good piece of software!

If I get a SAMs in the future, I will probably want use your new version with its bank switching, when it becomes available. ?

 

DG 

I do not think there should or would be any errors, the errors would be if interrupts are turned off.

That always messed up any devices when the service interrupts were turned off.

(And you can do that with RXB using CALL ISROFF(address) though not recommended.)

Besides if FC did not wait for the Cart to fully load and hand over control it would conflict with every cart made.

After all you have to wait for any cart to set up memory pointers or it would crash instantly.

Link to comment
Share on other sites

5 hours ago, RXB said:

I do not think there should or would be any errors, the errors would be if interrupts are turned off.

That always messed up any devices when the service interrupts were turned off.

(And you can do that with RXB using CALL ISROFF(address) though not recommended.)

Besides if FC did not wait for the Cart to fully load and hand over control it would conflict with every cart made.

After all you have to wait for any cart to set up memory pointers or it would crash instantly.

 

That's interesting... when in Force Command, I of course have interrupts off, cause I haven't seen a disk controller that needs them on. 

But normally on a 4A, when at the TI title screen or in the BASICs, interrupts are on... so I should turn them back on in FC before branching into the cartridge. 

 

Force Command cannot actually wait for a cart to finish loading in a deterministic way. It sends a message to the FinalGrom99 asking for a cart to be loaded. There is no response from the FinalGrom99 after the image is loaded. The microcontroller on the cartridge does the loading, not the 4A. So then it can see if something shows up in the address space, but I'm not sure that is a promise from the FinalGROM that the image is completely loaded. I've seen evidence suggesting waiting longer is better. I'll have to dig into the FinalGROM design more, and prove this out.. maybe the CPLD doesn't enable the 4A databus while the ARM chip is loading - if that is the case, that can eliminate some FUD.

 

Link to comment
Share on other sites

Update 1.9 - 

  

- disabled some NTSC/PAL detection, that works for me in MAME, but might hang with some 9938 cards. maybe? guessing? 

- added file modified timestamps for TIPI, and works with HFDC, should work with HDX, and IDE.

 

timestamp only shown in 80 column made file listing. (DIR)

Link to comment
Share on other sites

15 hours ago, fabrice montupet said:

Is a MBP Clock compatibility is planned?

unless it is already working? But I haven't found the way to use it in the manual.

 

forcecmd_1.10_test.zip

 

use command:

 

CLOCK=MBP

 

then 

 

DATE

 

Does it provide the date ( with a year of 0, cause MBP doesn't support a year ) ? 

  • Like 2
Link to comment
Share on other sites

Hi @jedimatt42

 

Today I have tested version 1.9 and 1.10_test in my PEP Disk Only System with EVPC2 (V9938).

 

After turning on PEB and console for the first time, the system continues to hang with a blue screen.

If I the reset the FG99 or powercycle the console, both versions are working with 80 characters per line. Super!!!!

image.thumb.png.e9335a83d42f187d350f1f995b6bfc5e.pngimage.thumb.png.13b8fc48d175bbdb3dbdb153cfc30c76.png

 

I can start XB directly from AUTOCMD or from the command line.
I can also run any EA5 program.

 

image.thumb.png.72a9b4cf14ca67635e0775a380a05c43.png

 

However, I noticed two things:
1. When I run Fred Kaal's EDIT4080 v3.0 from FC and want to edit the DSK1.AUTOCMD file, the following error message appears immediately without disk access:

image.thumb.png.04f94a344e06e24d328adba0d6215aa9.png

 

 

Other text files from DSK1 or DSK2 I can open and edit without problems.

If I run the EA cartridge (TI, EA Complete or Fred Kaal's EA V v5.6) I can load and edit the DSK1.AUTOCMD file.

EDIT: If I load DSK1.EDIT40 from the command line then I can open and edit the file DSK1.AUTOCMD!
 

 

2. When I try to start an XB program with "XB TEST" I get the following error message.
Note: I don't have a TIPI card in this system! Maybe it works only with tipi.

image.thumb.png.2fdfd55a73e640e1c53a228f82d8df55.png

 

Thank You for making this version, so now I can use 80 column FC in my TI system with the EVPC2 card.

 

Wolfgang

Edited by wolhess
Additional Info
  • Thanks 1
Link to comment
Share on other sites

4 hours ago, fabrice montupet said:

I have noticed a strange behavior with the DATE command:

- "am" is written after the Time while the time is displayed on 24-hour clock format (like this : 23:52am). Normally, "AM/PM" must appear only on 12-hour format.

 

 

That's an easy thing to fix... and the fix will save ROM bytes.

 

I'll take a look at the consistency of case-insensitivity and fix some things there... command names are case-insensitive. file names are not... the keys for environment variables probably should be. The values have to be preserved, but when system things consume them, it makes sense to be insensitive on a case by case basis... I fell into case-sensitive on CLOCK values, because the TI filesystem/DSR-name-system is case-sensitive. The values for 3 of the clocks are device or file names. 

 

But I can do better.

Link to comment
Share on other sites

15 hours ago, wolhess said:

Hi @jedimatt42

 

Today I have tested version 1.9 and 1.10_test in my PEP Disk Only System with EVPC2 (V9938).

 

...

 

Thank You for making this version, so now I can use 80 column FC in my TI system with the EVPC2 card.

 

Wolfgang

 

So, that is quite interesting that the 80 column mode works now.. The only thing different is I removed the loop I have that times based on VDP interrupts how many cycles I can get done between, and so determine if it is a PAL or NTSC system. 

The infinite loop symptom indicates that VDP interrupts never get to the 4A console...   Is that true generally?  I see this note on ninerpedia: 

  • No external Interrupt cables necessary when use (REPL99x) in the original Console.

    But, I'm guessing the REPL99 doesn't decode the VDP INT from some other sideport bus pin... VDP INT really needs to be sourced from the VDP or lots of compatibility issues are created.. is that a fair assessment? 

I'll put my PAL mode detection back in, but give it a cycle limit, so it doesn't try forever. It'll end up defaulting to NTSC ( currently this is just unused system information gathered once at startup )

 

---------------

a good group of things for a real 1.10 release. :)

 

  • Like 1
Link to comment
Share on other sites

Version 1.10 in post#1.

 

Hopefully fixed @wolhess's problem editing DSK1.AUTOCMD 

Fix the am/pm logic to be common, and should fix the MBP clock.

Made environment variable names case insensitive. Key is promoted to ALLCAPS before interacting with the dictionary.

Made internal consumption of environment variable values case insensitive where appropriate. XBMOD is still a file name on your fg99, it is just passed on to the cartridge. PATH needs to work with case-sensitive filesystem.

 

 

  • Like 1
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...