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

February 1990



I made reference on Delphi and Genie regarding a program permitting animation of a world globe on the screen. Due to the program’s size (about 800 sectors or ~ 450 sectors archive), I am not able to include it on this issue of 9640 News. I will make it available as a disk that you may order at the normal price of $2.50 for U.S. or Canadian delivery, or $4.00 Foreign delivery. This is the only program that is being added to the previous software list enclosed in Vol 1 #4 of 9640 News, mainly due to the fact that many authors are requesting written permission, and I have not had the time to request it from everyone and keep my own projects going. I hope you can understand after seeing some of the programs on this disk.

I am also enclosing for those that may not have access, some My-Art pictures that were provided by a subscriber some time ago for use that came from Europe, Martin Zeddies if I am not mistaken. Would the author of these pictures like his name published next issue? Please write.

Also, as many have asked, when is it time for renewal. Here is how you find out. Look on your disk under the renewal policy and I will direct you on how to determine when to renew.

Also, I believe I am near release of a new game for MDOS usage only on the 9640. Many 4A people have been playing this same game called TETRIS. Now a MDOS version has been written and the last details are being taken care of now. Suggested retail is anticipated (note anticipated), to be $15.00. Please write if you are interested as this program uses some of the finer graphic modes available on the 9640 ONLY!!!


Contest for Volume 1 #5 of 9640 News

As mentioned in the last issue of 9640 News, a contest was sponsored for the best program submitted in this issue of 9640 News. I am officially ‘removing’, or not permitting WINDOWS 9640 to participate as A) I am officially part of 9640 News, B) it will be a commercial release, and C), I don’t think it is fair to the subscribers.

Those programs in the running, are the following.

           1) BASICDEMO    demo Adv. Basic program
           2) CHAOS299     demo Adv. Basic program
           3) EDITOR       MDOS Text Editor
           4) MAL          E/A option 3 My-Art clone
           5) MEMTEST      Memory Test program for MDOS
           6) GRAPHIC299   demo Adv. Basic program
           7) PTU          Picture Transfer Utility

In order to decide which program was the best, it is up to you to decide. One entry per subscriber. Please mail your first choice by March 31, 1990 to:

Beery Miller 5455 Marina Cove #1 Memphis, TN 38115

The winner of the contest will receive as promised, a slightly used (as was noted in the last issue) Apple Monochrome monitor in excellent working condition. It supports a full 80 columns. In the case of an over-seas winner, some kind of satisfactory arrangements will be attempted.

The Contest is on……………….

Get those entries in…………….



Renewals are about due for many people. When looking at your address label on your disk mailer, look at the number in the lower left corner. If it is a 5, it is time to renew. A few people will have a 6, some a 7, and others 8, 9 or 10, and someone even has 15. These numbers indicate the last issue number you are to receive before your subscription expires. At the end of Vol 2 (5 issues), the number would be 10 and it would be time to renew. Please renew for only 5 issues at a time. I am intending on servicing 15, but I don’t want to over commit myself too early. I hope you can understand.

As a follow-up, I would like to personally thank everyone for supporting my venture into the 9640 community with what I think has been a huge success. I believe I have definitely provided an enormous amount of material to many people that has been original, entertaining, and enjoyable for the most part. I believe that for the subscription rate I charge, everyone got their money’s worth. I hope you feel the same way. As always, I will accept praise, or criticism as I always need to know what you want. If you feel I need to clean my act up, etc, or I forgot something, or didn’t do something I promised, please yell at me (don’t be grumpy on the phone please, a letter is sufficient (grin)). Of those that have been disatisfied, I hope I have satisfied you. I have tried to do so. In return, I would like your support for the next 5 issues of 9640 News. With it’s current progress, the next 5 issues could provide who know’s what (grin). With some of the software that I have beta tested for users that I could not use yet, the Geneve market is very much alive. Look for in the next 12 months some amazing software. From both myself, and others……

And to finish it off, you can renew at the following rates.

           U.S. and Canada Delivery   $25.00
           Foreign Delivery           $30.00

Mail to:

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

Thank you all, very very much.



This is a short file on MYPICS-ARK. All of the files are good. Some require you to change video modes for use in GIF, Picture Transfer, Adv Basic (CALL MYART), and MAL (My-Art clone). Don’t give up if you can’t view the picture. There are some extremely nice pictures in the file list. I highly recommend viewing each picture and taking the time to view it even if you have problems.

Note with MAL. Apparently the background changes each time a different picture is loaded (a small bug) when going to load a file. You need to be careful, as sometimes you may be in the dark as no text may appear, but the program will actually be running, not displaying properly. If you can feel your way around blind, you will have to reboot.


X80 Docs (English Version courtesy of Dero Ramsey)

Commands of X80, preliminary beta test, v0.91 11/8/89

All commands were called with CALL LINK. When parameters were absent, the standard values were inserted: HPos 26, Vpos 1, Size 80-VPos, all permissible flags reset to 1, etc.

  • MODE80 switches in 80Z mode without darkening the screen
  • CLS80 ditto, but blanks the screen
  • MODE32 switches back
  • SCREEN characters, background, elect colors
  • FLASH characters, colors, elect blink colors
  • FLTIME Invtime, Normtime specifies the actual time duration (0-15) of the existing exhibition in the blinking mode.
  • BLINK [,Up,Left,Down,Right[,On]] Sets, when On<>0, blinking in the defined rectangle
  • CLEAR blanks video screen and blinking
  • ACCEPT [,Hpos[,Vpos[,Size[,Validate$[,Startpos]]]]]],A$ permits presentation of the string A$. Validate $ is a string which must contain all permitted symbol. If it is empty, then all are permitted. Startpos sets the cursor to the beginning of the specified field. Without Size, the line is accepted to the end. In the case of negative Size, the screen presentation is preserved.
  • DSPLAY [,HPos[,VPos[,Size]]],String displays the string. Without Size, the whole line is blanked to the end. With Size, only the displayed range is blanked. Size 0 substitutes automatically the string length.

The following touch functions exist: F1=DEL, F2=INS, F3=Erase, F5=Begin Mask, F6=End Mask, TAB=+8 Pos, SHFT-TAB=-8 Pos, cursor keys=right/left. Each request may be terminated with F4, F7, F9, Enter, Cursor Up/Down. The forementioned existing tough keys were stored in the TERMCHAR byte of the Patch-Area. See also the Geneve-Basic manual under TERMCHAR.

           PATIAR,A      endows A with the value for PATIAR, in the patch area
           MPTYCH    EQU  '  '      fill indicator
           PATIAR    B    0         (internal)
           BANKAD    BYTE 0         (internal)
           TRMCHR    BYTE 0         TERMCHAR
           MODEAZ    DATA 0         Mode FFFF=80Z
           DELTIM    DATA LONGDL    delay-time (internal)
           SCOL      BYTE >F4       screen color
           BCOL      BYTE >4F       blink color
           BLITI     BYTE >F0       blink duration
           FILCHR    BYTE MPTYCH
           VERSIO    BYTE >09       version number: 0.9
           LSTPOS    BYTE 0         position of the line end
           SCROLL[,NUMBER]          scrolls upward
           DWNSCR[,NUMBER]          scrolls down
           HCHAR and VCHAR          as in the case of TI

By means of the other bytes of FILCHR, one can obtain other symbols as masks. For examples, see the file DEMO

Alexander Hulpke

(comments from 9640 News, this doc file goes with Vol 1 #4 and should be included with X80-ARK.)



README (Loader)

Loader:  directly in MDOS by typing the filename
         It works with 1.14, 1.14F, H96

Key's: <esc>: exit a command
       <F9>:  editor mode:  help for the key commands
       <enter>: command mode: go to edit mode

         ED brings you in editor mode
         Reserved option, will be used to load and run the assembler
         Save to disk or harddisk in a short format.
         This format can be read with my assembler, but not by the
         Load a file in short format in memory
         M,<filename>: merge with the text in memory
         Save in normal dis/var 80 format
         Load a normal dis/var 80 file
         M,<filename>: merge with the text in memory
         Catalog a disk or ramdisk.
         I don't have enought information to make it work for harddisk
         List a file on the screen
         L,<filename> is used to list normal dis/var 80 files
         <filename> is used to list files saved with SAve
         Clear memory
         Delete lines in memory
         Copy a text blok in memory
         Search for a string in memory
         Replace a string in memory
         Print the text in memory, the controle codes are send to
         the printer before the text.
         Goto line #
         Change the tab positions:
            T=tab    I=cursor position in a new line
         go to MDOS.
         If you press ctrl-alt-delete you also go to MDOS, but then the
         video processor isn't totaly reset.


NEWS of the 9640 World

News coming in regarding the 9640 has been extremely slow the past several months since the Chicago Fair. Information learned around that Fair and the Milwaukee Fair are included in the MILWAUKEE article on the disk.

News since then has been thin, but several important topics have developed anyways. Bruce Hellstrom has written a mouse driver that works with the 9640. He is seeking JP Software to market the program. If JP doesn’t go for it, I am here Bruce (grin). Bruce has also updated his Debugger to now include viewing all 128K of the VDP ram on the 9640, including all mapping of the 9640 in MDOS mode. And before I almost forget it, Bruce has also written a program that patches the Geneve operating system to accept 80 track disks with TI and CorComp disk controllers and also changing their step rates. This means that the TI and CorComp and Myarc with the 40 track Eprom, can format and use 80 track diskettes, up to 2880 sectors if you have a double density capable controller. This is an extremely nice utility to get the full use out your drives while Myarc plays the HFDCC support code.

The Printers Apprentice has been updated to Version 1.2 providing mouse support and fixing some minor bugs. As I understand, the U.S. subscribers to 9640 News received a nice discount, if they ordered and am told many did. As an additional comment, the TPA Fonts disk are a must for additional support. Many, many, many new fonts are available with it that even enhance it even more so.

On January 21, 1990, Al Beard, Ron Walters, Bruce Hellstrom, myself and others entered in a GUI (Graphical User Interface) conference on Delphi. The main discussion was regarding my Windows project and where it could lead into fullfilling all of our multi-tasking requirements. Some of Window’s possible new features will evolve from this CO and another one scheduled February 4, 1990 on Genie.

Paul Charlton has not received much from Myarc regarding updates to new software. Lou is now doing work for a bank installing some computer equipment and is slowing Myarc down quite a bit. Also, reports are circulating on Delphi that Lou and Jack have been extremely difficult to reach and obtain any return authorization # on any bad cards. USERS BEWARE of MYARC’s future. I have been told not to worry if Myarc closes shop as someone else would step in, but I only can guess who that person(s) might be, and I am not going to comment here and don’t hold me to it either way.

Mike McCann has slowed down regarding additional modifications to his software. After having spoke with Mike a few days ago, it seems a new job is possible and he has devoted the majority of his free time into learning C. He did go on to say that he wants to add what he has learned into The Geometers Apprentice, but is waiting to find the time sing TGA was his largest project to date. We’ll patiently wait (grin), go ahead and get the job, and then we will hound you (grin).

Barry Boone commented that he has the source to GEME provided by Myarc. What was seen on the cover of Micropendium appears to be where it still is. He said they wrote some nice routines, but nothing is available for keyboard or charcter displays. It should also be said that Barry, like many others, is not writing software without some kind of contract, so Myarc has not contracted anyone yet, or spoke to Barry since November regarding the project. (I personally hope Windows will take GEME’s place).

New software coming out is slow, but I am about to be releasing some new Programs commercially under the 9640News name. I have been beta testing TETRIS, a MDOS version of the popular 4A game that has extremely nice graphics. Better than the 4A, and since it uses the higher resolutions on the Geneve, everything is much smoother. I have also been testing another program with page making capabilities. I am not sure what it will be finally called, but here is some of what it can do already. It supports two 80 column screens (similar to TI -Writer with 40 columns) for a total of 160 columns that can be printed to an epson printer in bit map mode. Also, line graphics are capable for charts, tables, etc. It also includes support for loading My-Art hi-resolution pictures and permitting whatever colors you want to printed to printer. If you only want red to be printed from the picture, it will only print red. If you want red and blue to be printed, that’s done too. This should not be confused with printing to color printers, but selecting which colors to be printed from a picture. I can already see those hidden messages in those pictures….. Hopefully, I will have an ad in the Advertising section regarding Tetris as I am waiting for final approval from the author.

One final word, and I will wrap this segment of news up for this issue. Myarc in Chicago released a slightly different version of 1.14F and 0.96H versions of the operating system after Paul Charlton released his version in September. Be AWARE, while Lou’s version ‘fixes’ the RAMDISK problem, it creates others. Most noticeably, SETDSK (80 track patch program by Bruce Hellstrom) will not work with it unless SETDSK has a sector change, and I have found that The Printer’s Apprentice, The Geometer’s Apprentice, and virtually any program that prints from the MDOS side of the 9640, had complications printing. Reverting to Paul’s release fixes the problem. This was noticed in both versions of Lou’s ‘fixes’. I would advise anyone receiving a version of MDOS either directly or indirectly to not blame a program for malfunctioning if they have printer problems. I have even seen one individual with the exact same program, that actually cured an RS232 problems. So, be aware, and don’t be scared if something acts funny.


Introducing… TI Sort(tm)!

Imagine the incredible. The ability to sort an unlimited amount of data, stored in virtually any type of file, in record time. Imagination just became reality, the incredible is TI Sort.

Based on the “Quick Sort” method developed by C.A.R. Hoare, TI Sort is the only universal sorting utility available for the TI-99/4a and Geneve 9640. Its fast, powerful, and easy-to-use. TI Sort can handle an unlimited amount of data (records), stored in almost any file format. TI Base files, delimited files, fixed length files, and Basic or Extended Basic files – TI Sort does them all!

TI Sort - The Incredible Sortware - is available from Texaments for only $14.95 (plus $2.50 shipping).

Texaments Office: (516)475-3480 53 Center Street BBS: (516)475-6463 Patchogue, NY 11772

Call or write for our all new catalog.


Question (Dirk Wood): I am having problems cloning or copying 9640 News with my Myarc HFDCC, but no problems with my CorComp DS/DD card and I have never had any problems with other disks. Can you explain?

Answer: Dirk, I know what your problem is. It involves 9640 News being distributed on disks formatted at Interlaces and skews not standard to a 4A system and apparently to the HFDCC. Future issues of 9640 News will be distributed in a less than optimum format (the 4A standard) and you should not experience any more problems.

Question (Martin Zeddies): Do you know of any way with MDOS 1.14F to load the operating system from a 16 bit Horizon Ramdisk?

Answer: Martin, there is a RAMDOS96H available, and I believe a RAMDOS114F available, however, I don’t think the 16 bit HRD can support autoloading of SYSTEM/SYS as the 8 bit cards can.

Question (Martin Zeddies): I have notice a problem with using c99/MDOS and 1.14F when compiling and ramdisks being messed up and the original source disk trashed. Is this a c99 Bug?

Answer: Martin, it is a bug of MDOS that exists with having two open files at the same time. Any time two files are both open at the same time either on multiple devices, sector 0 and maybe sector 1 is written incorrectly from the original floppy to the second floppy. This was a problem first observed when a ‘push’ was up for a new MDOS to work with Advanced Basic. Paul Charlton said in a comment that somehow when assembling, some lines of code just mysteriously appeared in the source and created the problem. The unreleased future version of MDOS is supposed to have this fixed. I should also comment that this happens with GENprog too.


To All Subscribers:

The following text comes from Myarc and is related to the Advanced Basic Interpreter. This is an addendum dated September 20, 1989 that Lou released at the Chicago fair. Their is quite a bit of useful information and new and unknown commands that are available. Enjoy!!!


The Advanced Basic (ABasic) diskette included with your 9640 contains the files
BASIC1- BASIC7, and a program named "MOUSEDEMO".  To load ABasic simply insert
the ABasic diskette in drive1 type BASIC1 and press Enter from the MDOS command
line.  Once ABasic is loaded it will search drive 1 for a program named "LOAD"
to load and begin execution.  The initial graphics mode is (3,1) (see your
MYARC Advanced BASIC Manual for the possible graphics modes).

The following are the additions and changes to the Advanced BASIC Manual.

BEEP      -    Works only in DISPLAY BEEP and ACCEPT BEEP, not by itself.
CALL      -    The list of CALL statements in the manual is incomplete.  When
               passing variables in a CALL to a user defined SUB, multi-
               dimensioned array variables must include a comma within
               parentheses for each dimension above 1.  For example, to pass a
               three-dimension variable named V to a subroutine called MYSUB,
               the correct call is: CALL MYSUB(V(,,)).  The additional built-in
               subprograms include:

               BCOLOR    HIDEMOUSE MLOC      PSET      STCR
               DATE      LDCR      MREL      SEEMOUSE  TIME
               ECOLOR    LPR       MYART     SCHAR     VERSION
               FILES     MEMSET    OUTP      SPRITE2   
               GPOINT    MKEY      PALETTE   SPRITESET

CDBL      -    Double precision binary is not implemented
CHAR      -    No change, but refer to SCHAR for related capability.
CHDIR     -    A command used to set default directory.  See FILES and PWD.
CIRCLE    -    Works as in XBASIC II: CALL CIRCLE(line-type,pixelrow,pixelcol,
               radius,....).  See DRAW for line types.
CLOSE     -    CLOSE ALL added, closing all open files.
COINC     -    In addition to formats shown, ALL sprites can be checked for
               overlap and return the point where the intersection occurred:
               CALL COINC(ALL,numberic-variable,pixelrowvar,pixelcolvar)
               Do not use when MOUSE interrupts are on (MOUSE ON).
COLOR     -    In the 256 color mode (2,2), the colors are 1-256.  In the 4
               color mode (3,2), the colors are 1-4.
               CALL COLOR(#0,foreground-color) sets the MOUSE color.
               Also reference TCOLOR, PALETTE in addition to references listed.
DATE      -    The example of CALL DATE in the middle of page 42 erroneously
DATE$          shows CALL DATE$("01/01/87").  Omit the "$".
DEFvartype -   DEFDBL and DEFSNG are not implemented.
DIM       -    OK, acceps larger limits than docs say.  Limited by the memory
               in the 9640.
ECOLOR    -    New command.  CALL ECOLOR(color) is used to "color in" the edge
               between the text and the border in Graphics modes (2,2), (2,3),
               (3,2) and (3,3).
FILES     -    CALL FILES with no added parentheses tries to read the default
               directory.  Also, CALL FILES(X) will read the directory of
               floppy drive X.  Lastly, if you use a path name in the call
               files command, it must end with a "." like CALL FILES("DSK1.").
               DO NOT USE with a window less than 28 characters wide.
FREESPACE -    The format is changed to FREESPACE(memory-type).  The possible
               values for memory type are 0 through 4, as follows:
                                   0 - ALL memory
                                   1 - program space
                                   2 - data space
                                   3 - assembly space
                                   4 - stack space
               If the (memory-type) is ommitted, then ALL memory will be
GPOINT    -    New command.  CALL GPOINT(pixelrow,pixelcolumn,numeric-variable)
               returns the color of the referenced point in the numeric
               variable.  Use in the bit mapped graphics modes.
GRAPHICS -     The modes come up in different colors than documented.  Mode
               (1,1) is the usual black on cyang.  Other modes show white on
               blue or dark blue.  When going from a mode with 16 colors, to
               another 16 color mode, the former colors will be maintained.
               Mode (3,2) only presents 4 colors which represent colors 1-4 of
               the standard 16 color mode.
               A new GRAPHICS mode, (4) will show an 80x24 screen.
INIT     -     Format is CALL INIT with no numberic-expression.  There is
               always 48k (49,152 bytes) available.
INP      -     CALL INP(port #,variable[,var2[,....]]).  See OUTP (listed as OUT
               in manual).
KEY      -     In redefining function keys (p98), KEY ON turns on the key labels
               on line 26 (in Graphics modes (3,1), (3,2) and (3,3)).  The
               command KEY LIST will scroll the key definitions, the default
               directory and the default printer device to the screen in all
               Graphics modes.  If SCROLL LOCK is set, pressing the function key
               returns the string currently assigned to the function key in
               command mode and when a program is calling for input.  KEY OFF
               removes the label display.  To change the key definition,
               KEY(number)=(string-expression) will replace the given label with
               the new string.  In a program, a key may be armed by the ON KEY
               format shown or by the format KEY(numeric-expression)=ON.  This
               differs from the manual by the addition of the equal sign.  To
               unarm the key, the new format is KEY(numeric-expression)=OFF.  To
               disable all key checking and zero out the ON KEY line number
               table, use KEY STOP.
LLIST    -     Followed with ",W" a width of 132 is assumed.  When followed by
               WXXX, the width XXX is used.
LPT      -     To change the default device, the format is LPT DEVICENAME.  The
               equal sign is not used and quotation marks are not needed.
MARGINS  -     Format is CALL MARGINS() with an S (manual says CALL MARGIN).
MEMSET   -     When a multi-dimensional array variable is set, a comma must be
               included within parentheses for each dimension above 1.  For
               example, to set all elements of variable LATTICE(x,y,z) to 1,
               the format is CALL MEMSET(LATTICE(,,),1).
MOUSE    -     There are substantial changes to the MOUSE commands, as follows:
MOUSE ON/OFF/STOP - These commands work as written

ON MOUSE (buttonnum) GOSUB (linenum) - Syntax is changed as shown.

CALL MKEY(button1status,button2status,butt3status,pxlrow,pxlcol) - The
variables you use for button#status return 1, 0, or -1, as shown in the manual.
The variables you use for pxlrow and pxlcol return the mouse's position.


CALL MLOC(pxlrow,pxlcol) - as written

CALL MREL(pxlrow,pxlcol) - as written


CALL MOUSEDRAG(ON,linecolor) - draws a solid line as you move the mouse.  The
linecolor is 1-16 or 1-256 or 1-4, depending on the mode used.  The left button
controls the drag.  MODE (3,2) will usually require a redefined PALLETTE for
effective use.

CALL MOUSEDRAG(OFF) - works as written.

CALL HIDEMOUSE - as written.

CALL SEEMOUSE(pxlrow,pxlcol,speed).  Speed ranges from 1 to 8.

Additionally, the mouse is always sprite pattern 252.  It is also always sprite
#0.  The mouse shape can be defined by using CALL SCHAR(252,patternstring).  The
mouse default color is color 16.  It can be changed using CALL COLOR(#0,color).
You can alternatively change the mouse color by redefining color 16 with the
MYART    -     New command.  CALL MYART(filename) loads and displays a MYART
               picture.  Graphics mode must match before it is called.
OUP      -     Listed in manual as OUT.  Use only ports 1 or 2 as the PIO or
               PIO/2 ports respectively.
PALETTE  -     CALL PALETTE(#color,redvalue,bluevalue,greenvalue[,#color2,
               for one or more colors in the 16-color sets adn the 4-color set.
               It does not work in the 256 color mode (2,2).  The range for each
               color is from 1 to 8.
POKEV    -     Meaningless for ABASIC.
PPT      -     Misprinted as PPR.  PPT is correct to list the print device.
PSET     -     CALL PSET(x,y) sets the starting point for DRAWTO.
PWD      -     Print working directory.  See CHDIR and FILES.
RESETPLT -     New command.  CALL RESETPLT resets the palette to the default
SAVE     -     In order to save in I/V254 format, INTERNAL option has been
               added.  This would only be necessary for a large file of less
               then 24K to be loaded into TI Extended Basi.
SCHAR    -     New command.  CALL SCHAR(char#,strvariable) works just like
               CALL CHAR, but it sets sprite characters only, whereas CHAR
               sets both characters and sprites (the exception is in Graphics
               (1,1) where both the character and sprite patterns get redefined.
SCREEN   -     Only uses one parameter CALL SCREEN(back-dropcolor).  The back-
               drop color is changed to the new color.  In text modes, the
               text back-ground color also changes to the same color.
SPEED    -     Not used.
SUB      -     See CALL above for rules on passing multi-dimensional arrays.
SWAP     -     Use SWAP A,B , not CALL SWAP.
TCOLOR   -     New command.  CALL TCOLOR(foregroundcolor,backgroundcolor) sets
               the colors of text.  In bit map modes, the color set for a given
               portion of text remains even when subsequent text is changed.  In
               text modes, when colors are changed, all text is changed at the
               same time.  Color numbers range from 1 to the number of colors.
               available to th emode (4, 16, or 256).  See PALETTE.
TIME     -     As with DATE, the examples in the middle of the page of CALL
               TIME () should omit the "$".
VAL      -     The last lin eof the example is wrong.  It should read:
               "Sets LL equal to 3E+15, or 3,000,000,000,000,000."
WEND,    -     The firs sample program on page 226 uses a function not found
WHILE          in ABASIC.  The INKEY $ function is incorrect.  The first two
               lines could read:
                         100 WHILE S=0 then 110
                         110 CALL KEY(6,K,S)
I/O      -     COM,MDM,PCM, and PMD are not used (see page 227).

_____________________________ADVANCED BASIC LOADING OPTIONS_____________________

When invoking ABasic from the MDOS command line you may also want to invoke
several available options.  One option is the amount of memory allocated to data
space.  The following depict the memory allocation for ABasic:

  (Imagine a box)       (Imagine a box)     (Imagine a box)     (Imagine a box)

   ABASIC                PROGRAM             ASSEMBLY             DATA
     INTER                 MEMORY              LANGUAGE            SPACE
       56K                   64K                 SUBROUTINES        (VARIABLES
  --------------                                    48K               AND
   DATA                                                               STRINGS)
     BUFFERS                                                          64K OR
       8K                                                             GREATER

Memory allocation is fixed except for data space.  Data space can be as small
as 64K (the default amount), or as large as the available memory in you 9640.
To request data space greater than 64K, simply type a space followed by the
amount of memory desired (in K bytes) after typing BASIC1 to invoke ABasic.
for example, to request 128K of DATA space, type BASIC1 128 and press Enter.
Another optional parameter in the command line is the selection of the initial
default directory and the initial program to be loaded and executed.  In order
to set a different default directory in ABasic, type a space and the desired
directory pathname ending with a period.  ABasic will set this as the default
directory and initially try to load and execute a file named "LOAD" on this
directory.  If you would like to initially execute another program on the
default directory, simply enter the file name.  Lastly, if you just want to
load the ABasic interpreter and inhibit the auto load of the initial program,
enter an asterick "*".  The following examples should help you understand these
capabilities better:
  BASIC1 *               sets teh default directory to that of MDOS (Usually
                         DSK1) and goes to the command mode of BASIC.
  BASIC1                 sets the default directory to that of MDOS (Usually
                         DSK1) and attempts to load an run the program LOAD.
  BASIC1 128 DSK2.PROG1  attempts to allocate 128K to DATA space, sets the de- 
                         fault directory to DSK2 and attempts to load and run
                         the program PROG1.
  BASIC1 128 DSK2.*      attempts to allocate 128K to DATA space, set the de-
                         fault directory to DSK2 and goes to the command mode
                         of ABasic.


          **                            **
          **  EDITOR/ASSEMBLER  Rev.#6  **
          **                            **

               Copyright (C)1987:
               Winfried Winkler
               Rathenowaer Str.69
               D-1000 Berlin 21
               Tel: 030/394 47 49

You have in hand with this diskette, a new version of the well known EDITOR/ASSEMBLER module that was completely disassembled and newly revised and expanded in recent months.

I have tested this version for a long time and have found no errors or problems (except with TurboPascal). Should someone, however, find an error, have suggestions, or know of incompatabilities to remove, please inform me .

This program is FAIRWARE, that is to say, if it is desired to pass it on to another TI-user, in the form of a private program exchange . . . it is desired that whoever can evaluate and appreciate in a small way this version, how much work is concealed in this program, they should, as a favor to the author, volunteer a small contribution to acknowledge the effort. (Suggest 10. DM). Thereupon will depend whether or not my future projects can be so easily accomplished, for example, there is in hand about 80% of the source code from the original Extended Basic II - with changes and enlargements it will perhaps be finished in 1988.

This diskette contains the files for Geneve or Miller Graphics GRAM-Cracker. From this inquiry (thanks given to the intricate load softwear!!!), I generated this module for opening other GRAM simulations.

(Moreover, one can obtain from me a more complete assembled useful source code of Mini Memory Module)

ED/AS1: Module Editor Assembler (Filename for load software) ED/AS2: contains EDIT1 ED/AS3: contains ASSM1 ED/AS4: contains ASSM2

ED/GP1: Module and GPL-ASSM1 (Filename for load software) ED/GP2: contains EDIT1 ED/GP3: contains GPL-ASSM2 ED/GP4: contains GPL-ASSM3

BSCSUP is a short and quick version of the familiar Support- Files.

UTIL1 and UTIL2 contain the “CALL INIT” routines of the original Editor/Assembler, however, a small incompatibility problem may arise. One loads these files in answer to the “Initialize”. (see further)

**                                                             **
** TI-Basic  "CALL" -Commands:                                 **
**                                                             **


These commands were taken from the “original” module, except in the case of CALL CHARPAT(C,C$,…) which now permits also ASCII-codes 30,31.


Both of these commands for GRAM/GROM-environment are structured fully analagous as with the POKEV/PEEKV for the VDP- RAM and are called up in the same way.


Both of these commands have similar functions as in the case of the TI-Basic statements with the same names, now they can appear in program statements. Both of the commands use absolute addresses in the Basic-GROMs #1, #2, it is conceivable that it would not run with every console version.

DISPLAY (line, column, expression)

Permits the delivery of one string or one number to the screen similar to the Extended Basic command, only without VALIDATE, SIZE, BEEP. The screen lines are not automatically cleared up to their end. Columns = 1-28 (as with PRINT)

ACCEPT (line, column, size, variable)

Permits the input, as the case may be, of one string or one number from the screen. Size must always be declared, other options are not possible. Size can be positive or negative (as with Ext. Basic). In the case where a number was input followed by a letter, it ignores the letter without issuing an error notice. (“12K” as “12” !!!). Columns = 1-28 (as with PRINT).

EPSNPAT(line, column, string variable)

Permits the delivery of an 8 byte long symbol definition for hard copy from EPSON compatible pin printers in the 8-bit- graphics mode. The control symbols “ESC K <8> <0>” are not contained in the definition string, in order to facilitate adjustment to other printers or a linking to longer strings. Columns = 1-32 (as GCHAR and CHARPAT together)

COLSET (color 1,color 2,color 3)

Permits the easy setting of foreground (1), background (2), and screen/border color (3) for the character set #0 to #12.

RESTORE (line)

Permits the use of numerous variables in the place of line number upon “RESTORE”. Failure of the named line to be a data line or line was not found results in delivery of an error notice.

WAIT (duration)

Interruption of the program for maximum duration or until you strike a new key. In the case of negative duration, there will sound a “BEEP” before beginning the loop. The duration of the actual loop agrees well with the like command of the Mechatronic Extended Basic II. Duration = -16383 to +16383.

DEZ (hexstring, number variable,….)

Permits the conversion of several 1-4 digit long hexdecimal numbers into decimal numbers, inasmuch as was explained before INIT, otherwise, it quits the computation in the absence of the CIF-Routine with “Can’t do that”.

HEX$ (number, string variable,….)

Permits the conversion of several integer-decimal numbers (- 32767 to +32767) into the corresponding hexdecimal strings of always 4 digits long. (Also functions without CALL INIT)


Permit the “Basic Support Routines” in the low memory at >28C6 (“AORG”). Blocks of the same object codes can also be entered from a disk. CALL BSCSUP must follow IMMEDIATELY after the CALL INIT, so that the REFerences of the before mentioned object codes can not be retroactive!!! The routine indicates the low memory overlay correct in the “UTLTAB”. Errors in CALL INIT, numerous calls or failure to read “UTLTAB” low memory storage cause the error message “Can’t load”.


Permits all characters of ASCII-code 32-127. German punctuation with umlauts, true small letters, descinders.


Clears only the screen window of lines 2-20 and the border, corresponds to : CALL CLEAR with CALL VCHAR(1,31,31,96. Used usually with CALL COLSET(…).

**                                                             **
**  Module  Main Program:                                      **
**                                                             **


When the editor is exited by or the storage has not lost the existing listing.

The editor can run under the option “4. List” only those peripherals with 80 columns per line, so no longer the TI thermal printer.

In the case of the option “4. List” there results output in DIS/VAR OR DIS/FIX format, depending on the source of the input file. The routines work really faster only for DIS/VAR.

The editor works with a true small letter set (without umlaut) and the color combination black on cyan, the color combination can be obtained through CALL GPOKE (30573,VH) at address G>776D: 1. nibble foreground color, 2. nibble background color in assembly format. (Namely, VH=(V-1)+H-1, where V=foreground color and H=background color)


There were undertaken only unimportant changes.


The loader does not execute a CALL INIT in the case of each renewed option of “1. Load” but only provided CALL INIT was never executed. Therefore, all loaded programs are preserved permanently (also after Quit). Namely, this module remains just as with Mini-Memory.

The option “4. Initialize” executes a CALL INIT. Simultaneously, the total memory is lost (high memory, low memory)!!! Only the RAM/ROM-range from >6000 to >7FFF is not cleared. Should the “original” INIT routine be loaded because of presumed incompatibility problems, then the files “UTIL1,UTIL2” from the disk are to start under “RUN PROGRAM FILE”.

The option “5. Show DEF Table” lists the UTLTAB-pointer for RORG-files (first,last free high memory low memory). Moreover, all defined starting names with their addresses are given. Unresolved REFerences were easily marked here by an arrow. In the case of long tables, they can be stopped/continued with the keyboard.


The disk catalog uses no memory beyond the scratch-pad-RAM. Therefore, it can encroach upon loaded programs, namely, EDIT1, ASSM1, loading files or the preserved Editor listings!!!

The disk catalog was started by presentation of the disk drive number and has no additional functions (Rename, Protect, etc.). It is exited by printing .

In the case of CALL INIT the loading system routine was changed, in order to save memory and the possibility to often be able to use “JUMP” instead of “BRANCH”, also the frequently used routines VSBW and VSBR were speeded up somewhat. The addresses of all workspace registers, buffers and vectors were thereby allowed to reach maximum compatibility. Likewise a faster, smaller version of the “BSCSUP” routines were implemented. (See Basic Info)

EDITOR and ASSEMBLER must not be loaded on more than DSK1, but, in the case of necessity, it can be copied out of the GRAM.

In the case of the application of the file Program-Name, the “Alpha Lock” key is without consequence. (Key mode #3). All procedures are editable self-evidently with the function keys, even though the cursor usually does not appear, you can begin an application, also additional editor functions were implemented.

Should the cursor appear on the disk number instead of this time after the “DSK#.”, then various other disk numbers are necessary for the procedures, therefore it is necessary to change G>6FCE from 05 to 03 (dez:28622). Otherwise, the procedures may be editable (with disk-fixers for instance) based on other set values - I think, they are certainly simple enough to find and were never used together at several points in the program.

This version is NOT compatible with TurboPascal ‘99.

On the other hand, until now there were essentially no problems experienced for the most part with my programs and with Clint Pulley’s C-99 Compiler.

Problems may appear in the case of:

      * Use of absolute addresses in module GROM/GRAM
      * Use of low memory addresses ("EQU") behave as "DATA" commands
      * Incompatibility of the program with the small letter sets.
      * Overlapping of "AORG" codes with the implementing "BSCSUP" routines.

Problems that will not appear in the case of:

      * Employment of absolute addresses for the "BLWP" routine or buffer in low memory


Frame Grabber

As I mentioned in the MEMEX-REV article, Ron Walters has designed a Frame Grabber card for the 9640. The only one is existence is in his company. Let me tell you a little about what I know on Ron. Ron runs his own company, call Dynamic Systems Research, Inc. which sole purpose is to design new hardware, patent the ideas, and find someone willing to market them. This was how the MEMEX came about. He saw a need for extra memory expansion on the 9640, saw a market where he felt he could at least break even and lose no money, and allowed Bud Mills to market his card that he developed under some kind of contract/arrangement.

Ron, like most other people, enjoys helping the TI community, but he doesn’t want to go broke doing it. This is where the problem arrises with the Frame Grabber he has under development. Initial start-up cost on any new card for a company to design the boards, chips, and other expenditures, is going to exceed $10,000, and to make it a break even deal, a realistic $30,000 investment is required to make things go and break even. Not many people have the $$$ and ‘bronze’ to attempt it.

After having spoke with Ron several weeks ago, he commented a realistic price for this ‘Frame Grabber card ‘ would be in the neighborhood of $500 to $700 if 100 units could be sold. This would probably be the most expensive card to date for the TI community to consider purchasing, and it would only work on the 9640 as I have understood. This is not a toy. Ron and Bud Mills are looking for solid committments from people who have a need and would purchase one for it’s use. Write Bud Mills if you are SERIOUSLY interested and let him know you would purchase it if you are interested. No maybe’s, but a YES I WILL and CAN spend $700 for the card if needed be.

Now let me tell you what I know about the card. It is supposed to be better than the TARGA 6 that is used on the IBM that retails for over $6000 (Ron’s superior knowledge in chip and design architecture is permitting the lower cost). After several discussions with Ron, it would permit attaching a cam-corder or any other device with a video signal and digitizing for output to a floppy, hard-drive, etc. Ron already as I understand has a prototype card working in the medical field digitizing Cat-scan images. It is not vaporware, it is real. It is just a matter of it being a sufficient market to sell commercially. I am told by Ron that he has even written some software for a special printer he has (4 color printer) and can print the images out in over 4000 colors using some advance matrix calculations. TV images, monitor images, VCR images, etc, could all be captured and digitized.

Ron had a comment regarding another application of the same card and that being with security systems that he was looking as a potential. Basically, it works this way. You digitize an area from a camera (say a parking lot), digitize another picture 2 seconds later and compare the pictures mathematically. If they don’t agree within a certain percent, you have an intruder.

Myself, I am trying to convince Ron to go forward. If he does market the card, I am going to purchase it, or at least my wife is. And most likely by the end of the year, I will have a color laser printer if it is developed for some work/hobby she has in mind (almost too expensive of a hobby, but then again, this Geneve…..). Anyways, you can start to see the applications, and the $$$ that could be required. If you are seriously interested, drop Bud Mills a note. If you have any additional questions, send me a disk with your letter on the disk, and I will EMAIl it to Ron by modem and include the questions/responses in the next issue of 9640 News. As a last note, Ron commented that if the card was marketed, it would be by the end of this year. If it doesn’t arrive by then, then there was not enough interest from people to make it go. It’s your decision.


9640News is proud to announce it has located copies of the following technical and engineering manuals and is making it available to all software developers, hardware designers, hackers, etc at a nominal charge. The following manuals have been located and copies will be prepared for the following.

  Cost      Manual     Brief Description
 ______    ________    _______________________________________________________
 $ 5.00    TMS 9900    Microprocessor info for the TI 99/4A
   6.00    TMS 9995    Microprocessor info for the Myarc Geneve 9640
  15.00    V   9938    Video Display processor for 9640 and DIJIT/AVPC
   5.00    WD  1771    Disk Controller chip for the TI/Percom Disk Controller
   5.00    WD  1773    Disk Controller chip for the CorComp Disk Controller
   5.00    WD  1770/72 Disk Controller chip for the Myarc Disk Controller

All prices include shipping and handling charges. Mail orders to:

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



Review by Beery W. Miller

The MEMEX is a MEMory EXpansion card for the Geneve 9640 only, providing up to a total of 2 Megabytes with a potential 0 wait state memory. Developed by Ron Walters and licensed to Bud Mills with a patent application, it uses state of the art circuitry to handle static ram chips. Static ram chips are cheaper than dynamic ram chips, but require a complex refresh circuity and thru Ron’s new design, the price of the MEMEX is much cheaper now than what 9640NEWS advertised in issue number 3 (price quotes to be at the end of the article).

The card in it’s simplest form arrives with 504K (actually 512K, but one page is reserved for the DSR page of MDOS). The card can be immediately plugged into the PEB and all additional memory is useable. Depending upon your system configurations, you may or may not have an additional 504K, let me explain. The CorComp disk controller and the Horizon Ramdisk do not fully decode three address lines in the PEB. If you have these cards, you will lose another 56K of memory that must be mapped out (done automatically by the MEMEX), so that their are no bus conflicts when attempting to page memory. At present, these are the only two cards that I know of that conflicts with that memory. About $5.00 in parts, will allow one to modify those two cards to regain that additional 56K so that it can be used. Instructions for this modification comes with the card, and the user takes all responsibility. Their is one other card that currently ‘conflicts’ with the MEMEX. That is the Rave speech card that fits in the PEB. As the speech card occupies both RAM and Rom, MDOS thinks that page is available for memory and their are conflicts in the system when writes are done on both the MEMEX and the Speech card. MDOS can, and will most likely in the next version, solve these problems to permit the speech card to be used once again in the PEB.

I have seen several immediate advantages to the card (the only disadvantage being the speech card that I used once every 2/3 months). First, as MDOS is written, if you want to copy several files, the capacity exists where even a 720K disk can be copied into memory before it starts to write to a floppy. This is again true for HyperCopy. Also, as I do a lot of programming with multi-tasking, this extra memory has provided me the ability to debug/design/ etc. a lot more code with much greater ease. It is almost a must for any advanced programmer. Secondly, it works nicely with MT9640 permitting multi-tasking of more programs (Adv. Basic / MT9640/ and others simultaneously without receiving Not Enough Memory). Third, it provides for a larger capacity RAMDISK and SPOOLER. Fourth, it provides for quicker ‘loading’ of The Printer’s Apprentice (for MDOS) since TPA searches for it’s memory differently than other programs. And fifth, the demo program and MEMTEST that comes with it are outstanding (permission was granted from Ron Walters to exclusively include MEMTEST V1.0 in this issue of 9640NEWS and may not be place on any BBS, or copied otherwise). As you will run MEMTEST, you will notice some of the graphics capabilities of the 9640 (written in Fortran 9640…. available from Al Beard). The MEMEX-DEMO requires the additional memory expansion as it utilizes 700K to run. The demo shows what can be done with the additional memory via memory paging and graphics as the demo illustrates a rotating 3 dimensional sign in full bit map mode at the rate of 16 frames per second. The demo is quite impressive and was the last piece of encouragement I needed to purchase the card.

Many people previously have stated ‘Why more memory when their is no software written for it?’. My answer to this question is it is very useful and can get you around of many constraining requirements at times. Suppose you had multiple documents you had to print on a printer and they each needed individual formatting, etc (thru MDOS), you could essentially have an 800K printer SPOOLer to handle the job and let it print that 500 page document overnight while you slept. This is but one example. Many people require larger RAMDISK space to handle data needs and temporary storage and this is a very strong incentive. Other people write programs (such as myself) and in initial program design are wasteful with memory space until they get their routines written and working before they optimize their code. And one other example that can not be forgotten. Advanced Basic is going to be able to use that extra memory too. You will be able to tell Advanced Basic how much of that extra memory you want for Array and Data space and will permit even larger utilities from it (move over GBASIC) when Advanced Basic and it’s final version arrives.

Regarding memory expansion above the 504K, I am told that the final designs will require soldering a couple of wires to the 9640 to permit paging/mapping in of that memory. The final designs are not currently being released pending thorough hardware checks with the 9640. At approximately $60 to upgrade an each additional 1/2 meg after purchasing the 504K card, this is a very cheap upgrade to go to 2 megs. If you have a full 2 MBytes on the card, you can replace the memory on the 9640 and nearly run twice as fast as you will be running at 0 wait states. Again, final design modifications to the 9640 are being worked out by Ron Walters before releasing this information.

Something you may want to think about is that Ron Walters is testing the 9640 Market with his enhancements of hardware. He currently has a ‘Frame Grabber’ working on the 9640 digitizing pictures, and is ‘playing’ with some new chips to see if it is both economical/feasible to design another card for the ‘Frame Grabber’ to sit on a slot. I would imagine that any new card that is developed is going to depend upon the sales of the MEMEX. Few sales on the MEMEX would dictate not a viable market for a ‘Frame Grabber’ card. From what I have heard though, the first hour or so at the Chicago Fair had Bud Mills sold out of the MEMEX and all further orders were going to be shipped within two weeks (mine arrived as promised). YOU WILL BE PLEASED when you purchase the card. Something contrary to what Bud Mills has previously done with the Horizon Ramdisk, and that is the fact that the MEMEX is sold already built. Their are no kits for the MEMEX card.

To Order:

           Bud Mills Services   (419) 385-5946
           166 Dartmouth Dr.
           Toledo, Ohio 43614
           MEMEX  504K       $245.00
           MEMEX 1008K       $305.00
           MEMEX 1512K       $365.00
           MEMEX 2016K       $425.00

Please call or write for more info. Shipping and handling included within U.S. and Canada

Tell Bud when you order you read the review in 9640News and that was the last ‘straw’ for you to go on and purchase the card.



(this article may be reprinted in it’s entirety as long as credit is provided to the Mid-South 99er’s User Group and 9640 News)

By Beery W. Miller

Everyone that did not make it to the Milwaukee fair missed a good one. As I spent the majority of my time at Chicago at my booth, the Milwaukee Fair gave me the time to chit/chat with various people under a little bit more relaxed atmosphere than Chicago. This fair provided to me quite a bit of information regarding the Geneve and future Geneve software. A few comments are as follows.

John Birdwell demostrated Disk Utilities that he wrote also explaining the many features it has that only the documentation provides when you make your Fairware payment. It was very obvious from the crowd, that perhaps only a few made their fairware contributions. John also provided a small demo of his Geneve/4A version of Disk Utilities (most likely to be called Disk One) that permits a disk manager control of the HFDC with the same features of Disk Utilities and more. Do not expect a hard drive Optomizer from this program as Peter Hoddie quickly expressed that if such a program is developed, it would be marketed separately because of the extensive memory requirements. Disk One was seen running in the GPL enviroment in 80 columns (40 column support for the 4A was going to be provided too).

I had the opportunity to stop by Bud Mills table and ended up being sold on the MEMEX card for the Geneve. The MEMEX is a memory expansion card (504K at minimum, expandable to 1.5 meg I believe) for the Geneve. It is a card designed by Ron Walters and is reported to be the top in it’s class of development as it is using faster RAM chips on the card which will essentially speed the Geneve up (perhaps twice as fast). Bud went on to comment that they are currently only selling the 504 K expansion and are making sure that the additional megabyte of RAM will not cause problems with the Geneve or other hardware as that memory must be accessed by two wires being soldered to the Geneve itself to use it. Bud did say that thru this addressing scheme, the Geneve could possibly support up to 16 megabytes of RAM. Not too bad for a computer. Bud was also demoing a program written by Ron Walters in 9640 Fortran displaying the speed he had accomplished using the 9938. He has gone farther in boosting the speed of the Geneve than anyone else will probably ever even address. He had one screen that was rotating a sign (one minute you saw the front, the next minute the back side) at a 30 rewrites of the screen per second providing nearly animated motion. Ron knows the 9640, and the 9938 and other hardware very, very, very well.

McCann Software had some very interesting software for the Geneve of which I purchased one item. The Printer’s Apprentice for MDOS mode only had been developed and is the best page making program available for the Geneve community. On the disk is provided three fonts of characters, plus an a sample file. The neat thing about this program is that it does not matter what size the fonts were created. This is because they can be expanded or enlarged to any degree that you prefer. If you opt to print the page sideways, with full magnification it is possible to even produce banners with the program. You are permitted to see the whole page on the screen at once or only portions. When viewing the whole page, text is squeezed in in accordance with font heights. If you have a large font, it may be readable when viewing the whole page whereas some of the smaller lines may look like little squiggles. It does print exceptionally well to Epson and Star printers. Importing of text is easy (it also has it’s own text editor). The nice thing about the importation of text, is that you can microjustify the text. Where we used to see left and right margin justification in the Formatter sometimes produce too many spaces between words, TPA will justify to individual pixels and not to character spaces. TPA also provides for some limited drawing and also the ability to import TI-Artist instances and I believe fonts too. At $22.95, definitely get this program if you have a Geneve. It may take a while to fully comprehend the documentation to learn all of the features, but it is well worth the output. I took a text file 100 lines long, and printed it thru TPA onto approximately 1/3 of page space and produced very readable text. TPA uses Bit map graphics on the printers and does it as well as any other off-brand computer can.

McCann also had the The Geometer’s Apprentice which was another fine program. The demo they had displaying some 3-D work was beyond any other program the 4A/Geneve community has ever seen. The displays created and details, shading, etc, are extremely nice. I recommend this program for anyone in the engineering or scientific community that needs graphic work. This is another one of those highly valued programs.

Quite a bit of my time was spent chit/chatting with Paul Charlton and Peter Hoddie. Paul had the revisions to GENPROG ready where I and some others had discovered some small bugs and was also selling Picture Transfer. Paul provided some very good answers concerning the Geneve if you know the proper questions to ask. If you give him a specific question, you will get your specific answer. I was loaded with questions and from them I have already developed a method of ‘installing’ a program in memory on the Geneve. I hopefully have the answers to some other questions I raised to hopefully develop my own ‘GEME’ type program that Myarc once was developing (more on that topic later).

Peter Hoddie provided me the first glimpses of TRIAD for the 9640 that are indeed nice. Transfer protocols have been added with script file processing and much, much more. This program could very well rival Telco and may be the program of choice for the Geneve user. Let’s say this, unless Telco has another major enhancement made to it, I will be switching over to TRIAD when it is released. Triad as many already know, has a text editor, terminal emulator, and disk manager all available in memory at once. With what it contains at present, it is my next future upgrade as a terminal emulator.

Barry Boone also made it to the fair. I missed his demo, but caught a table demo of his MBX software. He definitely knows how to program for just about any type of hardware on the 4A that exists. Regarding GEME, my last conversation with Barry on Sunday after the Chicago fair left these impressions. Barry commented he has not signed any contract with Myarc to produce GEME, nor had he said he would finish GEME. He told me that he told Lou he would ‘look at’ the code and decide. Barry said it was news to him when Lou announced that Barry was going to complete GEME. Barry also went on to mention that version 1.2 of Exec is due to be released. I asked Barry about the possibility of EXEC remaining in a batch program when it is called. These were his comments. It works in V1.14 of MDOS, but fails with V0.96H for these reasons. When the DSR’s are remapped in, they close all open files. With V1.14, the master DSR did not contain the code necessary to close an open HDS1.BATCHFILE (only works in 1.14 with batch file from hard drive). Later versions of MDOS for the HFDCC are relying less on the eprom DSR, and more on the Master DSR which automatically closes those files. Thus, the batch file will never continue to run after EXEC is run because the file was closed. Sorry folks.

I also had the opportunity to speak with Lou and have these comments. Lou showed me the source to his GPL calls that are required to finish the H version of MDOS. Lou says they are near completion. Other conversation with Lou is suggesting that all 9640 Software developers that have Geneve specific software to send Lou approximately 2500 single page flyers that can be sent with the final versions of software to be released in the ‘near’ future. I would suggest contacting Lou first. Regarding Lou’s development of software, Lou now has the tools with the release of GENPROG by Paul Charlton to assemble and test out his GPL opcodes as Paul provided Lou some object code that can be LINKed with GENPROG to test out the software. Let’s cross our fingers.

As a comment, both fairs were extremely nice. I, myself, thoroughly enjoyed chatting with everyone. Meeting those folks that you chit/chat on different networks all the time was very nice. I also want to thank any/all of my subscribers that came by and either renewed or began a subscription with 9640 News. Everyone’s comments were taken in the good spirit that they were intended and where some people saw need for improvement, by darn, I will do my best.

Beery Miller


Multi-tasking with the CLI

By Beery W. Miller

Note: The following is information regarding the use of setting background tasks running while still having the MDOS Command line interpreter available. This code patching is written for V0.96H of MDOS. This code may not, and most likely will not work with other versions, but if you search in page >06 (using Diskassembler) for a MOV or MOVB instruction of some address into >0102 and modify that address accordingly, with the same type patch procedure listed below, you should not have any problems. The CLI will ‘occasionally’ miss a character since the other tasks reads the character, but with a timing patch I used, 90% of the characters are caught by the primary task. I have successfully had a 64K program running, run GPL, and return to MDOS to have my program still intact with no problems. It will even work running Adv. Basic and returning to MDOS, but be careful as when two tasks are running, attempting to type BYE in Adv. Basic to exit that task is extremely difficult. This routine can be used most likely for any background task without any loss of speed if no key presses are desired. Such as a running clock pgm, a pgm that detected a incoming call on a modem…., music, etc. It is only up to you.

Please make mention of my name and 9640News in providing this code in any documentation that this feature is used in.

Other patches can be generated to provide an ‘install’ program that check what version you are running and uses the appropriate table for patching to resolve the addresses. It may even involve checking outside of page >06 if that page is reassigned in MDOS in the future.

Now enjoy, Beery Miller (9640NEWS on Delphi)

*I have left out a portion of the memo equates, so this will
*not compile straight out, but the 'technique' for installing should be pretty
*explanatory if you have done any assembly programming.
       LIMI 2
       LI   R0,1         *Begin setting up for extra memory
       LI   R1,7         *Request 7 pages
       LI   R2,1         *Local page #1
       CLR  R3           *Slow RAM is OK since it's disk access
       XOP  @MMG,0       *Ask system for the RAM...
       ABS  R0           *Check for errors
       JEQ  GOTMEM       *If none, then go to GOTMEM
       BL   @TTYOUT      *Display Error message
       DATA NOMEM,0      *Data for Error message
       BLWP @MDOS        *Warm Reboot of MDOS
GOTMEM LI   R0,4         *Get mmgt page map.
       LI   R1,PGETBL    *Put it at pgetbl
       LI   R2,10        *Pgetbl is 10 words wide
       XOP  @MMG,0       *
       MOVB @PGETBL+1,@>F111
       MOV  @PGETBL+2,@>F112
       MOV  @PGETBL+4,@>F114
       MOV  @PGETBL+6,@>F116
*PGETBL is a BSS 10    so have that somplace

MAIN1  .
       .    your code
       B    @EXIT3      *Install background info for instant program
                        *recall (in this example, it is the ESC key)
                        *make sure you use a unique key not in the normal
                        *typing sequence or you could enter it accidentally

       B    @EXIT4      *Deinstall routine

       DATA >F8FE       *AT >0CEA ORIGINALLY  v0.96H
       DATA >FF32       *AT >0CEC ORIGINALLY  v0.96H
       DATA >F800       *AT >0CEA MODIFIED    for v0.96H
       DATA >0032       *AT >0CEC MODIFIED    for v0.96H
TEST07 DATA >0000
       DATA >FF01
EXIT3  LI   R0,>0000    *set 80 column mode for mdos
       LI   R1,>0001
       SYSC @VID
       MOV  @TEST06,@>F114    *maps in page 0 and 1 of CLI>@ 8000
       MOV  @TEST07,@>8102    *places 0 into task state so it multitasks
       MOV  @TEST06+6,@>8CEA  *changes possible status of CLI to co exist
       MOV  @TEST06+8,@>8CEC  * with any other tasks running
       MOV  @PGETBL+4,@>F114  *remap our task memory back into place

KEYLP3 MOV @TEST07+4,@>0102  *patch our status time to minimize time spent
                             * in this task.
       LI  R0,0             *System scan for keypress
       SYSC @KBD
       CB   R1,@ESC         *if it was our key, let's boogie
       JNE  KEYLP3          *if not, scan keyboard again when task is active
       MOV  @TEST06,@>F114  *remaps CLI so it is not active while we use our
       MOV  @TEST06+2,@>8CEA       * task.
       MOV  @TEST06+4,@>8CEC
       MOV  @TEST07+2,@>8102
       MOV  @PGETBL+4,@>F114

       B    @MAIN1               *or wherever we want go (grin)

EXIT4  MOV  @TEST06,@>F114       *this deinstalls the CLI if we don't want
       MOV  @TEST06+2,@>8CEA     * the CLI to co-exist with any other task.
       MOV  @TEST06+4,@>8CEC     * If it is not deinstalled, and we actually
       MOV  @TEST07+2,@>8102     * exit our task, then the CLI runs with any
       MOV  @PGETBL+4,@>F114     * other task on an even time share.
       BLWP @MDOS

Notes on >0102 as the ‘task’ state used by the interrupt routine to determine the status of each task

if the state is >00, the task is in run mode and can be swapped to another task by the interrupt routine.

if the state is >FF (reserved for the CLI), the interrupt routine ignores the task if there are other tasks present.

if the task is >FE, the task is locked and can not be multi-tasked

if the task is >FD, the task is ignored and prgrams like the CLI in state >FF can still run (used to lock a tasks memory pages so they can’t be freed, like the graphics drivers, or other code for a library)

if the state is >01…>fc, the task is assumed to be asleep, waiting for the I/O or something and the interrupt routine ignores the CLI

What Paul says about >0102 is it is a counter that is decremented by the interrupt routine that runs every 1/60 second. When it reaches >0000, another task is mapped in and runs until it is is decremented. The interrupt routine first determines the state of those tasks. That is why I mapped >0000 into the CLI to make it an even run time task. When I move >0001 into my task (can’t go smaller), it is decremented to zero and only stays in the task about 1/16 the time it would have normally been there. Note this is only good for v0.96H (I haven’t checked V1.14F to see if those bytes are in the same location. If you use DISkASSEMBLER and disassemble pages >06 and find where it moves bytes into location >0102, you can check for other versions if those bytes assembled out of position.

I hope this helps. If you have any questions, feel free to ask. DISkASSEMBLER is an invaluable aid to learning more on this system. There is a lot more that can be learned by diskassembling the CLI than most other programs source code. Check with TOMSFREE on Delphi (Tom Freeman) for ordering info you haven’t purchased it yet. That is how most of my work so far has been done. Catch you later. Beery


The Geometer’s Apprentice

Developed by: McCann Software

The Geometer’s Apprentice is the front runner in any program currently available for the Geneve/4A dealing with 3-dimensional work. It is an excellent draftsman program permitting many versatile functions.

Before digging into many of it’s unique features, I would like to point out one of the first things that caught my eye when seeing a demo of the program. That is it’s 3-D capabilities. The program permits shadowing of objects along with rotating the objects in any XYZ plane along with any corresponding shadowing that is necessary.

To begin with, I will attempt to describe some of the major points of the program, and not dwell on the finer points of the program. I will say up front that I am not a draftsman, artist, or engineer (actually, I am a chemist), and I may miss a few things, etc.

To start off, TGA most importantly, is a Forth program, written to run directly from MDOS. Mike McCann has done some amazing things with Forth, and is maximizing it’s potential into the MDOS enviroment. Immediately after loading TGA, you are prompted for a list of options, such as DIRectory, LOADing, GRAPHICS, PALLETE, ERASE graphic screen, and HARDCOPY for printing the object(s).

DIRectory, is currently only available for disk devices. When TGA was completed, the Myarc HFDCC had not been released with enough information to add DIRectory features. When performing a directory, you are permitted to mark a file for the LOADing option.

LOADing is a unique multi-object oriented file. Whatever object(s) you create, you are permitted to store them under any particular larger-object you wish. Once you have selected this large object, you are then prompted for the smaller segments of the file to load and for future display. This permits you to draw segments of a picture, and save them for later reference.

GRAPHICS is an option full of options. In as simple terms as I know without confusing anyone, this is where you design an object(s) and view it. Here you control the initial XYZ coordinates of an object, and the amount of roll, pitch, aspect ratio, and several other parameters if you desire.

Inside of the GRAPHICS area, are other menu’s permitting a ‘wire’ picture of the object to be displayed (i.e., show only edges, and not shade anything as you have designed). It also permits you to manipulate colors of the different faces, change the pallete colors, and manipulate things on the pixel level. There are stil many more features that exist that I have not described.

PALLETTE is a section that loads required data needed for TGA from your master object file for I assume it’s palette register that you can manipulate.

ERASE is pretty simple. It erases the object and everything else you have on the screen.

HARDCOPY produces an Epson/Gemini printout of the picture and permits any section of the screen or object to be printed. Screen dumps are extremely nice with TGA. You also have the option to expand the picture up to 8 X 8 fold in size if you wish. It is very versatile, and user friendly.

TGA has many things going for it. The manual attempts to cover all the features in about 16 pages. It would be nice to have more, but their is one page describing the process needed to use the example 3D object that comes with the disk. This also provides a useful service by permitting one to manipulate various items to change the display angle on the object, rotating, etc. If I did not mention it before, TGA permits you to rotate, flip, etc, in any 360 degree plane in the X, Y, or Z direction, or all of them at the same time.

TGA as mentioned before, doesn’t like the hard drive. Unless a quick sector edit method is used (only do on a backup if you are extremely confident), will it load from any device outside of DSK1. A small limitation from MDOS Forth. I have successfully loaded it from the hard drive, so it can be done, but requires some knowledge (it still can’t access the hard drive, even after loading TGA from the hard drive).

I have spoke with Mike McCann in recent weeks, and he had these comments on TGA and some suggestions I tossed at him.

(Not a directo quote)

                "When I can get some time, I am going to update TGA to
                include some mouse support and floppy support with what
                I have learned from TPA (The Printer's Apprentice).  At
                the moment, I am attempting to learn C-Language for a
                job advancement, and that is taking my time."

Well, there you have it folks. TGA is rated a grade A on my scale, and is by far the most graphic oriented drawing program to date for the MDOS enviroment. It can be purchased at the following address:

McCann Software P.O. Box 34160 Omaha, NE 68134 ($39.95)

Mention that you read about it in 9640News.


The Printer’s Apprentice

Review by: Beery W. Miller

The Printer’s Apprentice (MDOS Version) is one of the finest graphic page designer programs to date the 4A/9640 community has ever seen. This is truely a breakthrough by McCann Software. When I was in Chicago at the November Fair, I stopped by the table that McCann software had prepared and in less than 2 minutes, I said SOLD !!! The ‘unique’ thing about TPA, is that it is a WYSIWYG (what you see is what you get) program. The amazing thing about the program is that it is capable of displaying in bit map mode text just as you want it. It is capable of using small fonts from TI-Artist and has three fonts that comes with the disk. With TPA, you control the size of each font when you want to format the text onto the page. This means you can have an unlimited number of fonts and sizes on each page, to your hearts desire. You can even format your text such that you can print banners with it.

TPA doesn’t stop there. It has it’s own built in text editor with the ability to import DV80 text from other word processors. TPA also has wide flexibility in creating line graphics. The ability to create rays, lines, boxes, polygons, curves, triangles all exist with the option of inverting, horizontal flipping, vertical flipping, moving are all at the fingertips. Also included is the ability to load in and use TI-Artist Instances and place them anywhere you want to on the screen.

TPA still doesn’t stop there. The printing utility permits total control of your printer. You can select between a Gemini or Epson printer as those are the only two drivers currently written. You are permitted to select the portion of the picture you want printed, the size, whether or not you want double strike from your printer, and whether or not you want single, double or quad density pictures.

TPA’s biggest seller is in it’s drawing module. This is the primary module that permits you to view an entire page on the screen at one time. From this screen, you can see what your page will look like as it utilizes 768 dots high by 1024 dots wide or 768,432 individual dots over which you have total control. When you look at this page, it is like looking at a newspaper at a distant if you are using some ‘small’ text. Simply moving the cursor around will allow you to ‘blow up’ that portion of the page. When I first saw this program, some text was just squiggly lines on the screen, but with a single keypress, that text turned into legible characters that can be of any font you desire. The neat thing about this section of the program is that you can import your text from the editor and have it formatted with your font style that you desire into any portion on the screen. You can do this by moving the cursor, with the cursor control keys or the mouse (yes, the mouse is supported in the drawing functions and moving the cursor) and opening a window anywhere you want the text to go. You can have as small or as large of a space as you want. For example, I took 100 lines of text from a rewiew out of last issue’s 9640 News and was able to format it and print it legibly onto approximately 1/3 sheet of paper (I can even make it smaller). Another nice feature that distinguishes this from any other program is that it contains microjustification. Most people have seen left and right margin justification in TI-Writer / My-Word, but TPA allows you to have the control to format your text so that you have an even number of pixels between words like the newspapers do it, unlike TI-Writer / My-Word that can produce some very unsightly blank space with the ability to have both margins justified. You can even produce some nice newspaper type columns with the program that can make it a definite newsletter designer program or definitely the best ‘flyer’ designer program.

TPA also permits you to save these pages for later loading. The one thing to remember when saving these pages, is that they are very large. When 768,432 dots of information must be saved, this translates into something like a 200 + sector length file.

TPA also provides hard drive support. TPA (if you sector edit the loader) can load and run from the hard drive, and once running, has total access of the hard drive if you are set up to handle it. And don’t forget, it has quite a bit of mouse support. One other thing distinguishes it from it’s 4A version, the MDOS version automatically loads all the modules into memory at once for utilization. And you know what the good thing about it is? It is only $22.50 (includes shipping and handling). This is one of the best, and lowest priced pieces of software for the 9640 to date. You can order at the following address.

McCann Software P.O. Box 34160 Omaha, NE 68134

Make sure and tell McCann Software that you read about it in 9640 News.



I have been comtemplating this for about a month now, and I finally have put together enough o.k.’s to make an idea a go. One month after you receive your issue of 9640 News, Vol 1 #5, I will have available an extensive demo of the Geneve 9640 covering the majority of hardware/software that exists for this system. What this means for many people, is that it will provide them the opportunity to see many programs in action without purchasing the program. Many Geneve owners have limited access to user groups and many times, nobody in the user group has the program to demo, or even in some cases, nobody knows about it.

That is where I am going to step in. I am currently putting together a demo of many fine programs. When applicable, I will attempt to allow about 15 minutes per demo to show some of the major features and output of various programs. The following programs are currently scheduled to be demonstrated:

           The Printer's Apprentice
           The Geometer's Apprentice
           MEMEX and Demo program
           Picture Transfer
           Windows 9640

If you have any programs that you know of that you wish to see demonstrated in addition to those listed above, please send me a letter and I will add it to the list. Any Geneve required program is permissible. I will not cover any 4A specific program at present. The cost of the VCR tape will be $15 including shipping and handling. Please order early as I need to ‘bulk’ purchase the tapes to keep my cost and time low at this low price. Who knows, you may even get to see me as some recording will be using a camcorder. Please allow time for delivery as I may only be able to make 2 copies per day dependent upon length of tape and other time restrictions. Enjoy!!!!



Loader:  directly in MDOS by typing the filename
         It works with 1.14, 1.14F, H96

Key's: <esc>: exit a command
       <F9>:  editor mode:  help for the key commands
       <enter>: command mode: go to edit mode

         ED brings you in editor mode
         Reserved option, will be used to load and run the assembler
         Save to disk or harddisk in a short format.
         This format can be read with my assembler, but not by the
         Load a file in short format in memory
         M,<filename>: merge with the text in memory
         Save in normal dis/var 80 format
         Load a normal dis/var 80 file
         M,<filename>: merge with the text in memory
         Catalog a disk or ramdisk.
         I don't have enought information to make it work for harddisk
         List a file on the screen
         L,<filename> is used to list normal dis/var 80 files
         <filename> is used to list files saved with SAve
         Clear memory
         Delete lines in memory
         Copy a text blok in memory
         Search for a string in memory
         Replace a string in memory
         Print the text in memory, the controle codes are send to
         the printer before the text.
         Goto line #
         Change the tab positions:
            T=tab    I=cursor position in a new line
         go to MDOS.
         If you press ctrl-alt-delete you also go to MDOS, but then the
         video processor isn't totaly reset.

       Notes from the Editor of 9640 News

       1) When saving a text file, save in the long format to maintain
       compatibility with My_Word.  It appears the short-format will be
       reserved for the Assembler as characters are not properly read in
       by another word processor if saved in this new format. Therefore, use
       SL and LL to Save and Load a LONG (normal DV80) file.

       2) The author of this program, Peter Muys, does request a $5.00 donation
       as mentioned in the ^A section of the word processor.  His address is
       Peter Muys
       Koophandelsplein 31
       9000 Gent, Belgie
                  (I assume Belgie is Belgium)

       3) The keys to toggle the Menu options, or a drop down menu screen are
       the F9 key and the ESC key


Preliminary Documentation to the MAL Painting Program for 9938 equipped TI or GENEVE / V. 0.09 of 7-Jan-90

You have received an beta test release of Version 0.08 of the program MAL (The name is also preliminary, until I find a better one). This release is ment to help debugging, collect ideas, to provide the unhappy ones without a Geneve with a decent TI-Artist-like program and last, but not least to provide an replacement for the bug-filled MyArt.

The program is (C) copyright 1989, 1990 by Alexander Hulpke. The final version will be freeware, if I get enough response. Since this version is not somehow final you are not yet obliged to pay any freeware donation when you use it, but I request, that you’ll inform me of any errors you found or any suggestions/wishes you have.

To keep track of ideas: I’ve borrowed the keycodes and some patterns from MyArt and TI-Artist (copyright Myarc, resp. Incebot), simply not to create an new unknown user environment.

You may load the program with EA3, Load and Run. It will autostart. You should keep an CHARA1 file in DSK1, because it will be loaded by the program first.

The following paragraph describes the yet included features. Pressing the corresponding Key will toggle the mode:

You move with the Mouse, connected to the 9938. You may use any Quad-type Mouse (but be careful with the pinout) if you have not yet gotten such a pet. If you use the Mechatronic card, you should set the CRU-Bit at >1x04 to select the Color Bus driver. Later versions will include this feature. The right button is the paint/select button, the left (or on a 3 button Mouse the middle ) button (and also the C key) will display the color bar.

P is the simple “Pinsel” (or - for our friends across the sea - “Pen”) A provides you with an Airbrush (or a piece of chalk) L selects line mode. You’ll see, that I’ve used the Artist-like double click mode, so you don’t have to keep the button pressed all time like for MyArt. V allows the painting of a frame, X does the same for an boX. F flood fills the selected area. Be sure, that the border is tight! Note that the stack area is limited, so fill may stop when used at very strange pictures. G will grab the color, pointed at and use it as new painting color. This can be very useful when trying to continue painting in the same color, especially in G7 mode. M toggles between G6 and G7 mode S enters the storage menu. You may use Save and Load, Directory is not yet supported. FCTN-4 or F4 fill the whole screen with the selected color. CTRL-S will change the sprite’s color CTRL-A allows a definition of the colors in G6 mode: select with Right/Left, change the three intensities with R,G and B. ENTER will return to the “real world”. ENTER will leave the program. You should leave the program with ENTER, otherwise, you could have problems recognizing the characters.

The program stores pictures in MyArt format (see the Doc to my XHi freeware for an discussion of this format). Since MyArt really plays Old Harry with the header word, I’ll declare this to be my official definition of this word (at the moment it is NOT used), I’ve selected it to be as compatible as possible with existing standards:

 MSB  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15  LSB
    |Background Color       |IL|OM|xx|xx|A0|G7|A1|A2|

IL: When reset the picture is in Interlace mode (1). OM: When reset the picture is stored in the “wrong” mode, just to save disk space. This feature will be included last! Regard this bit as reserved (1). xx: reserved for future expansion (1) G7: When Set, the picture is in G7 mode otherwise G6 mode. A0,A1: (1) A2: (0) these Bytes are set for compatibility with the “Austri” format (See XHi documentation).

Interlaced pictures will be stored in logical order (like on the screen) and not in physical order (like in memory). This allows an better comptibility between the two modes and prevents possible dark stripes in the picture, when loaded in interlace mode. Since I’ve moved the beginning of the picture in the VDP RAM up, I cannot display sprites on one line (D8 will switch the sprite off), for which the sprite will be moved one pixel downwards. So you should use the two pixel for reference. This will also allow an better positioning in the G6 mode, what has been nearly impossible in MyArt.

Features planned include :

  • Support of Artist DSR’s, Fonts and Instances
  • Several Painting functions as Circle, Disk, Cut, Paste etc.
  • Other brushes
  • Support of the interlace mode and of GIF format files
  • OOPS function

If you have suggestions and/or wishes let me know. I also would like to know, what kind of hardware you have. Especially RAM at >6000 (Supercart, perhaps also Mini Memory) could be very helpful. I cannot guarantee personal reply, but each letter will be considered.

My adress is:

Alexander Hulpke

Sadowastrasse 68 D-5600 Wuppertal 1 West Germany

or :

Gulpenerstrasse 11 D-5100 Aachen West Germany

I hope you’ll enjoy the program



PTU (Picture Transfer Utility) By: Bud Wright, 12-01-89

This utility is used in conjunction with Picture Transfer written by: Paul Charlton and allows automatic viewing of graphic files from a hard disk sub directory or a floppy disk. PTU creates a script file (DV80) that tells Picture Transfer what to display. It is very simple to use, simply run PTU from ea option #5 and answer the prompts. The devicename is any legal path to that device ie. “DSK1.” or “HDS1.GIF.”. PTU will catalog the device and create the file needed (script file). Many different picture formats can be on that device, for example you could have RLE, GIF, TIARTIST, MYART, etc. on a disk and view them all automatically. The script filename can be any device and filename you wish to call it, ie. “DSK1.SCRIPT” or “HDS1.GIF.PICTURES”. The pause is simply how long you want to view each picture before continuing on to the next display.

NOTE: PTU makes all files on the device specified into a script file. Meaning, if you have files other than graphics they will also be included in your script file. This is not really a problem, since Picture Transfer ignores most files it can’t display.

I have also included the source code for PTU along with a XB program called LABEL2 which will allow you to make a label for your PTU disk. The label was created using Graphic Grabber also written by myself. Hope everyone who tries this program can make some good use out of it.



(C) 1990 By Beery W. Miller and 9640 News


WINDOWS 9640 is a multi-tasking manager for WINDOWS designed programs. As MDOS was designed, it can run any MDOS program that does not require command line arguments. WINDOWS 9640 has been successfully tested with MDOS V0.96H and Advanced Basic V2.99a. WINDOWS 9640 provides for 8 tasks to run concurrently under MDOS’s timesharing routines.

The Primary task, designated as the Windows enviroment, permits a multitude of disk functions, file functions, system configurations and other miscellaneous utilities. Mouse support for pull down menu’s is built in.


Current requirements in this issue Vol 1 #5 of 9640 News requires that a mouse be present. If a mouse is not present, this program will not work for you. It is very heavily mouse dependent. A mouse driver for the Geneve 9640 is near release and when this program is released, I will remove my mouse driving routines and use the driver and make the necessary changes for Keyboard input from the program. As it is now, it is too complicated to separate keyboard i/o from a running program and from Windows with an optional mouse without someone being confused. The mouse driver will or at least should solve the majority of the confusion.

If the mouse drive is not released in the near future for one or more reasons, I will end up having to write a MDOS keyscan routine. For those familiar with MDOS and assembly language, MDOS provides for a keyscan routine, however, I must access the keyboard at a more direct level to interface with the user interface of WINDOWS without other programs interfering. I am currently working on solving this side of the problem.


WINDOWS 9640 boots from MDOS and automatically installs itself into the computer memory. Several MDOS tables are modified to accept additional code. No direct conflicts with the new code has been detected with any MDOS program to date.


WINDOWS 9640 is very unique. Upward compatibility for future updates are guaranteed (unless Myarc removes some of WINDOWS 9640 supporting code, in which case, new routines will be written that will not affect the functionality of previously written Window Programs).

MDOS as it was designed, has several Pro’s and Con’s to the operating system. A background utility running in MDOS, called the Scheduler, controls the multi-tasking state of the Geneve 9640. Using several timing addresses, and ‘task state’ addresses, it is possible to control the time each task is allotted, from 0% to 100 % for time frames.

When WINDOWS 9640 was first conceived, it was felt that a unique XOP library should be written to handle the problems that were associated with screen displays and keyboard input in the ‘multi-tasking’ state. This has been accomplished in this release to what I had envisioned multi-tasking should be. Since releasing WINDOWS to several users for beta testing, and general comments, I have been asked if I could add additional support for multi-tasking, that I was not aware that existed or could be done. Well, I am going to try and add those requests. What happens, now that is another story.


Information on the new multi-tasking opcodes that are available are being limited in distribution as they are subject to change or minor change at present, but you can still use the majority of the features of the shell program. You are presently limited to this release to running any task besides Windows. Programs that were not written for WINDOWS new opcodes will still function, but they will not be able to utilize it’s features. This will permit you to ‘pop’ windows up with a mouse keypress in any running program, even a running Adv. Basic program.

Don’t Expect……

1) Windows will not ‘pop’ up in GPL programs. This is a hardware impossibility. 2) Windows may not allow a task to run if you have TIMODE and a RAMDISk in use as it depends on available memory. 3) Windows will not run MDOS programs that DEMAND a command line argument. 4) Windows works best in Graphics mode 6. If Adv. Basic, or any other program resets the screen mode, WINDOWS can, with work, do it (done blindly with a mouse as a sprite is not supported in text mode), or you can do it from the Adv. Basic Command line, or whatever program you are using if it has the capabilities. 5) Some of the screen and task functions will not appear to work because no WINDOWS supported program was loaded.

What to Expect……

1) When renaming, creating, removing subdirectories, you must follow the subdirectory name with a period. When renameing, deleting, unprotecting, protecting files, do NOT use a period at the end of the filename. 2) Will permit MDOS paths, i.e, A:, B:, C: for necessary file utilities. 3) The Commercial release will provide the ability to run 8 programs simultaneously and a complete set of documemtation. This documentation file is intended to raise your curiosity to the point of being able to review a program before buying. When this program is commercially released, it will retail for $30.00 to non 9640 News subscribers, and only $15.00 for current subscribers.

What I need from you.

1) Any bugs that you find, please write me. 2) Any suggestions that you have, please write me. 3) Any code that you have written that is XOP independent that you would like see implemented in Windows where it would become available as an opcode to an XOP.

XOP opcodes.

I will briefly explain the current opcodes that are available that can be seen in WINDOWS 9640.

1) Opcode 0, request multi-tasking use of WINDOS software and maps all necessary tables into use. 2) Opcode 1, keyboard i/o, full editing capability. Will return string at a predetermined address, null byte terminated with only requirement for a maximum string length from the programmer and also requests info from the proper segment on the screen.
3) Opcode 2, TTYOUT type routine for proper display on the screen. 4) Opcode 3, allows user defined change of screen positions.
5) Opcode 4 and 5…. Turn Multi-tasking on/off 6) Opcode 8, 3D window designer, this is what you see all around text in Windows 7) Other opcodes to return page 0 and page 7 of tasks that are multi-tasking 8) Opcode 9 to erase last previously draw 3D window. 9) Opcode to turn off Windows and return either to a running WINDOWS application, or return to the command line prompt. 10) Opcode available to automatically ‘turn on’ Windows from any independent program. This means you don’t have to reboot WINDOWS to re-use it, a short 2 sector program will be available to auto-start WINDOWS.

No information is being provided here on how to use each opcode, this will be in the final documentation.


1) Ron Walters Has written 3 opcodes that I am still interfacing with that will be impressive when complete. 2) Al Beard in process of writing some timing routines. 3) Bruce Hellstrom who has provided some info I needed to make this work. 4) Paul Charlton who has also provided info that got this project off the ground. 5) And thanks goes out to Barry Boone, Mike Dodd, Jeff White, and others who have made suggestions and contributions too.

Final Comments before trial-ware release. If you wish to purchase the commercial release of this program, with full documentation and a registered copy, please send $30.00 for non-subscribers that read this, and $15.00 for up-to-date subscribers. Presently, I am in-process of completing the documentation. When the docs and any bugs that are reported are fixed, I will release the official version. I will not cash any check until WINDOWS 9640 is ready to mail. If you want to order early, or wait until hear or receive official notice, the choice is yours. Thank you….

Beery Miller 5455 Marina Cove #1 Memphis, TN 38115