Jump to content
IGNORED

New versions available


F.G. Kaal

Recommended Posts

6 hours ago, F.G. Kaal said:

I am integrating BLOB at the moment, but what is BLOB doing with the keyboard. After exiting BLOB and returning to GDM2K the keyboard is not functioning normal any more. All the ctrl and fctn keys of GDM2K are doing something else ... very strange.

 

... okay, added a kbmode(5) in GDM2K after executing BLOB, the keyboard is functioning normal again 🙂

I am wondering if your initial startup of GDM2K if you specified a specific keyboard mode?

 

If not, I think a mode a lot of people use is the last keyboard mode called when checking for keys.  Which, coming from the CLI has kept you pretty well under control to be consistent.  However, as you experienced calling another program, it may have specified a different keyboard mode.  Not sure what mode GPL and/or EXEC returns when exiting a program.

 

Beery

 

 

  • Like 1
Link to comment
Share on other sites

6 hours ago, F.G. Kaal said:

I am integrating BLOB at the moment, but what is BLOB doing with the keyboard. After exiting BLOB and returning to GDM2K the keyboard is not functioning normal any more. All the ctrl and fctn keys of GDM2K are doing something else ... very strange.

 

... okay, added a kbmode(5) in GDM2K after executing BLOB, the keyboard is functioning normal again 🙂

I should some day rename the program - the filename BLOB was just a random thought at the time. :)  I am wondering if the key mode is restored by all parent programs so we didn't notice it before?  BLOB needs a few minor fixes that @dhe mentioned to me last year.  You can also try launching my TI Artist/Myart picture/Instance viewer called TIAV2 as that is called similar to EXEC - with a filename. TIAV2 then tries to figure out the file format. So many programs, so little time.

  • Like 2
Link to comment
Share on other sites

13 hours ago, 9640News said:

I am wondering if your initial startup of GDM2K if you specified a specific keyboard mode?

Yes it does. I am using mode 5 the same as in DM2K but have forgotten about this. Was allready adding a little function to do this and then saw a function doing this was allready there and called almost at the beginning of the GDM2K program ;-)

  • Like 1
Link to comment
Share on other sites

12 hours ago, InsaneMultitasker said:

I should some day rename the program - the filename BLOB was just a random thought at the time. :)  I am wondering if the key mode is restored by all parent programs so we didn't notice it before?  BLOB needs a few minor fixes that @dhe mentioned to me last year.  You can also try launching my TI Artist/Myart picture/Instance viewer called TIAV2 as that is called similar to EXEC - with a filename. TIAV2 then tries to figure out the file format. So many programs, so little time.

I also have a blob … it is in ModuleMaker 2.0 🙂

 

I noticed TIAV2. I wan’t to add QDE and then TIAV2. I hope it will all fit in the 55K. Program size is now almost 32KB and using 20KB RAM for buffers. 16K of that buffer is reused for storing the content of  VDP before calling the others programs. 

  • Like 1
Link to comment
Share on other sites

14 hours ago, 9640News said:

There are some addresses out there.  This file from MDOS\HEAD\TASKHEADS has a listing of everything in the first >03FF bytes of the task header.  There is very little (almost none), documentation on everything in this file outside of this source file I have attached.

 

If you want to investigate some of the key presses that are returned such as DEL, CTRL-C, etc., then I would suggest using BHDMV where you can map and display contents of any page in memory "live".

 

Hope this helps some.

 

 

TASKHEADS.txt 6.04 kB · 2 downloads

Thanks for the file. I will check what is useful for my MDOS programs 🙂

  • Like 2
Link to comment
Share on other sites

What would be a nice MDOS editor to add to the GDM2K program?

 

At the moment I have added QDE but there is a problem. After the editor is started the file to edit is not displayed. Have to do to something else first like F5 (show file status) and after an escape then ... voíla ... there it is. Very annoying.

 

EDIT from Peter Muys is nice but the commandline is ignored ... also annoying.

 

What more simple editors are available?

Edited by F.G. Kaal
  • Like 1
Link to comment
Share on other sites

1 hour ago, F.G. Kaal said:

What would be a nice MDOS editor to add to the GDM2K program?

 

At the moment I have added QDE but there is a problem. After the editor is started the file to edit is not displayed. Have to do to something else first like F5 (show file status) and after an escape then ... voíla ... there it is. Very annoying.

 

EDIT from Peter Muys is nice but the commandline is ignored ... also annoying.

 

What more simple editors are available?

I have been using EDIT for decades for nearly all of my programing.  Long ago, I added code to use the command line argument but you have to type "LL" to initiate the load.  (Do not use LF/SF as these are for "compression").  If you have my modified version, there are three files EDIT, EDIU, and EDIV.  I released it 20+ years ago so the archive might by on WHT.   QDE should autoload and show the file without any interaction; there might be a video configuration issue?

  • Like 1
Link to comment
Share on other sites

1 hour ago, F.G. Kaal said:

What would be a nice MDOS editor to add to the GDM2K program?

 

At the moment I have added QDE but there is a problem. After the editor is started the file to edit is not displayed. Have to do to something else first like F5 (show file status) and after an escape then ... voíla ... there it is. Very annoying.

 

EDIT from Peter Muys is nice but the commandline is ignored ... also annoying.

 

What more simple editors are available?

 

 

What QDE version do you use ? I use v3.3 IIRC

 

 

  • Like 1
Link to comment
Share on other sites

29 minutes ago, InsaneMultitasker said:

Found my release archive..from 1995. :)

 

 

@EDIT 11.88 kB · 1 download

Thanks, I try this one.

 

I could also make this universal. Gdm2k tries to load EDITOR and whatever editor you like just rename it to editor and place it in a directory wich is in the search path. (just a thought).

  • Like 2
Link to comment
Share on other sites

Hi all,

 

Here is the first trial version of GDM2K version 3.5

I have added EDIT, QDE, BLOB and EXEC and offcourse the latest GDM2K in the ZIP file.

GDM2K is now almost 32KB + 20KB RAM. So there is not much space left for new options (if the max size is indeed 55KB).

The 20KB RAM is used for the file lists and stuff (4KB) and 16KB to be able to create a backup of the VDP RAM before doing

exec, blob or edit. I am not sure if this is really nescassary but the DM program was doing this also. I don't know anything

about the layout of the VDP RAM in MDOS. If it is not needed to backup the whole 16KB then there is more space left for

new functions.

 

Three commands are added:

E for edit a DV80 file

X for execute an MDOS program or TI99 E/A option 5 program using EXEC.

Y extracting or list the content of an archive file using BLOB.

 

The edit function tries to run EDIT. If you like QDE better then rename QDE to EDIT.

 

Make sure that the editor you want to use (EDIT or QDE renamed to EDIT), EXEC and BLOB are placed in a folder in the search path.

 

I was playing with GDM2K this afternoon and found that renaming QDE to EDIT was not such a nice idea because I also have the EDIT program (from Peter Muys) in the same folder. What I would really like for these kind of programs is something like a INI or CFG file.

Unfortunately the path and program name of GDM2K is not to be found in the task data (>0000 to >03FF RAM area). Another idea is to place these things in the beginning of the first file of GDM2K, so that a sector editor can be used to configure the external tools or maybe a fixed directory (like E:\CFG\) for storing configuration files (like E:\CFG\GDM2K_CFG) or ....

 

Any other ideas are welcome.

 

Enjoy for now and be carefull ... keep a copy of GDM2K v2.4

 

Gdm2k_V35.zip

Edited by F.G. Kaal
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

It is going to be a few days or more before I can test your updates as my wife recovers from her back surgery.

 

There is a way to store your settings.  I think the util XOP's will parse a filename to the path where the initial program (GDM2K) was loaded.  I need to do some double checking, but MyTerm I think accomplishes this.   If it does, you can do one of two things.  Have a separate "ini" file, or have a self modifying version of GDM2K.  MyTerm does the self modification by having those particular buffers in the >0400 to >1FFF range, then saving that updated buffer settings as a file with the DSR XOP Save command.  Just make sure to include the header bytes to the filename.

 

With GDM2K written in "C", I am not exactly sure how to code the self modifying code.  

 

If you want to test the parse filename, setup the PAB to something with a filename of GDM2K-INI.  Then, run the UTIL XOP (Opcode >08) that parses the filename with the full device name.

 

You can test to see if this gives the desired path where GDM2K was loaded from by printing the full filename string after parsing as a quick test before spending too much additional time coding.

 

Beery

 

 

 

  • Like 1
Link to comment
Share on other sites

49 minutes ago, F.G. Kaal said:

 

Any other ideas are welcome.

 

 

Or maybe GDM2K calls, instead of "EDIT",  just a file named "EDITGDMbla",

and the user just has to >>copy<< his EDIT or QDE or whatever to this file/name ?

(And if the latter has not be done, just tell this on the screen ;) )

 

So maybe this will cause no limitation or collision with anything

 

 

  • Like 3
Link to comment
Share on other sites

@Schmitzi 's approach seems simple. :) 

 

I think you could also set up a batch file such as "GDM2KBAT" that calls GDM2K.  First variable passed is the desired editor.  %1 would then pass a starting path that comes from invoking the batch file.   

 

GDM2K EDIT %1

GDM2K QDE %1

 

Edit: Another option is that you could pass the location of a parameter file for GDM2K to read and parse.

 

  • Like 3
Link to comment
Share on other sites

16 hours ago, InsaneMultitasker said:

@Schmitzi 's approach seems simple. :) 

 

I think you could also set up a batch file such as "GDM2KBAT" that calls GDM2K.  First variable passed is the desired editor.  %1 would then pass a starting path that comes from invoking the batch file.   

 

GDM2K EDIT %1

GDM2K QDE %1

 

Edit: Another option is that you could pass the location of a parameter file for GDM2K to read and parse.

 

Using batch files is also a nice idea. Maybe passing the ini file as first arguments witch defines the editor and blober (unarker ;-) )

I also keep this in mind.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Fred,

 

My wife is back home following her hospital/rehab stay, and finally had time this weekend to test out GDM2K.  Looking good with your additions.  

 

I did look at some code I had to see if it remembered the path from where the program loaded, and it did not do what I thought it would do.  I did find a way to "resolve" the config file issue.

 

In my path, I have a folder containing DV80 files that launch the program.  One can create a batch file that changes to the device, then changes to the necessary folder to call the program, before actually calling the program.

 

As an example, one can have a batch file called GDM2K that is called in the PATH command, prior to finding the folder where the actual program may be located.

 

DV80 Filename "GDM2K"

 

E:

CD \

CD MDOS

GDM2K

 

Something like this would launch GDM2K, then one can use the Parse Filename in the UTIL XOP, Opcode >08 to call your config file.

 

Beery

 

  • Like 1
Link to comment
Share on other sites

9 hours ago, 9640News said:

As an example, one can have a batch file called GDM2K that is called in the PATH command, prior to finding the folder where the actual program may be located.

Thanks Beery, I have allready solved my problem differently but this is a nice trick to remember. 🙂

 

  • Like 1
Link to comment
Share on other sites

Hi everybody,

 

Happy new year! 

and .... here is GDM2K V3.6

 

Added a call to TIAV2 (command V) voor viewing TI-Artist and My-art pictures.

 

GDM2K is using EXEC, EDIT, BLOB and TIAV2.

 

The default utilities can be overridden by another MDOS program that you like better.
Just start GDM2K as normal but add an extra argument on the command line that starts with a '@' character followed by the names of the desired utilities seperated by ';' characters, i.e.:
            @EDIT;BLOB;TIAV2  is the default in this order.
        or
            @QDE or @QDE;;       for only replacing the editor EDIT by QDE
        or
            @;UNARK or @;UNARK;  for only replacing the archive program BLOB by i.e. UNARK
        or
            @;;GIFV              for only replacing the viewer TIAV2 by i.e. GIFV
        or
            @QDE;UNARK           for replacing the editor and archive program ... etc.
            
It is assumed that the utility EXEC will never change and never need to be overridden.

It is recommended to create a batch file for starting GDM2K with this special command line argument and place this batch file in a folder which is part of your search path.
        
Content of batch file could be for example:
            GDM2K %1 %2 @QDE;;
 

 

I try to keep the size of the program under 32Kb.

I have allready updated my linker L99 to make it possible to create larger segments then 8KB. The max size of a segment seems to be >3F00 for MDOS (I'm not sure about this I see different sizes for MDOS program segments).

 

Also updated my assembler XA99. There was a problem using an instruction defined by DXOP but the definition was to late so that in pass 1 of the assembler the instruction was undefined and had a size of two bytes but in pass 2 of the assembler the instruction was defined and had a size of two bytes. The result was that all labels defined after the use of this XOP where of by two bytes. This took me two afternoons to investigate. Checked the original assembler (ED/AS) for this and this assembler issued an undefined opcode error in pass 2 for this case. I added this to my assembler XA99 and also added a check for the label addresses of pass 1 and pass 2.

 

Another problem I encountered was with the C99C compiler after changing a temporary filebuffer from char Filbuf[300]; to char *Filbuf; and placed this buffer in the data area I required using malloc() which is used for all kinds of stuff. Then problems started, most functions still worked and some functions failed (like viewing files with commands T and B) and GDM2K just ended. This also took some time. I found that I used that buffer name 'Filbuf' (correct) also as 'filbuf' (incorrect). This was no problem when that Filbuf was still an array but after changing Filbuf to a pointer the code that used the name 'filbuf' was still treating that variable as it was an array (LI R8,FILBUF instead of MOV @FILBUF,R8). This is because C99C is a one pass compiler and treats all undefined variables as a global or function name but also using case sensitive names while compiling but using uppercase when the code is generated. I am going to do some experiment to convert all global names to uppercase just to make sure that always the same variable and variable type is used.

 

 

Fred 🙂

 

Gdm2k_V36.zip

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

  • 2 months later...

Fred, @F.G. Kaal

 

I am not sure, but I think I found a bug in GDM2K.  I have a suspicion it is related to the 40 character path/filename length following the copy of a file.  

 

I am copying files from HDS1.MDM-SRC.MODULES.MCR.(files, some 10 characters in length) to TIP1.E1.MDM-SRC.MODULES.MCR.(files).

 

Files appear to copy, however when source directory is reread, there is a lockup and there are no keys that will respond.  I get something like the following in the display:

 

Rddr: HDS1.MDM-SRC.MODULES.                               T

                                                                                PORT

 

The "T" standing by itself is the last character of the last file copied and the line below, "PORT" is part of the last filename (CR-SUPPORT) that was copied.

 

I think the "T" and "PORT" are just cosmetic issues.  The lockup is the real problem.

 

What I was doing was backing up my HDS1 drive (E:\) to the TIPI drive with TIP1.E1. (where E1 is a separate directory containing all the contents of the HDS1 drive). 

 

The tipi.log file shows no indication of an error and Directory Manager doesn't give an error copying the file.

 

This is a copy of the files at TIP1.E1. of the MDM-SRC I am copying. 


Beery

 

 

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
On 3/27/2023 at 10:37 PM, 9640News said:

Files appear to copy, however when source directory is reread, there is a lockup and there are no keys that will respond.  I get something like the following in the display:

 

Rddr: HDS1.MDM-SRC.MODULES.                               T

                                                                                PORT

Hi Beery,

 

If I understand this correctly; After the whole caboodle has been copied the lockup happens when re-reading the source.

Correct?

 

Seems that something got overwritten. I will dive into the code and hope to find something.

  • Like 3
Link to comment
Share on other sites

7 hours ago, F.G. Kaal said:

Hi Beery,

 

If I understand this correctly; After the whole caboodle has been copied the lockup happens when re-reading the source.

Correct?

 

Seems that something got overwritten. I will dive into the code and hope to find something.

It occurs during the copy process before everything is copied. 

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