Jump to content
IGNORED

Geneve OS development discussion


Recommended Posts

8 hours ago, GDMike said:

Hmm. I can't recite, memorize but I gotta computer to do it for me, and it's going to have to work. Lol

OK, if you can't recite it, perhaps you need some help.  We will be contacting you shortly for your re-education and rehabilitation internment!

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

I went through my binder labeled MDOS programming (contents of):

      GenProg Manual

      TASM Manual.

      Some notes from Genie

      An Email from Tim on how to compile MDOS (both floppy and H versions!)

      MDOS-IPC v1.0

      A reminder to read the MDOS History File.

      A copy of the 9938 manual.

      Discussion of the hole in MDOS called External DSR Support ?

Sadly, no notes from Beery, though I know I attended his MDOS programming class.

 

  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...

Tracked down a few more problems with the OS this weekend. As a result, the 'max open file' problem is resolved. 

 

I created a new GPLREADME file in preparation for the OS release.  I shifted  the focus to more of an explanation/guide and consolidated/moved the release notes to the end.

 

Spelling and/or grammar aside, I appreciate any content suggestions you might have.  Version and release date are subject to change.

 



File:       GPLREADME
Program:    GPL/TIMODE Interpreter for Geneve OS(MDOS) 2.0 and above
Version:    7.22 compiled 28 Feb 2021
Copyright:  (c)1996,2021 by 9640*News and Contributors
=====================================================================


GPL is a TIMODE (/4a) interpreter that allows the Geneve user to emulate
most functionality of the /4A.  This includes using 'dumped' cartridge
files (in GRAM Kracker format) and most existing /4a software


LIMITATIONS:
------------
GPL does not and cannot replace special TI cartridges such as the FinalROM,
FinalGROM, UberGROM, Superspace II.  Some device functionality requires a
mode called 'rompage' that exposes the peripheral expansion bus to the
Geneve. Hardware that can make use of this mode includes the Myarc HFDC,
WHT SCSI, IDE card, TIPI card, SIDBlaster, and the MBP II.


Programs that require direct scan of the /4a keyboard will not function as
there is no mechanism to emulate the 9901 direct scan process.



PREPARATION:
------------
To use this update, you must first copy the program "GPL" over your
existing file. Files GPM, GPN, GPO, GPP,etc contain the /4a ROM and GROMs
for your particular configuration and are not included in this release (though
they may be included as an optional add-on pack at a later time)


There are three typical variants of the GPM,N,O,P setup:
       1. Myarc ROM  - displays a modified TI title screen
       2. Standard /4a ROM - patched by GPL, this is the st
       3. 80 column menu - the BASIC GROMs are replaced with a menu


USAGE:
=======
GPL can only be run via the Geneve OS command line or batch file.


To invoke GPL, one must first tell the OS to enable the TI mode interpreter
This is done with a batch file and one of the following commands:


       TIMODE   - Compatible with all OS versions; reserves the most memory
                  and is a necessity to run MyWord.
       TIMODE2  - Secondary mode in MDOS 7.xx and above; does not reserve
                  the extra 64K required for MyWord. Suitable for most
                  users


This command may be placed in your AUTOEXEC file to be run at startup or
more commonly, in its own batch file that you execute with the prefix "&"


Create a DV80 file called TI2:
       TIMODE2
       A:GPL


Execute from the command line:
       &TI2


The above will perform a warm restart, execute batch file TI2, which will
then enable TI Mode and launch GPL from A:


You may also start a cartridge by appending the cartridge filename after
the GPL program name as follows:


       GPL A:XB          Would load GPL which in turn would load and start XB

Starting a cartridge in this manner bypasses the GPL Title Screen and its
options.  To return to the GPL title screen, press SHIFT-SHIFT-CTRL.



================
GPL TITLE SCREEN
================


Once loaded (provided you did not auto-start a cartridge) you will be
presented with the GPL title screen.  Version and copyright information, as
well as some configuration options are available


1. Load a cartridge
Type the path and filename of a cartridge you wish to load. TI and Geneve OS
style paths are acceptable. The interpreter will show the load process and
inform you of an incorrect/unsupported file.


2. Protect/Unprotect 6000 and 7000 memory banks.
F1 and F2 allow you to protect and unprotect the simulated ROM/RAM at 6000/7000


3. Clear cartridge space
F3 allows you to reset the memory in preparation for loading another cartridge


4. GPL Speed
The GPL interpreter runs at Geneve speed, 5, which is faster than the TI. You
can slow down the interpreter by selecting speeds 1,2,3,4,5. The effect is
not linear and depends on where programs load and how they operate.  Speed 5
is usually acceptable (and desired) however, games and programs that rely
upon timed loops often need to be slowed down.


5. GPL with ROMPAGE
Certain programs utilize features of peripheral cards that are not emulated
by the Geneve. This is mostly limited to "level 2" device routines, such as
used by Terminal Emulators and Disk Management Software


Using this option will allow you to access some peripherals as if they were
in a TI system.  GPL Speed sometimes needs to be reduced and some peripherals
will not work properly (TI Floppy controller, CorComp Floppy Controller) at
any speeds.


Some examples of software that might benefit from ROMPAGE:

  -- TIPI programs such as Telnet and TIPICFG must be run with ROMPAGE
  -- Hard drive device disk management software like DM2K, DU2K, MDM5
  -- Terminal Emulator upload/download functionality for hard drive devices
  -- Spell-It
  -- Programs requiring level 2 routines (>2x, >8x, >9X) for scsi/ide/tipi/etc


NOTE: The rompage function is in effect until you return to the GPL Title
      Screen with the special "shift-shift-ctrl" key combination. Once
      you return to this screen, rompage is disabled unless you select the
      option again.


6. HFDC DSK1 Emulation
The Myarc HFDC can emulate DSK1 via the hard drive DSK/DSK1 folder and via
the special EMULATE file. See the HFDC manual for more details.  The DSK1
emulate file may be REMAPped to devices 1-9, per the OS command



ENHANCEMENT LOG:
---------------


V7.22  28 February 2021
       - Added TIMODE to the title for continuity
       - Removed unsupported Winchester Personality code
       - Corrected the DSR powerup routines; master DSR is restored properly
         whenever the GPL title screen is invoked
       - Geneve mode maximum open file count is restored to 10 (from 3) upon
         exit to the OS. This only works with Geneve OS 7.xx and higher
       - GPL Title screen foreground/background colors now follow from the
         command prompt whenever started from 40 or 80 column TEXT modes.
       - Cleaned up GPLREADME
       - Identified future changes and items to review


V6.5   November 2002
       - Version number update only


V6.0   16 May 1998
       - Version number update only


V5.0   30 June 1996
       - DSK1 emulation is not F6 to make room for rompage
       - Added ROMPAGE option F5 for access to level 2/WDSx devices


N/A    1994-1996
       Programmers note:  The mapper page for GPL task page zero is stored
       at location >8100.  This was done to facilitate paging to Geneve
       mode for certain applications, such as the S&T BBS Geneve version of
       assembly which uses the master DSR for all file access.
       If you would like to learn how to do this please contact me for more
       information. This modification is also present in the GPL Cheater
       program.


V2.2   31 October 1994 <Halloween>
       - Copyright adjusted and updated to reflect 9640*News and Contributors
       - Added DSK1 emulation option F5
       - Updated keyscan per Jeff White's MDOS modifications
         (Note: also updated EXEC 2.11 with same routines)


V2.0   01 March 1994
       - Added ESCAPE key to exit from GPL to MDOS. Prior implementations
         only allowed for ctrl-alt-del, which had the habit of resetting the OS
       - Joystick line reversal corrected (Note: EXEC also updated)
       - Fire buttons are now independently processed
         GPL status bye was not being properly set/reset; Barrage and Tennis
         among programs that now work properly. Resolved issues with "missed"
         fire button activity.



V?.?   15 January 1994
       - Unified release for all MDOS versions
       - Enhanced GPL powerup routines
       - Clear/set V9938 registers to minimize problems with /4a programs
         that didn't "know" about registers beyond VR07. GPL now sets
         the color, sprite, and blink attribute registers


** End of file 28-Feb-2021


 

  • Like 4
Link to comment
Share on other sites

I should add there is another good example of code you can learn from that covers most everything with the Geneve.

 

Find a copy of the MDOS source code, and look at the CLI\HCLIS source file.  That is the beginning file for the command line interpreter in MDOS  Everything in that folder is part of the Command Line Interpreter, so it pretty much covers everything.

 

I went through and found this source file that has some very basic routines, but it shows how to start setting up memory and uses some screen printing routines from the video XOP.

BOXES

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

Update 2/28:
This covers two weeks due to the winter storms.  @BeeryMiller if I missed anything that we worked on the past 2 weeks, please add at your convenience.

 

1. Added boot flag code [cli.hclis] for IDE and SCSI devices
2. Added TIPI telnet command support [cli.hclis, cli.cmdstks, cli.newcmds]
3. Corrections and code cleanup in sector IO and powerup routines [l8 folder, multiple files including OPEN&LS2, SYSRTN-P, DSRPASS-S, HDR1-P2, HDR2-P2, SECT3-P]
4. Added 3rd powerup option to reset OS maximum file count from 3 to 10 upon exiting GPL. [HDR1-p2, HDR2-p2] .  EXEC will also require a change.  Tested fix with ABASIC.
5. See ABASIC topic for changes/updates/releases
6. GPL updates [TASK78S, KEYS] as documented in prior post.
7. Version command no longer clears screen
8. REMAP command rework; devices 5-9 are now persistent after warm boot[DSRPASS-S]. Devices 1-4 are configured for a valid floppy disk controller unless CYA overrides the detection. Stub added for later TIPI remap if TIPI PEB device is at CRU >1100. 
9. Removed REMAP and SCSMAP responses; routines no longer echo in batch files [CLI.NEWCMDS]
10. Fixed incorrect error trap/return [L8.SYSRTN] at BADOP4, replaced with new label. Old bug!
11. Adjusted remap table for format command [L8.FORMAT-P3], fixed format table, errors now reported for improperly attempting to format pfm, ramdisk.
12. Corrected CYA override [DSRPASS-s:WINPRT]; routine was only active if an HFDC was found in the system; now works with all devices.
13. Some headway made on adapting CFG routines for use with Geneve ramdisk formatter.
14. Bug: Internal ramdisk is not always initialized when re-created after TIMODE batch file. 
15. Research: [DSRPASS-S] heavily AORG'd with no boundary protection. Review for code overlap/data corruption.
16. Research: Geneve mode DSR powerup is not flexible enough to be called upon exit from GPL.  There are some inconsistencies between it and the /4a mode powerup [HDR2-P2]. 

17. 
 

  • Like 6
Link to comment
Share on other sites

1 hour ago, mizapf said:

The SIDBLASTER is officially named "SID Master 99", according to its manual. (Or is it something else?)

Perhaps.  I have documentation referring to it as SID Blaster from when Marc, Ernie, and I worked on software development. I suppose the name changed at some point.    @Ksarul?

Link to comment
Share on other sites

When I wrote the emulation I also heard of SID Blaster, but after some research I found a piece of hardware of that name that is intended to connect a SID chip via USB to a PC (https://github.com/stg/SIDBlaster-USB).

 

So I thought this was an unintended mix up of names and took the name "SID master 99" for the emulation in MAME. I hope I don't have to rename it again.

  • Like 2
Link to comment
Share on other sites

33 minutes ago, mizapf said:

When I wrote the emulation I also heard of SID Blaster, but after some research I found a piece of hardware of that name that is intended to connect a SID chip via USB to a PC (https://github.com/stg/SIDBlaster-USB).

 

So I thought this was an unintended mix up of names and took the name "SID master 99" for the emulation in MAME. I hope I don't have to rename it again.

I thought SID Master 99 was the software, while the card was originally labeled SID Blaster. It's been a while since I looked at @Opry99er's card, so I might be wrong. The other software was MIDI Master.

 

Also, in the 90s, Creative Labs was ready to sue anybody who made a '*Blaster' and I think they registered 37 variations as trademarks.

 

  • Like 1
Link to comment
Share on other sites

59 minutes ago, mizapf said:

When I wrote the emulation I also heard of SID Blaster, but after some research I found a piece of hardware of that name that is intended to connect a SID chip via USB to a PC (https://github.com/stg/SIDBlaster-USB).

 

So I thought this was an unintended mix up of names and took the name "SID master 99" for the emulation in MAME. I hope I don't have to rename it again.

You are both correct on this. Marc originally called it the SID Blaster (and I actually included that name on the original layout I did for him). He changed the name to SID Master 99 before he had the first lot of boards fabricated, though. It has been SID Master 99 ever since (and I should have a new run of the boards in hand within a few weeks, along with some more PEB Extenders, as I am just waiting for the fab to finish them and send them my way).

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

28 minutes ago, Ksarul said:

You are both correct on this. Marc originally called it the SID Blaster (and I actually included that name on the original layout I did for him). He changed the name to SID Master 99 before he had the first lot of boards fabricated, though. It has been SID Master 99 ever since (and I should have a new run of the boards in hand within a few weeks, along with some more PEB Extenders, as I am just waiting for the fab to finish them and send them my way).

Can you provide a video of the hardware/software in action to understand capability?  I'm not too familiar with the hardware.

 

Beery

  • Like 1
Link to comment
Share on other sites

1 hour ago, Ksarul said:

You are both correct on this. Marc originally called it the SID Blaster (and I actually included that name on the original layout I did for him). He changed the name to SID Master 99 before he had the first lot of boards fabricated, though. It has been SID Master 99 ever since (and I should have a new run of the boards in hand within a few weeks, along with some more PEB Extenders, as I am just waiting for the fab to finish them and send them my way).

Whew.  :)  I thought my board said 'SID Blaster', maybe it was an early run.  I don't have the card any longer.

For Geneve reference I am fairly certain that the player maps >BA into the >4000 space mapper address at the start of the program.  Then for both the TI and Geneve, the IO routine scans for WDS, IDE, and SCS devices to cache an appropriate entry point.  I don't recall how (or if?) this is documented in the user guide.  I have the source if changes are needed in the future.

  • Like 5
Link to comment
Share on other sites

10 hours ago, 9640News said:

Can you provide a video of the hardware/software in action to understand capability?  I'm not too familiar with the hardware.

The SID Master 99 is available in MAME since 0.225 if you want to test it (device "sidmaster").

  • Like 4
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...