01 November 1988

The content below is simply a reformatting of text as published decades ago by 9640 NEWS. The opinions and views expressed are not my (Jedimatt42) own. The content is published here to preserve and make accessible the technical data contained within.

Taken from the disk distributions archived at http://ftp.whtech.com/Geneve/9640 News disks v1-3/pc99 disks/


Well, the first edition of "9640 News" is now finally available with quite a bit of space taken. I thought I was going to have to exceed 720 sectors, but I managed to get it in just barely using Barry Boone's Archiver V 3.02. For those of you not using an Archiver, ARC1, will separate the INT/FIX 128 files into multiple files for your enjoyment under the extraction option. If everyone would first extract SYSTEM/111, you will quickly discover a later release of MDOS!!!! Yep, that is right, V1.14 of MDOS so please enjoy and remember you found it here first. The files on the disk are as follows:

C Filename    Size   Type    Length P    Notes
- ----------  ------ ------- ------ -    -------------------------------------
  -README         16 DIS/VAR     80      This file you are reading
  AUTOEXEC         2 DIS/VAR     80      Autoexec Batch file for MDOS
  80COLGPL-A      27 INT/FIX    128      80 Col GPL Notes by Mike Dodd
  ARC1            33 PROGRAM   8192      Archiver from GPL for extraction
  COLUMN-ARK      19 INT/FIX    128      Column permitting diff size windows
  EA/ENHANCE     130 INT/FIX    128      E/A enhancements for GPL Mode
  GBASE-ARK       64 INT/FIX    128      GBase - Simple Data Base for MDOS
  LABEL-ARK       27 INT/FIX    128      LABEL - Program and contest for MDOS
  NEWS-ARK        72 INT/FIX    128      NEWS - Latest info around the world
  SCRN32-ARK       7 INT/FIX    128      SCREEN32 - Drop into 32 columns
  SYSTEM/114     277 INT/FIX    128      MDOS Version 1.11
  XHICAT-ARK      32 INT/FIX    128      EXB 80 column hard and floppy catalog
- ----------  ------ ------- ------ -    -----------------  ------------------

I hope everyone will enjoy these utilities and the News and more will come as time passes by. A final note and apology. I originally had intended for this to be released several months ago, but since MDOS changes did not allow various c99 programs to run, I felt it was in the interest of the subscriber to wait until a stable or working version of MDOS appeared. While MDOS V1.14 has never been officially released from Myarc, I am not taking any responsibility for it's use here, but I will say that I am glad the GRAPELINE connection still survives!!!!

Everyone have a Merry Christmas and a Happy New Year's from the Miller Family!


Welcome to

"9640 News"

Vol. 1 Num 1


This is the first issue of "9640 News" and I would like to thank everyone for subscribing to this disk magazine. To begin with, I would like to set the stage where I want this magazine to go. My anticipation for this magazine would to contain all relevant information in a complete package for the Geneve. I do not have any intentions of using this magazine to distribute already released software, however, with this issue, I will provide a information regarding acquiring 9640 software and where it can be found.

To begin with on this disk, is the first release of G-Base. This is the first release of any data base program utilizing 80 columns and graphics modes. I must admit this is my first attempt at ANY c99 program and developed from playing with various MDOS assembly language routines. I will also say that this data base at the present is missing sort and search features, but has the ability to input, view, and print records. As this program is written in c99 and currently uses MDOS XOP routines to write to the screen and disk, speed has not been optimized and will probably not be optimized until we see the final operating system for Clint Pulley to rewrite various routines to speed things up. If this bug is corrected, G-Base will run.

With the release of MDOS V1.06 and higher, c99 acquired a problem again with the locate function. With the release of Clint Pulley's LDR program, an update to the CSUP file was provided again permitting more programming to be done with GBase. At the present, GBase will run with V1.06, V1.08, and V1.11 and V1.14 which is included for the first time anywhere (Remember you saw it here first).

As many people know, a magazine can not exist without input from it's readers. As this magazine has a somewhat limited audience, input from users can enhance the usefullnes of this newsletter. Therefore, I am opening up a question and answer area where I and others will try to answer questions that users have. If you have problems, unsure about how various software runs, want to know where you can obtain help, write to me and if I do not know the answer, I will try to find it out and publish it here for everyone to learn. In addition, if you are a Geneve programmer, whether it be in c99, MDOS assembly language, a future pascal program, advanced basic, or even Forth applications for the 9640, please pass them in this direction as if they are released thru "9640 News" first, you will be rewarded for your efforts. In addition, editorials are welcome as long as you give permission for any article submitted to be edited for clarity, or disk space. Just remember, the program or article must be on disk and must rely on features that the 9640 has and the 4A does not have whether it be 80 columns or extra memory applications. If you have written such applications or an editorial, my address is:

Beery W. Miller
5455 Marina Cove #1
Memphis, TN 38115


MDOS V1.01

Many people on Genie, Compuserve, and Delphi probably know of these functions, but to make sure everyone is aware, there are three known hidden features in the software released thus far by Myarc. From the MDOS prompt, one can type "DIR JP:" (do not type the quotes) and get an interesting graphics picture, or they can type XYZZY (I personally found this feature) and get some feedback as a message. From within My-Word, is another feature that has not and I mean NOT have any use at present. Typing R for Reminder will prompt for a date which perhaps one day will interface with Remind-Me and provide a calendar of events. However as J. Peter Hoddie has mentioned, it has no use at the present. Another command that I found was RSBUG in the SYSTEM/SYS file. It was later learned from a user in Italy, that this is an advanced debugger for the 9640 residing in the current EPROM that while the program is being run, all input/output is not thru the keyboard, but thru RS232/2 at 9600 baud. This was apparently a program for debugging software while it was being written. As later issues of MDOS have evolved since I originally wrote portions of this, the above commands that were hidden were only available with MDOS V1.01. In Versions 1.06, 1.08 (1.09?), the RSBUG and the R for Reminder feature appear to be as they were before.

MDOS V1.06 - V1.08

With the release of V1.06 and V1.08 to support the HDCC, a few new features were also provided. Filename extensions have been added such that you can obtain a DIR of whatever filetype you wish. Such as:

            DIR `DV        Directory of all Display/Variable  files
            DIR `DF        Directory of all Display/Fixed     files
            DIR `P         Directory of all Program           files
            DIR `IV        Directory of all Internal/Variable files
            DIR `IF        Directory of all Internal/Fixed    files
            DIR `DF128     Directory of all Display/Fixed 128 files

Also available was the TIMODE and SPOOL Function and the RAMDISK (max 120K for Ramdisk) and the beginnings of a page up/down view from the MDOS screen. Also available was a PRINT SCREEN hotkey that was activated.

MDOS V1.11

With the release of MDOS V1.11, only one noticeable feature is immediately available to be seen. That is the ability to page up/down much faster from MDOS. More bugs have been removed from MDOS allowing more programming capability, however, that is not immediately available to the Basic language programmer.

MDOS V1.14

With the release of MDOS V1.14, a little more flexibility has been granted with the HDCC. A few more COPY directives seem to work. In addition, the Pg Up and Pg Dn keys are even faster than before. One noticeable problem that I have detected is with the assembly XOP routine (>10) in the video library that appears not to function as before. (I have not currently figured out how to to overcome this problem as of yet, so therefore GBase is slightly less than spectacular under MDOS 1.14 than 1.11 or earlier). While the HDCC commands are not available in this version, a special HDCC version should exist in the near future.

I also discovered a new feature [I have been told it existed before 1.14] which is the redirect command. Try typing: DIR > PRN (if you have a printer connected)


What does not work? Well, as most users have already discovered, many things do not work. To begin with, BYE from Basic V 2.11 does not exit properly. Solution, use CTRL-CTRL-SHIFT. A few other things that do not work is the TIMODE and the SPOOLER function when going from MDOS into GPL mode. As is mentioned elsewhere in this issue, the TIMODE has been straightened out in later versions of MDOS to provide for carry over in either direction of the RAMDISK partition, and I would imagine that the SPOOLER function has been fixed too as they both involved the same bug error. Another function that is not completely fixed yet is the DATE function since March 1, 1988 that resulted from leap year. This has been corrected with MDOS 1.06 - 1.11 even though there are files in existence that will correct this bug from either MDOS mode or extended basic. What other bugs exist? Really, the only other bugs that still exist are those with MDOS XOP's that relate to programming. With the current version of MDOS, there are few bugs, however, Myarc has claimed recently that most of these bugs relate to the Video library has been fixed so that more progress can be made on Advanced Basic. Other than that, I can not really think of any other existing bug.


Was the 9640 worth it? Well, if you are subscribing to this newsletter, you must think so. If you are not satisfied, let me point several things out and then you can form your own opinion. To begin with, let's talk about what we got that we were not promised. First, we were promised 95% compatability with modules. Do you know what Myarc and it's people are trying to do, get the top ten or twenty to run for us. They already have Plato, Q*Bert, and another one or two completed (info for modifying these are shown elsewhere in this newsletter). Also, everything except for mouse support from the original information has been included in the current version of Basic 2.11 except they took the advice of users and added some additional routines and are trying to convert it to MDOS format. What else have they done? They have modified their Disk Manager III and added numerous features to TI-Writer and it can now be called My-Word. Myarc is also continuing to update and add additional software such as the future DSR package and GPL enhancements and other routines as outside programmers request. Now tell me, How many companies do you know that would go this extra limb. It is true that we have not got all of our software yet, but 98% of us knew that it was not completed and it would be a while before we would see it. Am I glad I have a 9640, YOU can bet your money I am as I have a ramdisk, much faster execution speed, Gram Kracker capabilities, and most importantly, 80 columns.


On the 4th of July, I received a phone call from Jack Riley regarding statements that had been published in our local newsletter and uploaded on Genie. I was rather distressed with the handling of the Myarc Hard Drive Controller Card and deadlines being broken. I had felt the TI community was being jerked around and deserved better. I think that now a lot of bitterness has been straightened out within Myarc and employees, and a better approach to market strategy has been started.

As mentioned before, the main topic was the HDCC. Jack Riley mentioned that in May of 1987, Myarc had planned on shipping the HDCC with the disk manager that was available with the Myarc Personality card they produced. Having seen the disk manager, I can comment that any disk manager such as MDMV is better than any previous disk manager for the personality card. While the main reason has been for enhanced support of the 9640 and not the TI 99/4A, the wait the user has endured will be worth it.

Many people currently wonder when the promised software will arrive. Lou Phillips recently commented on a conference on CIS that the Pascal run time system is being beta tested on the 9640 as it depends little on MDOS routines. Lou was quoted as saying it had been running on the 9640 for over a month and occasionaly bugs were seen that were being resolved. Regarding the final version of MDOS, V 1.10 has been provided by Paul Charlton to Myarc, although it has been commented that this will not be the final version.

As can be seen, 9640 News has provided V1.11 of MDOS and it has been rumored of V1.12 and V1.14 being tested. When will these be seen by the Geneve user is yet to be known as V1.11 took nearly three months to surface before being available to anyone.

Advanced Basic will follow the final version of MDOS by several weeks minimum as Adv. Basic requires a lot of dependence upon MDOS routines. If you have looked at MDOS in any detail, one can easily understand the reasons. The latest word on Adv Basic was that it was shown running from MDOS in Washington although it was not complete. When we see it????? I have no idea at the moment.

As of the Chicago fair (I did not attend and had to rely on comments from those that did make the trip), MDOS V1.14 was shown and Advanced Basic was shown not running (It was said to be downloaded that morning before the fair). If Adv. Basic had been running before, I would surely have brought a version separate to make sure I had something to demonstrate.

Another file that will appear, although it is not known if it will be provided free, freeware, etc, will be external support for user loadable DSR's. This means you can load in modified EPROMS by software instead of burning new EPROMS for chips and will promote new features to existing hardware. Perhaps we will see an internal modem with the John Willforth Protype Card where the modem resides on the card, and the necessary eprom patches are made to interface it with the RS232 card or another devicename. The implications of such a program is monstrous and will probably not be fully recognized until someone like John Johnson, Clint Pulley, Paul Charlton, Peter Hoddie, or perhaps Barry Boone comes up with some new and fascinating software as each has already done.

J. Peter Hoddie had originally made mention he was writing the DSR program, however with a conversation with Lou Phillips, he made note that he was going to have to write the program as Peter found it too difficult with what information is available on the system.


A few files have appeared on Genie (these will be commented elsewhere on the disk) that have implemented 4A patches for MDOS routines. For example, the patches for BL @VMBW, @VSBW, and various other VDP routines have already been implemented. I believe the entire range of existing 4A routines are available in MDOS such as DSRLNK, KSCAN, GPLLNK (perhaps not this routine) as one wonders how My-Art was written. I looked at My-Art with a sector editor and it appears from inline source comments that Paul Charlton provided the links necessary and the rest of the My-Art file was straight 4A code. If Myarc would release the source code necessary for the links, great strides could be made in new software for the 9640.


MY-ART has been updated and I have seen V1.40 running. At present, the only observable difference I have seen has been that it can be loaded from a subdirectory of the HDCC. Any other enhancements I have not seen as I am not a MY-ART user or mouse possessor.


MY-WORD has been updated to V1.20 and the only difference that has been made is with HDCC support. This version is being released with the HDCC and permits a SP command for setting the path for a subdirectory to store the file. Also, a catalog can be obtained of any subdirectory from the HDCC.


MDM5 is now at V1.27 with several new features from V1.21 that was originally distributed. It is supposed to resolve many of the problems associated with various hard drives such as head step, interlace, pre-compensation time, etc. One feature I have found discouraging with it has been during a hard drive backup procedure. Many times while backing a hard drive up, if a single floppy has a bad sector write, the backup procedure stops immediately. If you have backed 7 megs of a 10 meg drive or 19 megs of a 20 meg drive, you must start all over again. I HATE THIS!!!!! That is why I do a normal file copy and back each subdirectory independently.

In addition, the EMULATE function and floppy support for the HDCC has not been implemented and will rely on an update to MDOS to handle these features. So for the time being, you must use another controller card.


A detailed software review of this incredible utility can be found elsewhere on 9640 News. This is a disk from Disk Only Software (DOS) that every non-HDCC user should have. This program allows for rapid booting of MDOS. HYPER-COPY

Hyper-Copy by Mike Dodd is to the Geneve what Rapid Copy is to the TI 99/4A. This fascinating program run under MDOS provides for the fastest copy time available for any TI-Format disk. The longest time for any format and copy procedure is 55 seconds. Hyper-Copy provides for a skew with my understanding allows for somewhat random sector location that permits the controller card to read even quicker as it is not random to it, but seemingly only random to the novice. With Hyper-Copy, even the loading of MDOS and GPL can be increased. I would highly recommend purchasing this disk from your dealer. With the disk, you will obtain three versions of the program for each of the 3 controller cards available. Hyper-Copy provides for default settings to be set up and saved along with multiple copying from memory to either ramdisk or floppy. This will be how "9640 News" will be copied and sent to everyone. Perhaps you will even notice a quicker load time for MDOS if you are observant.


Yes, DISkASSEMBLER is now available under MDOS for the Geneve. As the 4A version was my favorite utility, this is sure to be on my Christmas list. Conversations with a user of the program have provided information suggesting the program can load assembly programs up to 64K in length for disassembly along with memory disassembly appear to be fascinating. This could perhaps be the tool that will allow an outsider to modify internally various memory pages to allow different DSR access(???), etc. This is a definite programmers utility that all programmers need. Program is by Tom Freeman.


Classified advertisements are free of charge for subscribers for the first 3 sectors and may be purchased at the rate $1.00 per sector less the header sector for uncompressed DV 80 files. Software companies and advertisers may purchase advertisements at the rate of $1.00 per sector of uncompressed text. The editor reserves the right to compress the CLASSIFIEDS if additional disk space is required.

Companies/People, etc wishing a program to be reviewed may submit a review copy of any program for the 9640 at no cost.

            Advertiser             Items for Sale                     Price
            ----------             --------------                     ------
            Beery W. Miller        Terminal Emulator II module        $ 6.00
            5455 Marina Cove #1    TI Writer Disk and Module          $10.00
            Memphis, TN 38115      Display Master                     $10.00
                                   4A-Talk                            $10.00
                                   Expanded Graphics Basic by         $20.00
                                   CSGD I                             $15.00
                                   CSGD II                            $10.00
                                   CSGD User disk 1                   $ 5.00
                                   CSGD User disk 2                   $10.00

            Disk Only Software     JUMP Boot
            PO Box 244
            Lorton, VA 22079
            CIS 74405,1207


Within the past several months, the 9640 has experienced a release of numerous MDOS programs. The authors of such programs are encouraged to submit to "9640 News" information regarding where such programs can be obtained, Fairware fees, program function, and any other other useful information.

What is Available

There are many useful programs available. Available for a month now is XHI. This is an extended hi-resolution graphics package from Extended Basic permitting 80 columns, vast screen manipulations, and features that are likely to emulate Adv Basic. One noteworthy feature I like is the ability to create different size characters and use them interchangeably on the screen. With a little help, this could easily become a cut and paste program for the programmer wishing to pursue the task. On this disk is a sample of what the program is capable of doing along with my modifications to the LOAD program enabling 80 column catologing from Drives 1-6 and WDS1, WDS1.DSK., and WDS1.DSK1. I have also included a subdirectory display that is only available for my setup, but one can begin to see what the program can do.

One of the most advanced programmers thus far has to be Clint Pulley. He has provided the majority of the programs available so far using his c99 compiler. He has written an editor, a patch for the Assembler, various file listers and games, a C language compiler, two different Program Image file loader/file creater for MDOS mode, an Object Library Utility for c99 and the list goes on. For those having the opportunity, c99 is the route to go to reach assembly language speed with ease. That has been my choice and is quickly replacing any extended basic programming.

One of the next leading programmers is Al Beard. He has written a file sector editor and a Fractals program that are extremely impressive using his 9640 Fortran program. I would believe that his 9640 Fortran package will be a commercial package when he has the last remaining bugs (if any) and docs written. I have heard rumors of even other programs that he has written or ported over that could eventually challenge the likes of Telco, or Press, but I will not reveal any more information.

A few other programs such as GIF allowing viewing of GIF format pictures has been made available and just recently, Picture Transfer that is an enhanced version of GIF are available. Also available is an MDOS Terminal program (Not-My-Term) and also Not-My-Copy from GPL mode much faster than Rapid Copy but slower than Hyper-Copy.

One last thing I would like to mention has been Al Beard's contributions to MDOS. Al has provided the XOP's that have been made available to allow for MDOS A/L programming so far. Without his help, several of my c99 programs that utilize graphics or video functions would have not been possible.


Several subscribers have written and have made comments regarding new programs in the works. To comment, I will say that there is currently a fully supported FORTH system waiting for documentation and two nearly completed FORTH packages using the standard FORTH. In addition, another person has commented (this is not Al Beard) about completing a Fractal Program although this was before Al released his program. There are a couple of more programs in the works, however I am not at liberty to even discuss what they may be but I will say that the software for the for the 9640 will be flourishing shortly!!!!(yeah!!!)


This section has been devoted for modifications to existing software to make it compatible with the Geneve 9640. As new mods are reported, they can be found here.


                 Search the first file of the saved cartridge for >D800 >8C02
            >0280 >8800 and change to >D800 >8C02 >0280 >8700.

                 Search the files for the two occurrences of >020C >0F00
            and change to >020C >1000.

            Logo II
                 Look in the second file of Logo II for the occurence of >0300
            >000F at these locations (N is sector offset from starting sector
            and all numbers sector numbers are ASCII).  In the locations below
            where >0300 >000F is located, change to >0300 >0002.

            Sector     Byte         Sector    Byte        Sector    Byte
            ------     ----         ------    ----        ------    ----
            N + 17      171         N + 19       9        N + 21       5
            N + 18      115         N + 20     157        N + 21     171


Several programs have been modified that previously did not run on the 9640. Currently, no track copier program works on the 9640 due to the 9640's use of a Master DSR. Those programs that have been modified to run include DiskAssembler, Explorer, TI-Artist, and also PC-Transfer. Programs that are known not to run are usually those with heavy disk protections. They include Advanced Diagnostics, 4A-Talk, Disk Master, Graphx, BitMac, and the Cor Comp Disk Manager.

Since this text file has been under development for some time, track copiers for the 9640 are now available. As mentioned elsewhere, Not-My-Copy and Hyper-Copy are now available and reduce the copying time greater than any 4A program so far.


This suggestion comes from John Johnson and is one of the better suggestions I have seen. John recommends that all programmers have as the first line of any MDOS program, a NOP statement. What this means is that when another program listed below is assembled and run, it will automatically reboot the previous program as no code was destroyed from the original program.


Yes that is right, only a 2 byte program that could reboot any program without reloading it. Sounds simple? Let's hope Paul Charlton will implement this routine or a fascimile from MDOS without even having to load this two byte program.


What about this Protection Scheme Card? Myself, I think it is a bunch of nonsense that will probably never see daylight. When it was first discussed, I feel that perhaps too many people got outright irritated at the mentioning of such a product and got their shorts in a bind. What this does mean if a Protection scheme card is developed is protection for a firm that realizes software piracy does occur and will occur when users must pay $100 plus for software. At the present, the only thing that Myarc has going for them is the GEME package. Their professional word processor will most likely kick the bucket with the release of Charles Earl's PRESS Word Processor and it will be a long time before we see a reason to update My-Art. So what is all the complaining about?? If Myarc does take time to develop such a card, the advanced programmers out their are going to put out more code and create better programs before Myarc can release their own programs. It will be Myarc cutting it's own throat with the development of software that will not be used.


As this magazine comprises the majority of 9640 owners, I would like to maximize the potential of the 9640 owners and would like to get an idea of various software and hardware each subscriber has. Listed below is a detailed questionaire and please answer all questions regarding your 9640 setup. The results of this survey will be published in a future issue. Please mail your questionaire back to me as more interests develops in this magazine, more disk space will be required and I will need to know what your maximum disk format can handle.



            State and Zip Code:

            1) Do you have DS/DD disk format?        Y  or  N
            2) Do you have SS/DD disk format?        Y  or  N
            3) Do you have a Geneve 9640?            Y  or  N
                    a) How many Geneve 9640's?       ________

                       (If you have multiple Geneve's, please take the time to
                        complete a questionaire for each system.)

            (If the answer to 3 was NO, then you do not need to complete the
            rest of this questionaire)

            4) Do you program A/L for MDOS?          Y  or  N
            5) Do you program in c99 for MDOS?       Y  or  N
            6) Do you program in A/L in GPL mode?    Y  or  N
            7) Do you program in pascal?             Y  or  N
            8) Check which controller type you have:
                    a) TI Disk Controller            ________
                    b) Cor Comp Disk Controller      ________
                    c) Myarc Disk Controller         ________
                    d) Myarc Hard Drive Controller   ________
            9) Check which type of additional ramdisk you have:
                    a) Grand Ram
                    b) Myarc Ram Disk  ____128 K
                                       ____256 K
                                       ____512 K
                                       ____1.5 Mb (Not currently released)
                    c) New Horizons Ramdisk
                                       ____ 90 K
                                       ____180 K
                                       ____256 K
                                       ____384 K
                                       ____512 K
                                       ____800 K
                                       ____800 K with Phoenix Mod
                                       ____ (other)  ______ K
                    d) Other (Please specify type and memory space)

                      (If you have multiple ramdisks, please use numbers to
                       identify quantities of each ramdisk.)

            10) How many disk drives do you have: __________
            11) Please specify quantity of each:
                                       ____3.5" drive
                                       ____1.2 Mb drive
                                       ____1.4 Mb drive
            12) Do you have a hard disk drive?       Y  or  N
            13) How many hard disk drives: _________
            14) How many megabytes of hard drive space:___________
            15) Please check below your monitor capabilities:
                                       ____40 column monitor
                                       ____80 column RGB
                                       ____Monochrome monitor
                                       ____Other (Please specify)_______________
            16) Do you have a printer?               Y  or  N
            17) What type of compatibilty does your printer have?
                                       ____Other (Please specify)_______________
            18) Do you have an RS232 card?           Y  or  N
            19) What type of RS232 card:
                                       ____Cor Comp
                                       ____Other (Please specify)_______________
            20) Do you have a modem?                 Y  or  N
            21) What is your maximum modem baud capability?
                                       ____  300 baud
                                       ____ 1200 baud
                                       ____ 2400 baud
                                       ____ 4800 baud
                                       ____ 9600 baud
                                       ____19200 baud
            22) What type of keyboard did you purchase?
                                       ____normal keyboard
                                       ____original enhanced keyboard
                                       ____enhanced keyboard with 12F keys
            23) Do you have a mouse?                 Y  or  N
            24) Do you have a joystick?
            25) Did you purchase My-Art?             Y  or  N
            26) Do you plan on purchasing the
                Myarc Hard Drive Controlelr card?    Y  or  N
            27) Do you support Myarc's future use of
                a protection scheme card?            Y  or  N
            28) Do you plan on purchasing the
                GEME software package from Myarc?    Y  or  N
            29) Do you plan on purchasing the
                Programmers Developers Package?      Y  or  N
            30) Do you plan on purchasing
                My-Pro-Word?                         Y  or  N
            31) Do you plan on purchasing any
                additional software from Myarc       Y  or  N
            32) Are you satisfied with your
                Geneve 9640 at the present?          Y  or  N
            33) Do you subscribe to:
                                             ____Barry Traver's Disk-a-zine
                                             ____9640 News
                                             ____Asgard News
                                             ____User Group Newsletter

            34) Will you purchase Press?             Y  or  N
            35) Will you purchase DISkASSEMBLER?     Y  or  N
            36) Will you purchase Jump Boot ?        Y  or  N
            37) Will you purchase Picture Transfer?  Y  or  N
            38) Will you purchase Hyper Copy?        Y  or  N


80 columns from GPL
Copyright 1988 by Mike Dodd

This morning, Beery Miller called and asked if I would write something on how to set 80 column mode from GPL mode for "9640 News". Since, right at the moment, I don't feel like working on my other projects, I decided that I'd do this.

The 9938 VDP chip has a rather powerful 80 column mode. Few people are aware of its full capabilities. In addition to being able to display 26 1/2 lines of 80 column text (effectively 26 lines, as half a line is rather useless), it has the ability to display text in two color combinations (two foreground/background combinations). It is also capable of automatically blinking text. This blinking is controlled by the VDP chip itself. Thus, the blinking will continue even while interrupts are turned off (e.g. during disk I/O access).

To set 80 columns, VDP register 0 must be set to >04 (40 column mode requires VDP R0 to be set to >00). VDP R1 must be set to >F0 (this is the same as 40 column mode). The only other register difference between 40 and 80 column modes is VDP register 2. VDP R2 is used to set the address of the Screen Image Table (in the 9938 manual, this is referred to as the "pattern name table"). In 40 column mode, VDP R2 is set as follows:

      7   6   5   4   3   2   1   0
      0  A16 A15 A14 A13 A12 A11 A10
      In 80 column mode, it is set as follows:
      7   6   5   4   3   2   1   0
      0  A16 A15 A14 A13 A12  1   1

The SIT usually resides at VDP address >0000. It stores the character numbers of what is being displayed on the screen. For 80 columns by 26 1/2 rows, this table will take up >0870 bytes. When using 26 1/2 rows, space for 27 rows is reserved in VDP. When the last row of characters is displayed, only the first four pixel-rows are displayed, instead of all eight.

The length of the SIT poses a small problem. Traditionally, the Pattern Generator Table (where the bit patterns for the characters are stores) is started at >0800 and continuing to >0FFF for the full range of 256 characters. However, if the SIT starts at >0000 and uses the full 26 1/2 x 80 character screen, the SIT will end at >086F -- thus overlapping the character definitions for characters 0 - 13. If your program only displays ASCII characters (32-127), this will not be a problem. However, programs that require the display of non-ASCII characters will need to move the pattern table.

The best place to move the pattern table to is >1000. It will then reside from >1000 - >17FF, out of the way of everything else. The address if the pattern table is set by VDP register 4. It is set as follows:

      7   6   5   4   3   2   1   0
      0   0  A16 A15 A14 A13 A12 A11

It is set the same way in 40 column mode. To move the table to >1000, you should set VDP R4 to >02.

It is important that your program be able to set 26 1/2 line mode. Interlace on/off can also be easily changed by the program. In general, there should be an easy way for the user to change the interlace or the interlace should be left off, as the majority of monitors are not capable of displaying interlace mode without "jittering". According to Walt Howe, to be able to use interlace without "jittering" the monitor must be "high persistance phosophor".

Both the number of lines and interlace are controlled by VDP R9. It is set as follows (I'm using that phrase a lot, no?):

      7 6 5 4 3 2 1 0
      L 0 x x I x x x

The "x" bit positions should be set to 0. They do have other possible setting, however, they are beyond the scope of this article (suffice to say that I have never set them to anything but 0).

The L bit should be 0 for 192 pixel-rows (24 rows) or 1 for 212 pixel-rows (26 1/2 rows).

The I bit should be 0 for interlace off, 1 for interlace on (simple enough).

Only one thing remains in this discussion of 80 columns (how an article with no prior feedback can be called a "discussion" is beyond me, but everyone else does it, so I might as well, too). Specifically, color and blinking.

To set the address of the color table, set VDP R3 and R10 as follows:

           7   6   5   4   3   2   1   0
      R3  A13 A12 A11 A10 A9   1   1   1
      R10  0   0   0   0   0  A16 A15 A14

A good place to put the color table is at >0A00, which would require setting VDP R3 to >2F and R10 to >00.

The color table is >10E bytes long for a 26 1/2 x 80 character screen.

Each byte represents eight characters. The first byte of the color table represents row 0, columns 0 - 7. The Most Significant Bit represents column 0, the Least Significant Bit represents column 7.

If the color bit is reset, it uses the color stored in VDP R7. For example, if every byte in the color table was set to >00, and R7 was set to >F1, all text would be displayed as white on black (which is great for monochrome monitors). If, however, the color bit is set to 1, then the color in VDP R12 is used. Another example: if the first >78 bytes of the color table were set to >00, and the last >96 bytes were set to >FF, VDP R7 was set to >F1, and VDP R12 was set to >F4, then the first 12 rows would be displayed in white on black, and the last 14 1/2 rows would be displayed in white on blue.

Blinking is accomplished by setting VDP R13. It is set as follows:

       7   6   5   4   3   2   1   0
      ON3 ON2 ON1 ON0 OF3 OF2 OF1 OF0

The "ON" bits represent the amount of time that R12 is used to display characters with a color bit of 1, and the "OF" bits refer to the amount of time that R7 is used for characters with a color bit of 1. R7 is always used for characters with a color bit of 0.

Each increase in the "ON" or "OFf" times increase the time by 166.9 ms. Using 6 (binary 0110) as a time would represent 1001.3 ms, which is close enough to a second for most (if not all) applications.

Programmers must remember to restore certain conditions before they exit the program. For intance, blinking should be turned off, and R9 should be restored to >00 (24 lines, interlace off). If blinking is not turned off, the user could load MY-Word and get some fascinating displays.

Perhaps the best way to sum all of this up is a sample program. With that in mind, the program 80COLGPL/O is the object code to a program that will set up 80 column mode and blink text. It also restores what is needed on exit. Source code is included as 80COLGPL/S.



* 80 column GPL demo progam
* Copyright 1988 by Mike Dodd
* Written for 9640 News
       DEF  START
       REF  KSCAN
MSG1   TEXT '80 columns in GPL'              17
MSG2   TEXT 'with blinking'                  13
MSG3   TEXT 'Copyright 1988 by Mike Dodd'    27
MSG4   TEXT 'Press any key to continue'      25
START  LWPI MYWS              Use super-fast workspace registers
       LIMI 0                 Turn off interrupts before we do VDP access
* Set VDP registers and clear tables *
       LI   R0,>0004          VDP R0 = >04
       BLWP @VWTR
       LI   R1,>01F0          VDP R1 = >F0
       BLWP @VWTR
       SWPB R1
       MOVB R1,@>83D4         So it doesn't get changed back on keyscan
       LI   R0,>0203          VDP R2 = >03 (Screen Image table at >0000)
       BLWP @VWTR
       LI   R0,>0402          VDP R4 = >02 (Pattern table at >1000)
       BLWP @VWTR
       LI   R0,>032F          VDP R3 = >2F (Color table at >0A00)
       BLWP @VWTR
       LI   R0,>0A00          VDP R10 = >00 (continuation of color table
       BLWP @VWTR                            address)
       LI   R0,>0980          VDP R9 = >80 (26 1/2 lines, interlace off)
       BLWP @VWTR
       LI   R0,>07F1          VDP R7 = >F1 (main color is white on black)
       BLWP @VWTR
       LI   R0,>0C17          VDP R12 = >17 (blink color is black on cyan)
       BLWP @VWTR
       LI   R0,>0D63          VDP R13 = >36 (blink color on 1 second,
       BLWP @VWTR                            main color on 1/2 second)
       LI   R0,>0800          Old address of pattern table
       LI   R1,CHAR           Temporary buffer
       LI   R2,>0800          Length of table
       BLWP @VMBR             Read in
       LI   R0,>1000          New address
       BLWP @VMBW             Write
       BL   @VDPFIL           Clear screen
       DATA >0000,>2000,27*80
       BL   @VDPFIL           Clear color table
       DATA >0A00,>0000,27*80/8
* Write all text to screen *
       LI   R0,4*80+32
       LI   R1,MSG1
       LI   R2,17
       BLWP @VMBW
       LI   R0,6*80+34
       LI   R1,MSG2
       LI   R2,13
       BLWP @VMBW
       LI   R0,8*80+27
       LI   R1,MSG3
       LI   R2,27
       BLWP @VMBW
       LI   R0,25*80+28
       LI   R1,MSG4
       LI   R2,25
       BLWP @VMBW
* Set up blinking *
       LI   R0,>A40
       LI   R1,>0100
       BLWP @VSBW
       LI   R0,>A41
       LI   R1,>FE00
       BLWP @VSBW
* Wait for keypress *
WAIT   BLWP @KSCAN            Scan keyboard
       MOVB @>837C,R0         Get status
       SRL  R0,14             Is EQ bit set?
       JNC  WAIT              No
* Reset tables to default *
       LI   R0,>0900          24 lines, interlace off
       BLWP @VWTR
       LI   R0,>0D0F          All time spent on main color
       BLWP @VWTR             (this way, MY-Word won't blink)
       BLWP @>0000            Go back to TI title screen
* VDP Fill subroutine *
VDPFIL MOV  *R11+,R0          Get address
       MOV  *R11+,R1          Get character to write
       MOV  *R11+,R2          Get count
       ORI  R0,>4000          Set write flag
       SWPB R0
       MOVB R0,@VDPWA
       SWPB R0
       MOVB R0,@VDPWA
       SWPB R0                Delay for VDP chip
       DEC  R2
       JNE  VDPF1
       RT                     Return to caller
* Buffers *
MYWS   BSS  >0020             Main workspace
CHAR   BSS  >0800             Character buffer


(c) Beery Miller

COLUMN is the first in hopefully a series of programs showing the ability of short MDOS routines for screen handling. This c99 program provides the ability to create six different window sizes and positions without much difficulty at all. Other MDOS calls are readily available with great ease for the beginning programmer.

One thing I have discovered using this program is that when the user is in normal 40 column mode before running the program, all windows afterwards (they will be in 80 columns) will handle a 40 column directory display. The program may be modified if you wish to relocate windows of your choice.

Beery W. Miller
5455 Marina Cove #1
Memphis, TN 38115


char key;
extern scanf();
extern printf();
       DXOP  SYSC,0

if (key=='1')
OP1    DATA 6
       LI  R0,>0025
       LI  R1,0
       LI  R2,0
       LI  R3,15
       LI  R4,79
       SYSC @OP1
if (key=='2')
OP2    DATA 6
       LI  R0,>0025
       LI  R1,15
       LI  R2,0
       LI  R3,23
       LI  R4,79
       SYSC @OP2
if (key=='3')
OP3    DATA 6
       LI  R0,>0025
       LI  R1,0
       LI  R2,0
       LI  R3,15
       LI  R4,40
       SYSC @OP3
if (key=='4')
OP4    DATA 6
       LI  R0,>0025
       LI  R1,15
       LI  R2,0
       LI  R3,23
       LI  R4,40
       SYSC @OP4
if (key=='5')
OP5    DATA 6
       LI  R0,>0025
       LI  R1,0
       LI  R2,40
       LI  R3,15
       LI  R4,79
       SYSC @OP5
if (key=='6')
OP6    DATA  6
       LI  R0,>0025
       LI  R1,15
       LI  R2,40
       LI  R3,23
       LI  R4,79
       SYSC @OP6


printf("Preparing to set up for a small window.\n");
printf("\nMODE 40 or MODE 80 to reset screen and CLS to clear window\n");
printf("\nWINDOW by: Beery W. Miller and 9640 News\n");
printf("V 1.00     5455 Marina Cove #1\n");
printf("           Memphis, TN 38115\n");
printf("\nYou have these choices\n\n");
printf("Selection  Left Margin   Right Margin    Top Row     Bottom Row\n");
printf("   1           1              80             1            15\n");
printf("   2           1              80            15            23\n");
printf("   3           1              40             1            15\n");
printf("   4           1              40            15            23\n");
printf("   5          40              80             1            15\n");
printf("   6          40              80            15            23\n");
printf("\n\nSelect -> ");
      LI   R0,>0000
      LI   R1,>0001
      SYSC @MODE


The following is a letter from Mid-South TI99/4A member Martin Zeddies of West Germany who sent this package of programs for the Geneve 9640 to Beery Miller of 9640 News.

This package of programs contain a special version of the Editor/Assembler module. The files on the disk are in the GENEVE format to load in the GRAM memory area. After loading the files in the GRAM you can use the E/A without the program disk in DSK1. The EDIT and ASSM programs (of the E/A program pak) are in the GRAM when you use the special version of E/A. There are no other differences to the original TI E/A program, so long as you are working in the E/A mode. It might be possible that not all files which run in the TI E/A module will be run on the new E/A version. In this case load the new E/A files and start the program UTIL1 with Option 3 of the menu. This routine make the TI 99/4A standard initialization of the normal TI E/A program.

There are more differences if you are working with TI-BASIC in connection with this module. There are detailed information in the file !E/A on the disk.

This version of the E/A is FAIRWARE and if you find it useful please send $5 U.S. to:

Winfried Winkler
Ratherower Str. 69
D-1000 Berlin 20
Federal Republic of Germany

NOTE From Beery Miller: It should be noted that the documentation for the additional statements are written in German. Fortunately, by looking at the new commands available, it should be easily determined what the new enhancements are to Basic. While Basic on the Geneve is losing importance, I felt it was important to include these files on 9640 News and let the user decide their importance. While I have had difficulty loading ED/AS from the module loader menu within GPL, I have encountered NO problem loading from John Johnson's Menu program in 80 column format. I hope everyone will enjoy this and the other files on this disk.



(c) 1988 by Beery W. Miller
5455 Marina Cove #1
Memphis, TN 38115


GBase is the first of hopefully additional versions to be released. It is being released at this level as it can be beneficial for both programming capabilities and instruction. Source code has been provided and may be modified with the following conditions. Any modifications other than personal use must be provided to the original author (Beery W. Miller) who will first release it thru 9640 News and then to Genie, CIS, and Delphi. If you feel you learn something from this source code or find the program beneficial or useful, please send the author a donation. Any changes to GBase must include the original screen where any additional author may include his/her name.


This program has several purposes. It demonstrates the speed of various screen modes and how MDOS assembly can be used within c99 by Clint Pulley. It also provides a basic concept to c99 structure and programming, with I must admit, not the best conservation of memory. I would like to see c99 flourish over Advanced Basic when c99 has been advanced with more graphics routines (will probably arrive after final release of MDOS as I am working on a few).

GBase Description:

GBase as currently compiled provides a data base for addresses and miscellaneous information. Output to printer for address labels, and also a speedy view view file option [Use Screen Print to print entire record]. The ability to merge multiple files created with GBase is available along with normal append to a previous database file. One note to mention regarding input is about line length. Line Markers > < are displayed on the bottom of the screen when necessary to avoid messing the screen display, however, a line length of 80 will not hurt the program. One last comment to make regarding the program. Once a record has been written, that record can only be changed with an editor at your own risk. Back any file up before editing. If an error is caught before you reach the Prompt for another Record, you may press Control C and exit and the file contents will be reserved except for the last record attempted entry.

Future Enhancements:

Future enhancements to this program are most probable. I plan on introducing a sort feature along with a recursive record editor along with a Find feature. Also to be added will be an additional feature to permit your own screen prompts. Screen prompts may now be modified in the source code with little difficulty and recompiled. (Note, only change screen prompts to the percent symbol where applicable to maintain a nice screen display). If you feel you have written some C routines that would benefit this program, please feel free to modify and submit to the author for distribution.


Jump Boot V2

Jump Boot V2.0 is one of the greatest disks for the Geneve 9640. Simply, Jump Boot contains the latest version of MDOS on a specially formatted disk allowing the Geneve 9640 to maximize disk read capability for MDOS and GPL both simultaneously. A typical load time (cold boot of MDOS) into a loaded GPL enviroment can be achieved in 15 seconds, only 5 seconds for MDOS from the time the drive is accessed (Note: For Eprom V0.98 for the 9640, load times may increase slightly because the Canadians apparently have lower grade drives available in certain areas as this was the reason for the V0.98 eprom).

Jump Boot V2.0 is provided on a double sided disk only in either SD or DD format. Along with "SYSTEM/SYS", you receive a special XB/AL program to install MDOS onto Side 2 of the disk for optimum read capability. In addition, you receive MCOPY and a modified MCOPY for 80 track Jump Boot disks so that other files can be copied onto the front side of the disk (A Freeware payment is expected if you find MCOPY useful).

While I must admit that I have a HDCC and boot SYSTEM/SYS from it, I do still find benefit with the program as I do a lot of programming and usually end up wiping out various files. That is why the author of this program has provided instructions and his utility program to solve the problem with your own blown Jump Disk if you are forgetful and forget to write protect the disk and delete too many files.

Who is Jump Boot For???

Jump Boot V2.0 is for everyone without a HDCC. Even if you have a Horizon Ramdisk, Jump Boot is highly suggested. Think about freeing an additional 358 sectors on your Ramdisk and only increasing load time by 3 or 4 seconds!!! Traditionally, your SYSTEM/SYS files takes roughly 35 seconds to boot as it comes from MYARC. This application of the Geneve's potential will help ease memory lockups for the programmer to the person that boots his system every day.

Can I make a BackUp of Jump Boot V2.0

If your question is can I copy Jump Boot, the answer is yes and no. Any normal means of copying Jump Boot, you lose all the speed of it's special loading characteristics. This covers Hyper-Copy, Not-My-Copy, and any other disk manager/copier available. While the files can be copied, only under the special formatted conditions can this disk keep it's fast loading capabilities.

Where can I get Jump Boot

Jump Boot can be purchased in the following formats:

         Jumpboot 2.0 - 5.25 Single or Double Density .... $15.95
         Jumpboot 2.0 - 5.25 80 Track, Quad Density ...... $18.95
         Jumpboot 2.0 - 3.5 80 Track, Quad Density ....... $19.95
         Jumpboot 1.0 - 5.25 .....SSSD ONLY............... $15.95

                        **Purchase 2 for $25.95**

                            DISK ONLY SOFTWARE
                               P.O. BOX 244
                             LORTON, VA 22079

   Specify single or double density for 40 track, 3.5" or 5.25" for 80 track.

Please mention that you read the following review in "9640 News"

Review by:

Beery Miller and 9640 News
5455 Marina Cove #1
Memphis, TN 38115


By Beery Miller

This file is nearly a completed program and requires only a few more additions to be fully functional. This program is being left as it is for an exercise for the subscriber to complete. What I see needed to complete this program is the proper responses for selection of Epson printer control codes, Prowriter, etc. along with selection of various label widths of 3/4", 1", 2", or whatever they may be. The best entry from the continuance of this program will receive one free issue of 9640 News and possibly more
dependent upon how much interest is shown by contributing authors. This program should run from MDOS directly. Let the Race Begin.

Mail all final entries to:

Beery W. Miller
5455 Marina Cove #1
Memphis, TN 38115

P.S. If somehow or another this disk or program finds it way into your library and you are not a 9640 News subscriber, you are still eligible to participate and no er, piracy, or whatever feelings will be held against such individual.


extern malloc();
extern fopen(),fclose(),fputs();
extern fprintf(),printf();

#define FILE     int
#define stdin    -1
#define stdout   -2
#define stderr   -3
#define EOF      -1
#define ERR      -2
#define YES       1
#define NO        0
#define NULL      0
#define EOL      10
#define FF       12
#define BS        8
#define len 40

char buff1[len];
char buff2[len];
char buff3[len];
char buff4[len];
char *pn;
char ch;
int v;

FILE out;

printf("\nPlease Enter Output Name --> ");
  {printf("\nBad Devicename -- Exiting Labelmaker\n");
printf("Enter Line 2 --> ");
printf("Enter Line 3 --> ");
printf("Enter Line 4 --> ");
v = '1';
     printf("Enter Disk Name --> ");
    while(v  == '1');


fprintf(out,"%s \n",buff1);
fprintf(out,"%s \n",buff2);
fprintf(out,"%s \n",buff3);
fprintf(out,"%s \n\n",buff4);
printf("Disk Label Maker 9640\n");
printf("(c) 1988 by Beery W. Miller\n");
printf("\nSend $5.00 if you find this program useful to :\n");
printf("Beery W. Miller\n");
printf("5455 Marina Cove #1\n");
printf("Memphis, TN 38115\n");
printf("\n9640 News Subscribers require no payment.\n");
printf("You have 4 lines for data\n");
printf("Line 1 - - Disk Name\n");
printf("Line 2 - - Your Name\n");
printf("Line 3 - - Address\n");
printf("Line 4 - - State, Zip\n");
printf("\n\nLines 2-5 requested only once unless restarted\n");
printf("\^C to abort");



By Beery W. Miller
5455 Marina Cove #1
Memphis, TN 38115

SCREEN32 is a simple file permitting access to the 32 column mode of the Geneve from MDOS. Source code is provided to demonstrate the relative ease of this screen mode switch. To activate any other available mode, simply type either MODE 40 or MODE 80.

The intended audience for this program is for the person with difficulty reading small text on the screen. While many programs maintain a requirement for 40 or 80 columns, some will allow 32 column for easier viewing. Enjoy.

Source code and program released to public domain


       DXOP SYSC,0
USRWS  EQU  >F000        *Program workspace registers
MYBUF  EQU  >E000        *String output buffer
MDOS   EQU  >0000
       BLWP @MAIN$
**** xop table for system calls
VID    DATA >0006        *Video library entry vector
MMG    DATA >0007        *Memory management library
       LI   R0,1
       LI   R1,7         *Request 7 pages
       LI   R2,1         *Local page #1
       LI   R3,0         *Slow RAM is OK
       SYSC @MMG         *Ask system for the RAM...
       LI   R0,4         *Get mmgt page map.
       LI   R1,PGETBL    *Put it at pgetbl
       LI   R2,10        *Pgetbl is 10 words wide
       SYSC @MMG
       MOVB @PGETBL+1,@>F111
       MOV  @PGETBL+2,@>F112
       MOV  @PGETBL+4,@>F114
       MOV  @PGETBL+6,@>F116

DRAW   LI   R0,>0000
       LI   R1,>0003     * video mode 3
       SYSC @VID
       BLWP @MDOS