Jump to content
IGNORED

Horizon RAMdisk ROS and CFG Development


Recommended Posts

On 1/25/2020 at 1:27 AM, InsaneMultitasker said:

4. CFG - After further review, saving CALLs and colors requires more work than I have time to commit. I have noted it as a future, possible feature.

 

I added code to save and restore the CALLS, colors, and powerup flag during the ROS load process.  We are no longer required to re-enter the information when refreshing or updating ROS.  At this time I am not adding an option to save this information to a separate configuration file, though I will retain the idea for future consideration.  

 

Ksarul typed in the entire ROS 8.14 manual from printed copy.  I have updated the manual to reflect ROS/CFG v8.42 though some further editing and validation is required in the coming days/weeks.

  • Like 4
  • Thanks 2
Link to comment
Share on other sites

31 minutes ago, InsaneMultitasker said:

Success!  4000B installed at CRU 1200 and it is playing nicely with it's 3000 series neighbor :)

 

The available RAMBO RAM page map should max out at just under 2k (2040K). Time to dig into the allocation and paging code!

 

image.thumb.png.8c26642cc23f96c03507ec282a96cde4.png

Very exciting!!! ?

Link to comment
Share on other sites

Does anyone have the RAMBO demo/test programs in their library? I also thought there was a slideshow demo with pictures.   I need a solid test to confirm that CFG and RAMBO are working. I also want to be sure RAMBO and the ramdisks aren't stomping over one another. 

1 hour ago, FALCOR4 said:

Very exciting!!! ?

:)

I fixed the RAMBO paging and calculations.  We must remember that CFG was written 30 years ago when "normal" ramdisk capacity was smaller for cost and other reasons.  In either 2012 or 2015 I added code to stop CFG from allocating RAM beyond its available page map buffer. However, what I didn't realize is that CFG used the remaining available ramdisk memory to compute how much ram was available for RAMBO paging!   I changed CFG to use the actual page count, limited to 255.  My 4000B now shows 2040K available which is what I expected (255 pages * 8k/page).   I'm not fully convinced that 255 is the proper high value and will research that next.  

  • Like 2
Link to comment
Share on other sites

5 hours ago, InsaneMultitasker said:

Does anyone have the RAMBO demo/test programs in their library? I also thought there was a slideshow demo with pictures.   I need a solid test to confirm that CFG and RAMBO are working. I also want to be sure RAMBO and the ramdisks aren't stomping over one another. 

:)

I fixed the RAMBO paging and calculations.  We must remember that CFG was written 30 years ago when "normal" ramdisk capacity was smaller for cost and other reasons.  In either 2012 or 2015 I added code to stop CFG from allocating RAM beyond its available page map buffer. However, what I didn't realize is that CFG used the remaining available ramdisk memory to compute how much ram was available for RAMBO paging!   I changed CFG to use the actual page count, limited to 255.  My 4000B now shows 2040K available which is what I expected (255 pages * 8k/page).   I'm not fully convinced that 255 is the proper high value and will research that next.  

O Insane One, looking through the docs that Falcor pointed me to last night, one nugget of data buried in it may be of value. It seems the internal addressing scheme for the HRD 4000 was already configured to allow RAMdisk sizes up to 16M. It couldn't actually USE most of that space due to size limits on the ten drives you could configure, but I suspect that it would have been possible to configure all of the excess space for RAMBO. . .OPA may be able to tell us more there.

  • Like 2
Link to comment
Share on other sites

13 hours ago, Ksarul said:

O Insane One, looking through the docs that Falcor pointed me to last night, one nugget of data buried in it may be of value. It seems the internal addressing scheme for the HRD 4000 was already configured to allow RAMdisk sizes up to 16M. It couldn't actually USE most of that space due to size limits on the ten drives you could configure, but I suspect that it would have been possible to configure all of the excess space for RAMBO. . .OPA may be able to tell us more there.

Agreed.  The 2040K limitation directly corresponds to the available ram set aside in the DSR/ROS to hold the list of pages (2 bytes per RAMBO page). RAMBO is definitely physically capable of addressing more than 2048K but we would need another 1500 (or 3500) bytes in ROS/ram to hold the list of pages.

 

I found OPA's SHOW slideshow demo program and source code.  More to come!

 

Edit: Attached RAMBO test program. Place files on a ramdisk or floppy; this program uses direct floppy sector access to open the catalog therefore not TIPI or hard disk compatible.  I was able to run the slide show properly from my 4000B.  

SHOW RAMBO DEMO.zip

  • Like 5
Link to comment
Share on other sites

tonight's lesson:  Look everywhere for hardcoded addresses.  Both CFG and the MENU 7.39 extract a character set from ROS using a static address.  When I removed the title screen code, the character set moved.  If you load a CHARA1 via CFG, doing so will overwrite part of ROS.  When using MENU 7.39, the inverse character set will be incorrectly defined.  I have identified a patch for both and will introduce a pointer, if possible, to reduce similar issues.

 

FIXED:

Added two static pointers.  One for CFG (direct pointer to character set) and one for MENU (offset pointer due to past expectations).  MENU not displays the proper inverted character set and CFG loads the CHARA1 file into the right location. 

  • Like 3
Link to comment
Share on other sites

5 hours ago, atrax27407 said:

Waiting . . . . .?

I'll do my best to post the in-process ROS, CFG, and MENU40 files later today.  

 

Did you or others know that MENU 7.39 modifies the title screen as well?  I hit F9 and was greeted with the MUG logo (in place of the TI logo) and some Bud Mills/menu text.  Caught me by surprise. 

Link to comment
Share on other sites

Attached are the current in-process (i.e., NOT final) files for v8.42c.  TIFILES format. 

 

Latest changes include the new format/delete warnings, CRC message indicators, character set/font fix, and RAMBO pagemap corrections. When you update ROS, saving the drive info will also save the CALLs, color, and powerup status.

 

  • Earlier ROS 8.42x versions can co-exist with 8.42c though I do not recommend mixing and matching.  Retain your original files for v8.38 and v8.42 in case you need to revert to a prior test release.
  • CFG is -two- files (CFG1, CFG2). 
  • ROS842 does not contain an embedded CRC as I will only place that into the release version. 
  • I have attached the 40 column MENU 7.39 as modified by OPA; it is now patched to work with ROS842c.  Unlike BOOT, this menu must be on the first drive and associated with the first CALL to autostart. You cannot run this from EA5 or any other loader (I may remove this restriction in the future).  (Typically, the file is renamed to MENU on your ramdisk)
  • If you have a device in your PEB that CFG will not recognize, let me know and I'll look into adding it to the inspection routine.

 

cfg1

cfg2 

 

ROS842

MENU739c

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

36 minutes ago, BeeryMiller said:

Tim,

 

What would a fully expanded system Ramdisk look like on a Geneve?  Will it require a MDOS update?

 

Using the ram drive format, you can use the 8MB horizon as one large drive. It is formatted and accessed the same as an HFDC or SCSI drive.  An 8MB ramdisk yields approximately 31,000 sectors, not counting the 400K I reserve for a boot floppy at the same CRU - for OS booting and EPROM compatibility.  The support is already in MDOS 7.00 however, until I figure out why the OS is corrupting drives, I don't feel comfortable releasing it.  I suppose I could patch 6.70RC2 with the support but to be honest, I am not sure where the corruption crept into the OS.  I suspect the SCSI cache routine or an allocation error, the latter is one of the more difficult to test and track down. 

Link to comment
Share on other sites

How is this new set of files going to affect the 80-column menu? I did notice that CFG/ROS842C work fine with the 40-col menu ( a good thing since my 80-col card is out for repair). Will there be any issues with the inverse characters in 80-columns? 

 

MENU739C WILL run from the second of two RAMdisks provided that you have it turned off on the first HRD and it is called MENU on the second HRD and turned on. 

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

33 minutes ago, atrax27407 said:

How is this new set of files going to affect the 80-column menu? I did notice that CFG/ROS842C work fine with the 40-col menu ( a good thing since my 80-col card is out for repair). Will there be any issues with the inverse characters in 80-columns? 

 

MENU739C WILL run from the second of two RAMdisks provided that you have it turned off on the first HRD and it is called MENU on the second HRD and turned on. 

The 80 column menu I have been updating does not rely upon ROS for the character set, so there is no issue there.  Good call-out on the 2+ ramdisk scenario; I'll note that in my earlier post.  (And I should have posted in the first post... I need to make a mental note to do that next time!.  1st post is now updated.)

  • Like 1
Link to comment
Share on other sites

Just for giggles I implemented Rasmus' faster vdp copy loop (8 MOVB per loop) into the ROS DSR routine.  Loading DM2K typically takes around 2 seconds whereas the modification reduced that to 1.5 seconds.  Space is at a high premium so I will not implement the change at this time.  Maybe there are other device-oriented programs and DSRs that may benefit from similar changes.

 

 

  • Like 2
Link to comment
Share on other sites

52 minutes ago, Gary from OPA said:

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.

Gary, what is the history behind the various versions of ROS?   I have version 4 source, there looked to be a version 6 based on how the Geneve was set up earlier - and later changed - and we of course have version 8.  I have seen references to the 7 series though I don't recall an actual ROS 7.x.

 

I must say that without the very detailed, accurate comments in the ROS source code, there wouldn't have been much hope for enhancing what I have found to be a well thought out, compact DSR.

Link to comment
Share on other sites

Here is the current list of devices that CFG will detect. 

 

Devices 1-26 are driven by name and subprogram detection.  27-29 and ramdisks are detected through other means. 

 

Are there any other peripheral cards people would like to see added?  

 

I'm not interested in trying to distinguish between the various manufacturers for cards like RS232 and floppy controllers nor do I want to get into divining total RAM, vram, carts, etc.  Classic99 and the Geneve are special cases ;)

 

 

 

NAMES  TEXT 'UNDEFINABLE     '  ;0
       TEXT ' 8K*8 HORIZON   '  ;1
       TEXT '32k - 512k HRD  '  ;2        
       TEXT 'Horizon/RAMBO   '  ;3

       TEXT 'TIPI Device     ' ;4   
       TEXT 'Classic99 DSR   ' ;5 clip
       TEXT 'SCSI Card       ' ;6  
       TEXT 'IDE Card        ' ;7  
       TEXT 'Myarc HFDC      ' ;8    
       TEXT 'BwG Disk Cntr   ' ;9
       TEXT 'Myarc Floppy    '    ;10 

       TEXT 'Floppy Cntrlr   '  ;11 all other FDCs
       TEXT 'Axiom Printer   ' ;12  
       TEXT 'HDX1/RS232      ' ;13
       TEXT 'RS232 and PIO   ' ;14  
       TEXT 'PGRAM Card      ' ;15  
       TEXT 'Clock Card      ' ;16  triple tech
       TEXT 'Myarc Ramdisk   ' ;17  
       TEXT 'Dijit AVPC      ' ;18
       TEXT 'HSGPL           ' ;19
       TEXT 'SPVMC Speech    ' ;20
       TEXT 'EVPC Video      ' ;21
       TEXT 'CC 512K Mem+    ' ;22
       TEXT 'FoundationRAM   ' ;23
       TEXT 'GRAM Card       ' ;24
       TEXT 'GPIB IEEE-488   ' ;25 2-23
       TEXT 'Personality Card' ;26  2-23
       TEXT 'AMS/SUPER AMS   ' ;27

       TEXT 'Geneve DSR      ' ;28
       TEXT 'Geneve ROMpage  ' ;29
       TEXT 'UNKNOWN CARD    ' ;30

; End of device text

  • Like 1
Link to comment
Share on other sites

Yep, Triple Tech should identify as "clock card" via detection of its dsr entry "CLOCK". 

 

Does the FORTI have an EPROM and if so, can someone tell me its device names/subprograms?

 

I didn't think the PGRAM was visible to the system except for when it had control? 

 

MBP card is not detected but I do have code I could add if someone has a card for test purposes.

Link to comment
Share on other sites

just some thoughts:

 

Maybe a dedicated entry for the CC9900 Floppy Controller ?

Can you differ between WHT-SCSI and ASCSI ? (does it make sense at all ?)

SID-Master 99

SAMS-Memory

WDS100

Speech

Mechatronic 128K

Mechatronic GRAM

Mechatronik 80COL (80ZK)

 

btw, there is absolutely no need for detecting the HSGPL-card, as I don´t have one (hint hint) :grin:

 

.

 

 

 

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