Jump to content
IGNORED

Geneve OS development discussion


Recommended Posts

Are there any Geneve users who are wanting to and/or are ready to forgo using a floppy disk controller at CRU >1100 in favor of the TIPI DSK devices?

 

The Geneve device powerup routine is now configured to test for TIPI and if present at >1100, the OS automatically maps DSK1-4 to the TIPI drives. We now working through the OS initialization code, cleaning up some old code and documenting some of the lesser-known internal code with comments. 

  • Like 2
Link to comment
Share on other sites

On 4/30/2022 at 3:40 PM, InsaneMultitasker said:

This also means that many of the hard-coded CRU restrictions implemented since MDOS 2.50S will be removed, though a few are necessary due to their function e.g., RamHD devices will remain at >1400 and >1600. 

One caveat to removing CRU restrictions is that the HFDC and SCSI cards share the "WDS" names in their respective DSR EPROMs. 

 

After deep-diving the OS/XOP/DSR powerups, I no longer feel as strongly about removing the SCSI card's CRU >1200 requirement.  The OS  powerup routine skips >1200 to avoid incorrectly detecting a SCSI card as an HFDC.  And for the detection to succeed without CRU restrictions, the SCSI card would need to be identified first and its CRU skipped during the HFDC detection.  (This is how the Horizon Ramdisk CFG program operates).  The IDE code incorporates a FIND routine, so maybe we can leverage it for the SCSI and HFDC powerups.  I'll give this a bit more thought.

 

Also, it seems that the OS does not validate the presence of a floppy controller so depending on what the OS thinks is at >1100, the IO routines will blindly attempt to use TI, CorComp, or Myarc routines when DSKx access is requested.  We'll confirm this and attempt to block the routines if there is no card present.

 

 

  • Like 3
Link to comment
Share on other sites

Dan,

 

In CLI\GETCATS is where the code is:

 

Here's some info:

 

*
  * do a winchester catalog...
  * 1) read record zero of "WDSx." to get name, size, free
  * 2) read dir entries, move the name, creation date
  * 3) read file entries,
  * a) set flags
  * b) set sector count #1
  * c) set eof offset if pgm image
  * d) set record length
  * e) set sector count #2 (used by pgm image)
  * f) compress creation date
 

* g) compress update date

 

 

The GETCATS source file is a very complex source file that got even more complex handling the TIPI since the TIPI could have more than 127 files and more than 114 directories.  We had to limit the number of files and directories display for the TIPI, because it buffered that information in the buffer page of the CLI at >8000 to >9FFF, and the page maps at >A000 and up were used for other functions.

 

 

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

23 minutes ago, dhe said:

Is there an unarchiver that runs on the GeneveOS command line?

 

I noticed dm has a Y option that says dearchive a file.

 

When I press it, DM returns - can't find BLOB?

Yes.  I released it either in this topic or the MDOS 7.3 topic, a few months ago along with a few other program updates.

  • Like 1
Link to comment
Share on other sites

29 minutes ago, dhe said:

Is there an unarchiver that runs on the GeneveOS command line?

 

I noticed dm has a Y option that says dearchive a file.

 

When I press it, DM returns - can't find BLOB?

BLOB returns wayyyyy too many results, so I plodded through my posts.  Here is message.  I don't recall much if any feedback on these programs, then again we are a quiet bunch. 

 

gh m

  • Like 1
Link to comment
Share on other sites

blob was a big help.

 

I was trying to read through lib-doc of tic (it's a fairly long file) and ran into some none GeneveOS issues.

 

1) dm does a great job of listing long files, the downsides are you can't page up and you can't search.

2) loading the file in to qde results in a truncated file.

3) Peter Muys Editor locked up when I tried to load the file.

 

Does anyone have a prefered way to read large files, something along the lines of less for linux?

Link to comment
Share on other sites

11 hours ago, dhe said:

blob was a big help.

3) Peter Muys Editor locked up when I tried to load the file.

 

Did you use blob from the command line or use the Directory Manager functionality to launch blob with the "Y" keypress? 

I thought that EDIT stopped loading (and ignored the rest of the file without warning!) if the buffer filled to capacity.  Lockup might have been caused by the buffer or by control characters in the file. 

Link to comment
Share on other sites

2 hours ago, InsaneMultitasker said:

Did you use blob from the command line or use the Directory Manager functionality to launch blob with the "Y" keypress? 

I thought that EDIT stopped loading (and ignored the rest of the file without warning!) if the buffer filled to capacity.  Lockup might have been caused by the buffer or by control characters in the file. 

Blob from the command line.

 

A lot of the stuff we have from Client came via a file dump called GenSrc.Zip that 9640news got for us from Clint a while back. It appears all of his builds and docs at some point where done on the pc. There is a chance in the text file, a odd character might have creeped in - thanks for the info largest to smallest. Maybe writing a list routine would be a good exercise for me.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Reference note for future review:  Validate HFDC step rate routine, how it is stored, and whether the VIB-based value is correct. 

*
* MFM HardDrive Step Rate

*      Nov02 2001 - Modified to original defaults TT  (>E700)
*
       LI   R0,>E700  ;x7xx maximum head step rate; x0xx is buffered seek
       MOV  *R2,*R2           HAVE WE HIT THE HD BEFORE?
       JEQ  IOFDS4            NO
       ABS  @ERRSMD           ARE WE IN THE ERROR RESTORE MODE?
       JNE  IOFDS4            YES, SO GO SLOWLY TO SECTOR 0
       MOVB @2(R2),R0         GET STEP SPEED IF WINCHESTER  ;the VIB parms may be incorrectly setting the step rate
       ORI  R0,>E0A5
IOFDS4 MOVB R0,*R1
       MOVB @CBHA5,*R1
*      MOVB @CBH02,*R1        SET THE HEAD LOAD DELAY FOR 2 INCREMENTS

 

  • Like 2
Link to comment
Share on other sites

6 hours ago, Willsy said:

Just an observation that line ORI R0,>E0A5 - that might want a comment to explain what the 'magic number' EA05 is :thumbsup:

But won't that ruin the magic?  <grin>

 

The MSByte is helping to set the mode register value for the operation, in this case, it will be set to hard drive mode, internal ECC checking, density, and a step rate in the three least significant bits according to the table in the 9234 manual. The ORI of >E0 ensures that bits 7-3 are properly set when combined with the step rate in R0 (in bits 2-0). As for the LSByte >A5, that is almost certainly just 'placeholder' data, since as far as I could tell, only the MSByte of R0 is ever used in this low level routine.  (Edit: whether the value is being set correctly via the VIB requires further analysis)

 

image.png.dd0eb1e9a97081e2a9af196ba2ca4acc.png

 

  • Like 3
Link to comment
Share on other sites

Geneve OS development discussion

this can be taken two ways:
  a discussion on development of the Geneve OS, or a discussion of developing under the geneve OS.
 
 Since it's convenient - I'll be taking it to mean the latter, I have a problem or something I don't understand when trying to link with genprog...
 
image.png.c3d3390f21f33f17fd6296fd9bb4e324.png
 
Yet...
 
LIBR
Maint lib_4a
symtab
 
  shows:
 
image.png.1ec1456dfa356026c757ef1d9901ad48.png
 
And yes, I've discovered when loading files with the linker, you don't get errors, if the files not found or wrong.
And yes, I've discovered all commands to the linker, need to be up case! ?
 
  • Like 1
Link to comment
Share on other sites

Dan,

 

To date, I do not know of anyone actually using the LIBR capabilities of GenLink.  The only thing I can suggest is rebuilding the library from scratch to see if it is a problem with the library file itself, or a bug with the use of the LIBR command.

 

 

Link to comment
Share on other sites

11 hours ago, InsaneMultitasker said:

As for the LSByte >A5, that is almost certainly just 'placeholder' data, since as far as I could tell, only the MSByte of R0 is ever used in this low level routine. 

@Willsy the answer was staring me/us in the face.  Programming intent divination for 30+ year old code is always interesting.  Instead of moving R0Lsbyte, the code moves the value @CBHA5, since R0 may or may not be properly manipulated due to the error/test logic.

 

       ORI  R0,>E0A5
IOFDS4 MOVB R0,*R1
       MOVB @CBHA5,*R1   <<<-- A5 
*      MOVB @CBH02,*R1        SET THE HEAD LOAD DELAY FOR 2 INCREMENTS

 

 

  • Like 4
Link to comment
Share on other sites

20 hours ago, dhe said:

And yes, I've discovered when loading files with the linker, you don't get errors, if the files not found or wrong.

Do you have an example of this?  When I run LINK, it generates an error if the object file is not found.   The distributed version of $MAKE has some trouble with missing date/time stamps, though that issue has been mostly (completely?) resolved with a disassembly and update to the code.  @9640News we'll have to remember to release the updated program file with the next update.

Link to comment
Share on other sites

 
The ADD command will throw an error, if the file is not found.
It's the LIBREF command that doesn't really care what you type! ?
 
I thought I'd be clever and just ADD the whole LIB_4A - and that is accept - but it doesn't work.
(I don't  care that I had all the routines listed)
 
I think most of my playing can be found below, the LIST command is also very helpful.
 
I also tried renaming LIB_4A to LIB4A - because list inserted a + after _ - maybe that's ok.
 
I don't think libref was implemented in the version of link I have = GenLINK V1.03
 ie.. LIBREF = NOP
 
]DEBUG DDEBUG
]BLOCK >A---000,>FFD8
]ADD STATUS
Block status:
Start Current End
A000  A000    FFD8

Total Free: >5FD8, >5FD8 in largest section..
0 unresolved REF entries..
0 DEF entries in table..
]ADD NEOO
]STATUS
Block status:
Start Current End
A000  A1AA    FFD8

Total Free: >5E2E, >5E2E in largest section..
3 unresolved REF entries..
4 DEF entries in table..
]LIBREF LIB_+4A
]STATUS
Block status:
Start Current End
A000  A1AA    FFD8

Total Free: >5E2E, >5E2E in largest section..
3 unresolved REF entries..
4 DEF entries in table..
]ADD LIBR_+4A
]LSTATUS
Block status:
Start Current End
A000  A1AA    FFD8

Total Free: >5E2E, >5E2E in largest section..
3 unresolved REF entries..
4 DEF entries in table..
]HELP
HELP     gives useful information
EXIT     Returns to MDOS
ADD      "tagged object file"
PAGES    define address space to load
COPY     <src>,<dst>,<cnt>
SYMTAB   list all REF/DEF entries
UNDEF    list all undefined REFS
BLOCK    <start address>,<end address>
STATUS   list status for defined blocks
LIBREF   "library name"
SAVEALL  "file"[,type]
PSAVE    "file",<type>,<start>,<stop>
DEBUG    "debugger output file"
LIST     "list file"
RESET    clear all tables
CLEAR    clear block definitions
EVAL     <expr>,  displays value
MDOS     <cmdstr> executes MDOS commands
*        indicates comment line
]SYMTAB
DEF table listing:
A000 SFIRST
A1AA SLAST
A004 START
A000 SLOAD
]UNDEF
Undefined REF listing:
A01C VSBW
A14A VWTR
A070 VMBW
]LIBREF MDOS
]STATUS
Block status:
Start Current End
A000  A1AA    FFD8

Total Free: >5E2E, >5E2E in largest section..
3 unresolved REF entries..
4 DEF entries in table..
]EXIT
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...