Jump to content
IGNORED

Horizon RAMdisk ROS and CFG Development


Recommended Posts

Gary Von OPA

>i waiting on fully stocked peb box to be shipped down to me, i should have it in a week or so, and then i going to build up the 4000b prototype board that Jim >donated to me, and I hope to be able to start offering some help in this project.

Are you fully setup and ready to make things happen?

Link to comment
Share on other sites

On 4/22/2020 at 10:44 PM, dhe said:

Gary Von OPA

>i waiting on fully stocked peb box to be shipped down to me, i should have it in a week or so, and then i going to build up the 4000b prototype board that Jim >donated to me, and I hope to be able to start offering some help in this project.

Are you fully setup and ready to make things happen?

I got all the parcels finally out of customs... -- now i am working on rearranging my office, to setup everything. -- i wanted to build some new desks, but it is tough living in lockdown, with only place open the supermarket and bank, and well they don't sell desks there!

 

I going to post some pics next week.

  • Like 3
Link to comment
Share on other sites

27 minutes ago, Gary from OPA said:

I got all the parcels finally out of customs... -- now i am working on rearranging my office, to setup everything. -- i wanted to build some new desks, but it is tough living in lockdown, with only place open the supermarket and bank, and well they don't sell desks there!

 

I going to post some pics next week.

I'm glad everything made it, Gary!

  • Like 1
Link to comment
Share on other sites

I have moved the document out of draft status and am publishing this 'final' version for 8.42c.

 

As noted before, I retained the original formatting and structure for various reasons including nostalgia :)   The horizon wiki is intended to compliment the user guide via a simpler online approach. 

 

HORIZON RAMDISK USER OPERATING MANUAL 5-3-2020.pdf

  • Like 6
Link to comment
Share on other sites

Seeing a 2020 date on the title page just makes me smile. I always think back to Texaments and their ... program I've forgotten the name of where they were determined to have TI support through 2000. ;)

 

I guess they didn't make it, eh? Did we ever find any trace of what happened to them?

 

 

  • Like 7
Link to comment
Share on other sites

On 4/6/2020 at 8:07 PM, InsaneMultitasker said:

As we get closer to more hardware being released and more interest in the ramdisk,  there is now a Github site in process for the source code and other materials.  A Wiki has also been created to cover things at a high level. I posted this in the HRD4000B topic as well.

 

Wiki:

https://github.com/horizonramdisk/Horizon-Ramdisk-ti994a/wiki

 

Source:

https://github.com/horizonramdisk/Horizon-Ramdisk-ti994a

 

I had a look in the source code and noticed that this DSR will still not work with the p-code card. I understand that the user base for that system is too small to bother with, but it would be good if the wiki and/or code contains a note about that the ROS is compatible with the built-in operating system, but not with the p-system.

 

If anyone with a p-system would ever be interested in getting it to work, like I was, here's the reason for the incompatibility.

The p-system only uses the sector read/write in normal operation. This is the part of the ROS where such a function call is decoded.

TEST   LWPI HIWS              Load our workspace
       MOV  @SRHADR,R1        Get pointer to CALL table
       MOV  @6(R1),R11        Get address of CALL program
       MOVB @>834C,R2         Get drive # for this CALL
       CLR  @VDPCPU           Assume VDP transfers
       COC  @ST0,R2           Check if MSBit is SET
       JNE  WNUMB             Nope, so use VDP transfer mode
       SETO @VDPCPU           Yep, so switch to CPU transfers
       SZCB @ST0,R2           Clear flag to get correct drive #

On the second line, the MOV @SRHADR,R1 is supposed to get the address of the found subprogram in the DSR. The address SRHADR is >83D2, which works with the console's operating system, when it uses its DSRLNK routine to find the proper DSR. This is a clever trick to make the DSR code smaller.

The p-system, however, uses a more efficient method to call a DSR than the regular DSRLNK routine does. With this method, the address of the desired program in the DSR program isn't available at >83D2, so this clever trick backfires.

 

It's not difficult to write a sector read/write program for the RAMdisk which doesn't make assumptions about the caller, but resolves the call in the "old way", so to speak. Then it works with the p-system. As the file handling is all built into the p-system, and a RAMdisk doesn't need formatting like a physical disk, that's all that's needed.

Link to comment
Share on other sites

5 hours ago, apersson850 said:

TEST   LWPI HIWS              Load our workspace
       MOV  @SRHADR,R1        Get pointer to CALL table
       MOV  @6(R1),R11        Get address of CALL program
       MOVB @>834C,R2         Get drive # for this CALL
       CLR  @VDPCPU           Assume VDP transfers
       COC  @ST0,R2           Check if MSBit is SET
       JNE  WNUMB             Nope, so use VDP transfer mode
       SETO @VDPCPU           Yep, so switch to CPU transfers
       SZCB @ST0,R2           Clear flag to get correct drive #

the MOV @SRHADR,R1 is supposed to get the address of the found subprogram in the DSR. The address SRHADR is >83D2, which works with the console's operating system, when it uses its DSRLNK routine to find the proper DSR. This is a clever trick to make the DSR code smaller.

The p-system, however, uses a more efficient method to call a DSR than the regular DSRLNK routine does. With this method, the address of the desired program in the DSR program isn't available at >83D2, so this clever trick backfires.

 

It's not difficult to write a sector read/write program for the RAMdisk which doesn't make assumptions about the caller, but resolves the call in the "old way", so to speak. Then it works with the p-system. As the file handling is all built into the p-system, and a RAMdisk doesn't need formatting like a physical disk, that's all that's needed.

I do not consider reliance upon this address to be a 'trick'. The addresses 83d0-83d3 are defined to be used for the ROM and GROM searches. 

 

That argument aside, if you have a recommended code change I am more than happy to implement it so long as it  retains overall functionality and compatibility with the console and other peripherals.  I'd prefer a fix over dismissing the situation because of a small user base, a scenario Geneve users know all too well.

 

 

Link to comment
Share on other sites

11 hours ago, InsaneMultitasker said:

None that I am aware of.  I believe Atrax and one or two others are using SAMS and ramdisk together. 

 

Also using SAMS and ramdisk together, no issues at all.

 

Using TIPI PEB and ramdisk together is an issue though. So far I wasn’t able to copy files from the TIPI to the ramdisk using any of the utilities. Could not get it work with ForceCommand, DM2K or anything else.

 

So far I only was able to copy files by writing a small program in extended basic that opens 2 files; source on TIPI and destination on ramdisk. Then I read a record from the TIPI and write it to the RAMDISK. Obviously that solution is kinda slow.

 

  • Like 1
Link to comment
Share on other sites

thanks, I´ve passed through these infos, and investigation will go on.

I also think, it is a bad PEB slot, or a loose contact, or or or

 

PS: Latest info I got: HRD4000 is at >1200, SuperAMS 512k is at >1E00

 

 

Edited by Schmitzi
  • Like 1
Link to comment
Share on other sites

48 minutes ago, retroclouds said:

Using TIPI PEB and ramdisk together is an issue though. So far I wasn’t able to copy files from the TIPI to the ramdisk using any of the utilities. Could not get it work with ForceCommand, DM2K or anything else.

 

So far I only was able to copy files by writing a small program in extended basic that opens 2 files; source on TIPI and destination on ramdisk. Then I read a record from the TIPI and write it to the RAMDISK. Obviously that solution is kinda slow.

What are you using for a drive number for the ramdisk(s)? 

I have been copying files between TIPI (DSK3.) and the HRD at DSK5 and higher with no issues.  IIRC, my TIPI is at CRU 1000 and the ramdisks are 1400 and 1600. 

Can you copy from one ramdisk drive to another?

 

Link to comment
Share on other sites

42 minutes ago, InsaneMultitasker said:

What are you using for a drive number for the ramdisk(s)? 

I have been copying files between TIPI (DSK3.) and the HRD at DSK5 and higher with no issues.  IIRC, my TIPI is at CRU 1000 and the ramdisks are 1400 and 1600. 

Can you copy from one ramdisk drive to another?

 

I just tested the HRD3000/Rambo with DSK5, also could not get it working with FORCECMD, but my TIPI was at >1800

(but it also does not work with my Corcomp Ram512K disk, even when TIPI is at >1000), both were installed in the same PEB slot (maybe should try another).  I just dumped the DSRs of all the devices to @F.G. Kaal 

 

 

 

 

  • Sad 1
Link to comment
Share on other sites

31 minutes ago, globeron said:

I just tested the HRD3000/Rambo with DSK5, also could not get it working with FORCECMD, but my TIPI was at >1800

(but it also does not work with my Corcomp Ram512K disk, even when TIPI is at >1000), both were installed in the same PEB slot (maybe should try another).  I just dumped the DSRs of all the devices to @F.G. Kaal 

 

 

 

 

 

I used XB 2.7 Suite for this, but if you have the programs for EA also will work (go to Fred's website  ti99-geek.nl)

 

This is working to copy with DM2K, but list with DM1K

 

S

  • Like 1
Link to comment
Share on other sites

For the Horizon3000/Rambo I need to double check it it can copy, seems that disksizes cannot be more than 1600 (so I can have 4 ramdisks with this size DSK5,6,7,8). but I just replaced the old Rechargeable batteries with a system to be more replacable, but it did not fit completely and used a lego brick under it....the card anyway occupies 2 slots in the PEB. Still testing if programs remain if he power is off.

(Also note holding the SHIFT key when booting the card with FG99 or XB27 suite otherwise it looks it hangs).

 

20200509_162511.jpg

20200509_162538.jpg

20200509_162551.jpg

20200505_024557.jpg

20200505_024609.jpg

20200505_024602.jpg

  • Like 1
Link to comment
Share on other sites

1 hour ago, globeron said:

 

I used XB 2.7 Suite for this, but if you have the programs for EA also will work (go to Fred's website  ti99-geek.nl)

 

This is working to copy with DM2K, but list with DM1K

 

 

Did you already try the DM2K v2.6 ?

 

 

  • Like 1
Link to comment
Share on other sites

7 hours ago, globeron said:

For the Horizon3000/Rambo I need to double check it it can copy, seems that disksizes cannot be more than 1600 (so I can have 4 ramdisks with this size DSK5,6,7,8). but I just replaced the old Rechargeable batteries with a system to be more replacable, but it did not fit completely and used a lego brick under it....the card anyway occupies 2 slots in the PEB. Still testing if programs remain if he power is off.

(Also note holding the SHIFT key when booting the card with FG99 or XB27 suite otherwise it looks it hangs).

 

 

Disk size can be 3200 sectors. Are you using CFG 8.42 and ROS 8.42? 

Turn off the "powerup" in CFG.  If you don't have a MENU file on the ramdisk, it may lock up.  I am using XB27 suite with no problems.

  • Like 1
Link to comment
Share on other sites

2 hours ago, globeron said:

Hmmm...troubleshooting like crazy this morning ( i put the videos online at my youtube TI99 VIDEOS),  but now I also realise that there are newer ROS versions...will try the latest 8.42c and DM2K 2.6 as well.

These seem to work better so far I tested and can assign 3200 sizes, but I have issues when I turn off the Power Startup function, after a while I loose the disks on HRD. Not sure if it is battery related as i replaced these recently as on the pictures above. Now testing with ON. But i do not like pressing the SHIFT key on startup to bypass the HRD. And now testing if the batteries work when the device is powered off for a longer time. Thank so far for all the help!

 

 

 

 

  • Like 1
Link to comment
Share on other sites

20 hours ago, InsaneMultitasker said:

Disk size can be 3200 sectors. Are you using CFG 8.42 and ROS 8.42? 

Turn off the "powerup" in CFG.  If you don't have a MENU file on the ramdisk, it may lock up.  I am using XB27 suite with no problems.

Do i put the Menu file on DSK5? Because i did not copy the MENU file, is that maybe the cause it is locking up...hmmm

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