Jump to content
IGNORED

Geneve OS development discussion


Recommended Posts

@dhe and @InsaneMultitasker

 

Right now, I do not know how many people are making use of the native files feature.  I wrote @jedimatt42 a note in the tipi development thread.

 

The original aim when I proposed to Matt the native files option, was to make moving back and forth source files from github much easier.  We have a few options depending upon how versatile Matt desires to leave the same or expand upon this feature.  Right now, I think it keeps PROGRAM image files as PROGRAM image files, but it looks like it treats everything else as DIS/VAR 80.

 

I had after the source code to MDOS 7.40 was released, revised the !MAKEFILE and the HDOS\HDOSL file for the assembly and linking process so that OBJ files would be dropped into its own separate destination folder which can be outside the native folder path.  I did this as I maintain the source files on my HRD for the quickest process for assembling and linking.

 

The second option that could be done, is to copy the contents of the native files folder to another path on the TIPI.  Then, you can assemble everything on the TIPI without an issue if users want to assemble on the TIPI.

 

Beery

 

 

Link to comment
Share on other sites

1 hour ago, InsaneMultitasker said:

@9640News Unrelated to the native_text issue...

I can confirm that ASM is at fault for incorrectly opening the catalog file.  If the list filename parameter is empty, ASM parses the current directory and attempts to open it as OUTPUT, D/V 80.  As we all know, the catalog file can't be opened in OUTPUT mode so the Geneve DSR returns an error and ASM continues on its way.  It is only thanks to the excellent logging in the TIPI that we see this oddity.  ASM is protected by CRC traps and pitfalls so for now, this is noted for awareness.  We can only guess as to whether this was an oversight or intentionally ignored. 

 

I wonder if this was an attempt to verify a valid file path?  or maybe it may have been something needed for the old Myarc Personality card in the earlier stages of MDOS development????

 

 

Link to comment
Share on other sites

I like the approach where the file types besides DV work with TIFILES, if possible. It already seems to work this way, otherwise the file copies would have resulted in all of the object files being converted to native files. Even if the decision is to limit the file type, the native folder is really slick for source code….

Link to comment
Share on other sites

Given what I have learned in the last week about TIPI and native_dirs, I decided to re-work things a bit.

 

TIPI will now have a directory called GIT - it's will have native_dirs, I won't "work" in it, it will only be used for git cloning.

 

The new cycle will be:

   cd GIT

   git clone https://github.com/BeeryMiller/MDOS

 

   copy contents to root of tipi and do things.

 

GeneveOS build Question:

   In MDOS there used to be a command testh - it was a program that loaded a newly built HDOS.

   It was in the root of the build directory.

   Now, the only testh, is in the hdos, and it's a dv80.

 

image.thumb.png.6d399aed0de58f862fb966f24a704c1b.png

 

 

  • Like 3
Link to comment
Share on other sites

@dhe it is possible that the git repo doesn't have the program. @9640News will need to confirm. The folder in your screenshot is for the source to TESTH, TESTM, etc, (which are used to set the correct boot device flag during testing) although it seems the program and DF80 object files should be in the folder. I don't think they are part of the MAKE process.

  • Like 2
Link to comment
Share on other sites

@dhe I kicked off a full assembly of the OS, using the TIPI native_text folder.  About 30 seconds into the process, $MAKE tossed its cookies with an error message, "Don't know how to make "ZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZ" (the X was some graphics character). So there is still something it doesn't care for with one or more files, or a difference in how the data is consumed by $MAKE.  Not to be dissuaded, I kicked off the batch file that assembles everything; MDOS is so-far successfully grinding through the source files now. I'll report back in this same post whether the resulting OS starts up properly.   

The $MAKE issue was due to incorrectly (inadvertently) using MDOS 7.30 instead of MDOS 7.40. 

 

  • Like 3
Link to comment
Share on other sites

@InsaneMultitasker received the same error.

 

started with MAKE HDOS,F - It starts, I can see it reading TIPI  and then it just stops.

 

 That's after upgrade to 3.19 on tipi.

 native_dirs = GIT.

 clone MDOS

 delete .git from tip1.git.mdos

 using the latest GDM2K to copy to TIP1.MDOS.

 MAKE HDOS,F

 

 {Head Scratch}

 

  I noticed, the assembler was saying #0101 John Birdwell.

 

  I modified my path to just be I: (no other directories).

  I restarted with MAKE HDOS,F

 

  This time, I received, don't know how to make ZZZZZZZZZZZZ.

  But, it didn't lock up, and I'm being told assembler is #2000 MDOS Developer.

 

  It did complete this time, but no HDOS was created?

 

 

end_of_make.jpg

 

 

no_hdos.jpg

  • Like 2
Link to comment
Share on other sites

2 hours ago, dhe said:

It did complete this time, but no HDOS was created?

It looks like yours stops in the same place as mine. If you inspect !DOIT, you'll see it stops in the L8\ range of files.  The remaining assembly and link statements are missing.

 

The TIPI log shows something weird with the direct input file IO in the native_text file folder.  The start block is incrementing by one or more, for each subsequent file, until it reaches DSRPASS-S and then $MAKE locks.  I can CTRL-C the $MAKE program, so this isn't a TIPI DSR lockup but it may be induced by TIPI (or MDOS DSR) IOEdit: I am going to assume this is related to MAKE crashing as I cannot yet reproduce it.

 

I created a non-native folder and was able to assemble MDOS properly, from the TIPI, with all TIFILES headered files.  I don't have any more time this morning to dig into this, but I'll circle back in the evening.   Edit: The OS file was not created. this may be related to a /4a PAB limitation, since the OS program file is 136K.  I  have some work to do, I'll test more later.

Edited by InsaneMultitasker
Further updates
  • Like 1
Link to comment
Share on other sites

Lest I forget the lesson I learned today: if you are using TIPI and have not updated your Geneve OS to 7.40, your first order of business should be to update your system. If you aren't sure what OS version you are running, type "VER" at the command line and update accordingly.  If your autoexec clears the screen, consider adding a VER statement near the end of the file.  

 

Earlier today, I discovered that the PFM in my development Geneve is still loaded with MDOS v7.30. As best I can recall, I updated my test Geneve, got distracted by 'life', and forgot to follow through to update the more important Geneve.    Some (though not all) of what I and others have recently experienced can be traced back to the bug that affected the COPY command in v7.30. 

  • Like 3
Link to comment
Share on other sites

3 hours ago, InsaneMultitasker said:

@dhe I kicked off a full assembly of the OS, using the TIPI native_text folder.  About 30 seconds into the process, $MAKE tossed its cookies with an error message, "Don't know how to make "ZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZZXZXZXZXZXZ" (the X was some graphics character). So there is still something it doesn't care for with one or more files, or a difference in how the data is consumed by $MAKE.  Not to be dissuaded, I kicked off the batch file that assembles everything; MDOS is so-far successfully grinding through the source files now. I'll report back in this same post whether the resulting OS starts up properly. 

I got a message from Tim where I think this message is related to using MDOS 7.30 instead of 7.40.


I just did a full MAKE from the TIPI, with only one issue.  In file HDOS\HDOSL, the PSAVE command that saves the HDOS file containing the assembled MDOS version, must have a path set to something other than the TIPI.  This is due to a 4A limitation on the PAB of 64K with the opcode being used as MDOS is > 64K.

 

On one other note, if you do find you do get that error, do a MEM immediately after to see how much memory is still free.

  • Like 2
Link to comment
Share on other sites

Hi,

 I've not really kept up with the development of MDOS support for the TIPI - just mainly using it as a mass storage device with network connectivity.

 

  But, what is this 4A limitation you speak of:

    >"This is due to a 4A limitation on the PAB of 64K with the opcode being used as MDOS is > 64K."

 

  Since the only mass storage I have sitting with the Geneve is the TIPI, can you ID what I would need to change, in order to build to a floppy drive?

  • Like 1
Link to comment
Share on other sites

27 minutes ago, dhe said:

Hi,

 I've not really kept up with the development of MDOS support for the TIPI - just mainly using it as a mass storage device with network connectivity.

 

  But, what is this 4A limitation you speak of:

    >"This is due to a 4A limitation on the PAB of 64K with the opcode being used as MDOS is > 64K."

 

  Since the only mass storage I have sitting with the Geneve is the TIPI, can you ID what I would need to change, in order to build to a floppy drive?

I hope I can get this explanation right.  @InsaneMultitasker can correct me if I get something wrong.

 

All file I/O on the 4A with the TIPI has a PAB that with two bytes of that PAB for filesize.  On the Geneve, DSR PAB's for the XOP use three bytes for filesize.  So, to save a program image file > 64K requires 3 bytes to pass that information.  Unfortunately, the TIPI to PI interface does not allow this.  Insanemultitasker was able to work around most of the differences between 4A and Geneve PABS, but I think this was one issue that could not be overcome.

 

As far as building on the TIPI and changing to a floppy drive, edit the file HDOS\HDOSL

 

Right near the end, after all the COPY directives but before the EVAL directives, there is a PSAVE command.

 

It present is something like:

 

PSAVE HDOS\HDOS,14,0,P_LAST+4*>2000

 

Change HDOS\HDOS to DSK1.HDOS

 

Now, the file HDOS will be saved to DSK1. and will be the newly created image.

 

 

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

1 hour ago, 9640News said:

I hope I can get this explanation right

Makes sense to me. What is peculiar to me is that the TIPI log has no record of the attempted operation and no OS error is generated. The file's byte size is >22000, so masking the high byte should yield a >2000 byte file. The MDOS DSR's error trap looks for a zero byte file and jumps to an error routine, but the error code is not set.  Some follow-up is needed on these MDOS opcodes.  It's rare that anyone wants to save or load a 0-byte file. ;) 

 

I suppose there is a way around the /4a PAB limitation but I'm not sure that I want to go down the path. The MDOS version of the TIPI load/save opcodes could be re-written as 2-part BREAD and BWRITE operations. The first to read/write the file attributes and the second to read/write the file.  

Edited by InsaneMultitasker
clarifications
  • Like 2
Link to comment
Share on other sites

4A PABs don't talk much about actual file size in bytes... except for PROGRAM LOAD / SAVE. But here, you must have already changed the TIPI DSR for LOAD and SAVE as my implementation only works off of buffers in VDP. Implementing this in terms of whatever front you have for Direct-Input and Direct-Output 

 

But if you want to keep to the LOAD and SAVE opcodes.. I could fix the TIPI python side to understand a 3rd byte... If I where to guess, you probably send the high byte in byte 5 of the PAB just before bytes 6/7, the normal number of bytes to save/load... ( edit: Oh, but the single message size limit for TIPI is also 64k )

 

The only issue I'd have, is if 4A software has any history of dirty PABs that have junk left in byte 5 ( or whichever one you expect it to be... )... Is there any other bit set that indicates the extended mode for the PAB? 

 

---

My direct-write can only write 64k at a time, but it can have a starting block address anywhere in a 16Meg file. So you could delegate to that as is, in 3 TIPI operations. 

 

 

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

Thank you for sharing that 3rd byte idea.  That would certainly make it simple.  though my concern echos yours: modifying the /4A-style Pab could open up some unintended consequences for LOAD/SAVE; even the Geneve does not extend these opcodes while emulating the /4A.

 

For the limited use case that is the Geneve native DSR mode, my initial thinking was to leverage the direct read/write routines in a different way, thus mimicking the SAVE/LOAD opcodes.  An alternative might be two new Python opcodes that mirror load/save, but allow for the third byte in some currently-undefined location. 

 

All Geneve-based TIPI operations occur in 256-byte increments due to how the DSR is structured, incuding load/save/direct read/direct write.  Direct read/write  iterate over the number of 256-byte blocks presented, which is why we can copy and perform other operations, and only now realized the limitation with save/load because the OS presents three bytes, whereas the /4a PAB only affords us two. 

  • Like 3
Link to comment
Share on other sites

On 7/3/2023 at 7:43 AM, mizapf said:

Yes, you could save on "Ignored". Like in the Unix world, no news is good news, so any kind of message is a warning or an error.

 

But this is a great and long-awaited enhancement. Can't tell you how many times I misspelled the directory name when using CD.

 

I removed 'Ignored' from the warning and shared the source file with 9640News, for testing purposes.  We haven't talked much about how to leverage Github or how to address changes like this that could be released for testing, in advance of a formal release.

 

My PFM device is loaded with v7.40 and after using the modified CD routine for a few days, I realize that I now miss the feature for the reason you cited. 

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Maintenance update for EXEC based on my recent activity with the 'FinalGROM simulation' loader.

 

Both EXEC28 and EXEC28DOC are TIFILES format.  I included a copy of the notes as a text file, see change log excerpt: 

 

- Keyscan table is no longer passed back to the OS, with exception of the
  CAPS and NUMLOCK status.  This resolves 'phanton' keypresses upon re-entry
  and with certain scan modes. (The keyboard state table was incorrectly
  being preserved for all depressed keys).  For example, After loading EXEC
  once, the second or third time could result in an unexpected reboot at the
  command line.  
- Holding SHIFT-SHIFT-CONTROL (or ctrl-alt-del) too long on exit will no longer restart system. 

 

EXEC V28 released 13August2023.zip

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

  • 1 month later...

Source code for the most recent release of GENCFG has been uploaded to the Horizon Ramdisk github repository.  These are text files without an extension, copied directly from my TIPI 'native text' folder, so they are immediately viewable and searchable via github. 

 

Horizon-Ramdisk-ti994a/GENCFG at master · horizonramdisk/Horizon-Ramdisk-ti994a (github.com)

 

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, InsaneMultitasker said:

Source code for the most recent release of GENCFG has been uploaded to the Horizon Ramdisk github repository.  These are text files without an extension, copied directly from my TIPI 'native text' folder, so they are immediately viewable and searchable via github. 

 

Horizon-Ramdisk-ti994a/GENCFG at master · horizonramdisk/Horizon-Ramdisk-ti994a (github.com)

 

 

Hi,

as I am losing the overview a little bit and am never sure if I found the correct file on GutsHub  :grin:,

will there be a complete distribution with a future v7.4x with all the recently updated files like:

ABasic, GPL, TSTAT, EXEC, GenCFG, Editors, PFMup, Cya, MemTest, CRCOS7, 

and whatever has been changed ? (Did I forget one ?)

Maybe divided into 2 .DSKs, 1 Boot and 1 Util or so ? (Can I help with that?)

 

SubQuestion: Is there a running version of this new GENCFG v1.5 (or just the source code) ?

If so, how can I download it ? (there is a mass of files on Github and I only land on the sourcecode in the end)

 

thanks

xXx

 

Link to comment
Share on other sites

40 minutes ago, Schmitzi said:

 

Hi,

as I am losing the overview a little bit and am never sure if I found the correct file on GutsHub  :grin:,

will there be a complete distribution with a future v7.4x with all the recently updated files like:

ABasic, GPL, TSTAT, EXEC, GenCFG, Editors, PFMup, Cya, MemTest, CRCOS7, 

and whatever has been changed ? (Did I forget one ?)

Maybe divided into 2 .DSKs, 1 Boot and 1 Util or so ? (Can I help with that?)

 

SubQuestion: Is there a running version of this new GENCFG v1.5 (or just the source code) ?

If so, how can I download it ? (there is a mass of files on Github and I only land on the sourcecode in the end)

 

thanks

xXx

 

I believe everything you mentioned is in the 7.4 distribution as a zip file. As things are being distributed here and on 9640news.com and not on a bbs where would Xmodem download, everything pretty much has to go through a web browser for download. The zip format makes the most sense for distribution so that users can use the various utilities they use to move the files over to their devices. I do not have plans to make Dsk images as then you get into the issue of 90k, 180k, 360k, or maybe even 720k and 1.44mb formats. It can easily get out of control with such a large distribution of files. 

  • Thanks 1
Link to comment
Share on other sites

Oh @InsaneMultitasker, going into your Github above, as I move to your wiki at https://github.com/horizonramdisk/Horizon-Ramdisk-ti994a/wiki, I find an issue. When I click on the hotlink 

I get a page not found report. FYI.

  Thanks for your contributions to our hobby.

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