Jump to content
Sign in to follow this  
BeeryMiller

MyWord Source Code

Recommended Posts

Last night, I sat down and spent a fair amount of time trying to understand the assembly process for the MyWord source code for the Geneve.  If I can, I want to document the assembly process to allow for any future updates someone may want to tackle, etc.

 

The existing source code assembles fine, however the linking process to get the various object files pieced together appears to be problematic.  I think John Johnson had some involvement with MyWord outside of Peter H.

 

Does anyone have any notes, etc. on how to put the fragments together they may have come across?

 

There is one source file,  BUILD-S, that uses 13 object code filenames and subsequently does a BLWP @LOADER, however this "LOADER" source file is nowhere to be found.  I'm half wondering if it may have been something common to another piece of software such as the RAG Assembler package, etc as MyWord was released well before Paul released GenPROG.

 

If anyone has some information, it would be appreciated.


Beery

 

 

 

 

 

  • Like 3

Share this post


Link to post
Share on other sites

Beery, I have not looked at the MyWord source in ages however what I do recall is that the loader file (MW) is separate from the main program.  Whether or not this is the same loader referenced above is unclear to me.   I know that I assembled some of the code when I updated the loader to detect whether or not TI MODE is enabled, because MyWord uses the memory pages assigned by TIMODE indiscriminately, which is problematic for EXEC usage. 

 

I think I still have the original floppy disks I received containing MyWord source.  I can take a look today/this week if you haven't come up with the solution by that time.

  • Like 3

Share this post


Link to post
Share on other sites
1 hour ago, InsaneMultitasker said:

Beery, I have not looked at the MyWord source in ages however what I do recall is that the loader file (MW) is separate from the main program.  Whether or not this is the same loader referenced above is unclear to me.   I know that I assembled some of the code when I updated the loader to detect whether or not TI MODE is enabled, because MyWord uses the memory pages assigned by TIMODE indiscriminately, which is problematic for EXEC usage. 

 

I think I still have the original floppy disks I received containing MyWord source.  I can take a look today/this week if you haven't come up with the solution by that time.

You are correct about the loader being a separate program to itself that loads the Format, Editor, Catalog, Help, etc. files.  What I can not figure out is how to create the Editor image as it is a single file, but pieces are AORG'd to various places in memory.  I suspect (not confirmed) the BUILD-S program takes the 13 object code files and manipulates it into the various pages as needed.

 

If you can find your disks, that would be great although I suspect we are likely working from the same files.

 

Beery

  • Like 1

Share this post


Link to post
Share on other sites
47 minutes ago, BeeryMiller said:

You are correct about the loader being a separate program to itself that loads the Format, Editor, Catalog, Help, etc. files.  What I can not figure out is how to create the Editor image as it is a single file, but pieces are AORG'd to various places in memory.  I suspect (not confirmed) the BUILD-S program takes the 13 object code files and manipulates it into the various pages as needed.

 

If you can find your disks, that would be great although I suspect we are likely working from the same files.

 

Beery

Yea, there should be a BUILD program on the disk.  Try running that and see what happens.  You might be able to mimic the program file creation with Genlink. I'm not so sure we have the full source to BUILD though, if what I recall is accurate.  I am fairly certain the page locations are in one of the source files.  Good idea to figure this one out...

Share this post


Link to post
Share on other sites

There was a Program image format file for BUILD, though at the time, I thought it was something I assembled separately.  I just went in and it is an EA#5 program that is an Object File loader that puts object files manually into rom, grom, and video by user setup.  It has no relation that I can see to the source that is in BUILD-S.  I'm wondering if BUILD-S was the front end controller for the loader program, but I see no way that code could be launched.  And, that code is very minimal.

 

I suspect GenLink can be used to create the final image, just not sure how the pieces fit together into which pages into the "overlays".

 

I wrote Peter H. on LinkedIn.  I seriously doubt he will respond, but no harm in asking.

 

 

38 minutes ago, InsaneMultitasker said:

 I'm not so sure we have the full source to BUILD though, if what I recall is accurate.  I am fairly certain the page locations are in one of the source files.  Good idea to figure this one out...

I agree, I think BUILD-S is lacking a file/etc.  There is a definition of pages and what is defined and where it should go.  Just how it pieced together is a bit of a mystery.

 

I'm going to play around with it more this evening.  

 

Beery

 

 

Share this post


Link to post
Share on other sites
2 hours ago, BeeryMiller said:

 

 

If you can find your disks, that would be great although I suspect we are likely working from the same files.

 

Beery

I checked the labels -- one disk is labeled myword with new loader, so theoretically the updated loader I wrote is on that disk.  the other is labeled "from Beery".  So your suspicions are probably spot on.  I catalogged the disks and they look like what is on your old hard drive image.

Share this post


Link to post
Share on other sites
On 7/28/2020 at 2:03 PM, dhe said:

If ONLY Farmer Potato had a new Geneve ready we could all help! 😃

You could use MESS. I *am* making progress on hardware 

I feel bad sitting next to a Geneve 9640 not powered on, where I could be trying to keep up with developments.

 

It's exciting what Beery is doing with Geneve sources. 

 

My goal is to support existing software with no patches!

 

  • Thanks 1

Share this post


Link to post
Share on other sites
On 7/28/2020 at 1:49 PM, BeeryMiller said:

There was a Program image format file for BUILD, though at the time, I thought it was something I assembled separately.  I just went in and it is an EA#5 program that is an Object File loader that puts object files manually into rom, grom, and video by user setup.  It has no relation that I can see to the source that is in BUILD-S.  I'm wondering if BUILD-S was the front end controller for the loader program, but I see no way that code could be launched.  And, that code is very minimal.

 

I suspect GenLink can be used to create the final image, just not sure how the pieces fit together into which pages into the "overlays".

I found some of my old, hand-written notes that suggest LINK can create the modules.  The steps I had scribbled:

 

1. Look at existing module headers for block starting address

2. Load LINK

3. BLOCK start, end  (not sure where end came from, probably the size in the header)

4. use PSAVE for the segment (I didn't write down the type you'd have to look at Genprog manual and pick one that creates the header. You can always sector edit later)

5. compare with DSKU  (this would be disk utilities) to see if the code matches or is even in the ballpark

 

I would start with the editor object and try to link it.  LINK will tell you if there are unresolved REFerences, in which case you would need to find the appropriate object file(s).

 

There is another note about the GPL linker and RAG linker, and something about the formatter.  The page has severe water damage so I'll scan it and see if I can coax something out of it with different lighting/contrast/color.

 

EDIT:  Found another scrap related to the myword loader.  So now I'm not so sure the earlier notes apply to the full program.

 

Is this what a TI archaeological dig feels like?  :)

 

 

  • Like 1

Share this post


Link to post
Share on other sites

>Is this what a TI archaeological dig feels like?  :)

 

I was thinking some kind of adventure game, where you where collecting parts of ancient manuscripts, that once assembled, translated, ordered and figured out, would let you finally perform the great spell of summoning!

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites
9 hours ago, InsaneMultitasker said:

I found some of my old, hand-written notes that suggest LINK can create the modules.  The steps I had scribbled:

 

1. Look at existing module headers for block starting address

2. Load LINK

3. BLOCK start, end  (not sure where end came from, probably the size in the header)

4. use PSAVE for the segment (I didn't write down the type you'd have to look at Genprog manual and pick one that creates the header. You can always sector edit later)

5. compare with DSKU  (this would be disk utilities) to see if the code matches or is even in the ballpark

 

I would start with the editor object and try to link it.  LINK will tell you if there are unresolved REFerences, in which case you would need to find the appropriate object file(s).

 

There is another note about the GPL linker and RAG linker, and something about the formatter.  The page has severe water damage so I'll scan it and see if I can coax something out of it with different lighting/contrast/color.

 

EDIT:  Found another scrap related to the myword loader.  So now I'm not so sure the earlier notes apply to the full program.

 

Is this what a TI archaeological dig feels like?  :)

 

 

Last night, I was doing something almost identical to what you are describing with LINK and setting up blocks.  I've got like 7 unresolved references that go back to the video and dsrlnk calls that I "think" may be pulled from the LIBRarian using the LIBREF command in LINK.  Got to find a good a good copy of the LIB_4A file that came with GenPROG.  There was also a LIB_MDOS library, however, I think that was corrupted not that it ever had much in it in the first place.

 

As you mentioned, I figured I could use the PSAVE command as the header on the Editor file does not match any of the PSAVE options so I think it does require manual editing after being saved.  The difficult piece are the pieces of code in >2000 to >4000, and >6000 to>7FFF are same so the REF/DEF in the Editor file lines up correctly.  I'm hoping the EQUates are sufficient.  Time will tell.

 

That will be what I will be messing around with this week end.

 

Beery

Edited by BeeryMiller

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...