01 July 1989

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

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

README

Welcome to the third issue of 9640 News. This issue has been in the making for several months now. Some parts of this issue have changed in the past week. I have had Version 3.0 of XHi ready for some time, however within the past week, Barry Boone uploaded the same version to Genie. I apologize to those that may not benefit from this file, however I am going to go on and include it because I think the majority will not be exposed to this release otherwise. I also have some news just slightly updating that about the Horizon Ramdisk by Bud Mills expanding the memory. We can now upgrade memory our memory up to 504K with the HRD 3000 series ramdisk. You can see the information in the ad section for details. Also, I can report that the 32K mod for expanding the fast memory of the Geneve is easy and functional. It only required 30 minutes to make the changes to the 9640.

As I hope will always be the case, this issue of 9640NEWS requires ARCHIVER (from Vol 1 #1) to unarchive all the files on this disk. It should expand to nearly 1325 sectors so I hope you feel you are getting your money's worth. I am also beginning several projects that should be available next issue independent of whatever else is sent in, making the next issue even more exciting.

Look for the next issue in September or possibly earlier.

Beery Miller

NEWS

9640 News

Vol 1 #3

(c) Beery Miller
5455 Marina Cove #1
Memphis, TN 38115

Well, it looks like we are back to another full issue again this time. In this issue, everyone will see a program that I have been working on called MT9640 that permits multitasking on the Geneve while also providing a MENU of programs that can be loaded and run from a single prompt with some other disk I/O features too. This program has been by far the most challenging as while writing this program, I had to debug inconsistencies in the Geneve operating system and work around a couple of sections of code that wanted to destroy itself. As it is now, it is complete and bug free as far as I can tell with my testing. Further updates to this program will likely occur, however they are now pending upon the imminent release of the Programmers Developer's Package by Paul Charlton. Having reviewed some programmer's comments he has made, there are many things this operating system can do that have not been touched that exist. It is just a matter of seeing his manual of notes, etc. when they are available.

Several new things have happened since the last issue of 9640 News. First, and most important to me, is that my wife and I had a baby girl, Teresa (9 lbs. 2 ozs.) on March 22. She is a very beautiful girl and so far, pretty quiet, although she does like to eat quite a bit.

Software wise, Advanced Basic has seen some beta releases. Currently, April 4, 1989 is the latest beta version (available in Software section). As always, if later software becomes available before I mail your order, you will obtain the latest version possible. Many people requested the Myarc Disk Manager 5 for the HFDCC and received a much newer version than what I am sure they anticipated.

(Editor's note: Adv Basic 06-05-89 has now been released that requires MDOS 0.95H that is 'supposed' to be bug free as far as Myarc knows. MDOS 0.95H will require a 720 sector drive system as it is a hard drive version of MDOS that can still operate with normal floppy controller cards, but can not format floppies with the HFDCC or use MDM5. If you do not have the HFDCC, you may want to advance to using this version of MDOS, although myself, I have a HFDCC and require the use of MDOS V1.14. Both of these files are available in the software section).

Other software that has been released is the 9640 Fortran package which will be reviewed elsewhere in this issue along with a review of Clint Pulley's c99/MDOS latest release providing graphics/floating point/mouse/ and sprite support. Look for their reviews elsewhere in this issue.

Their have been several rumors going around regarding the Geneve and it's improvement. The modification for converting the 512K Myarc Ramdisk and the modification for adding 32K zero wait state memory to the Geneve have been made public and are available in the Software section. Hopefully, I will report some good results with the 32K mod as I will be attempting that before this issue is released and you can find that elsewhere.(Editor's Note: 32K chip has not arrived yet when I mailed this. One other note: Myarc claims that the 512K mod will not be 100 % compatible for all people as there are various 512K cards (versions). Myarc claims they will be releasing their own modification shortly. I have not heard of anyone having problems with their mods yet, so proceed at your own risk).

Their have also been two other separate groups working on developing memory expansion systems for the Geneve. One group is trying to add (I think he just needs to write it up) 512K to the Geneve card itself (the reason he is slow is he is debating on it's usefulness as only a minority of the Geneves shipped had their memory chips socketed) while the other group has ALREADY developed the board and has 448 K of 512 functional and working. They are just now trying to figure out why they can't address the remaining memory and once they do/ or if they can't, they will release their advertisement (Look for prices exceeding $500 for a full 512K for this card due to memory chip prices). In both cases, the added memory could be used as actual RAM and not be devoted to only Ramdisk space. As of today, I have learned that specs for adding an additional 512K to the Geneve thru a memory board has been made available to Bud Mills Services. This looks like another project that some people may be able to build. Having questioned Paul Charlton about the 448K problem, he advised that MDOS will only support 448 K of PEBox memory if the Horizon Ramdisk or a Cor Comp card is used. He goes on to say the problem is a result that Cor Comp and Horizon developers did not fully decode three address lines required for that additional 64K. If you have only TI or Myarc cards, there will be no problem as I am advised. He also says that in reality, with the 512K card, you will only have 504K available. From previous conversation, I believe this is probably the DSR page/memory location that has been paged out so we could use our peripheral cards. You will still require purchasing the full 512K of memory if you want full expansion even if you have a Cor Comp card as apparently the addressing scheme does not mean you can leave one or two chips off as they are still required for other areas of memory. And to finally wrap this topic up, yes the Geneve is capable of a 2 meg memory expansion, HOWEVER, additional memory expansion is going to require solder connections directly to the Geneve to handle the additional address lines.

Another note I have located coming from Paul Charlton is that he is working on an Editor from MDOS. This is still far away if he finishes it as he currently has several other projects pending. As of May 10, Paul Charlton has released another program to the public domain. He has written an Infocom Interpreter from MDOS that provides the abiltity to run those games such as Zork I, Zork II, etc (Myself, I am not big in those games, yet.....)

Additional support for the Geneve seems to be flourishing from our friends in Europe. They have provided me for inclusion in this issue upgrades to XHI (Now Version 3), Editor/Assembler (Version 6.1 with English docs even), and X80 (Version 1.0).

As sent to me, XHI had several of the same programs that was released in the second issue, so I have removed them from this release in this issue to provide additional space for other programs. If you would like the complete disk unmodified and with German docs too, you can find it in the Software section.

Also released by the same author of XHI is X80 that provides 80 column support from Extended basic with inverse video, blinking, the ability to tab within an INPUT statement, and many other features. This guy is just terrific at his programming accomplishments. This package has it's docs in only German, however, the commands for their usage should be fairly easy to see, plus he provides some demo programs of it's features. Please send this guy a fairware donation for his work. His work is fantastic.

Coming from Austria, is the new version of the Editor/Assembler with some 80 column features. His file loads in as a GPL module and shows what can be done with some work. Please provide this guy with a fairware donation for his contributions if you like his work.

If subscribers do not wish to trouble themselves to sending them their Fairware donation due to obtaining an International Money order, etc, send me a check (payable to me with a note to who the benefactor is) and I will forward the funds to them myself. I hope that is o.k. guys???

J. Peter Hoddie has been up to some work lately. The past couple of week has brought us the knowledge of adding external files to My-Word to perform additioanal tasks on the document. One external he created as a demo, was to convert all lower case to upper case and vice versa. He commented that an external may be up to 16K in size and could even be a terminal emulator program running with My-Word using it's text buffer if you wished. Will wonders never cease. Also, someone has uncovered another hidden feature of My-Word. Go to the Help section and select one of the options such as EK. Then press Ctrl 1 thru Ctrl 7 (any of them are active) and you will be rewarded with some music (BACH). This is valid for Version 1.21 and Version 1.22 (not official Myarc release and I have not been using it although it is available to me). Peter has also commented that additional enhancements will be coming to My-Word 'most likely' in the summer months. Peter doesn't describe what they will be. This may/may not be a commercial release as no other details were available.

Mike Dodd has slowed up as of recently. In a recent conversation, I learned his Monitor crashed and also he has had other commitments preventing him from programming. He did say that he had some things on the back burner but gave no details. I did try to pick his brains as I have been trying to work on another project that required disassembling Hyper-Copy. As the file comes encrypted on disk, I do not know how to unencrypt it, as disassembling it provides garbage for my needs. However, I did disassemble it using some tricks with MDOS and located something hidden that I had not seen so far. At his menu of 7 options, press CTRL T and you will see something new. I, myself, like these kind of features as they are something special to the programmer. (Editor's note: after having disassembled Hyper-Copy as I mentioned above, John Johnson released an unencrypt/encrypt program for MDOS that 'now' simplifies things even more).

Myself, my next project(s) are going to include the attempts of running MDOS from MDOS. You might wonder why this is of any benefit. Myself, I believe it may very well be possible to bank into memory the command line processor that runs the Geneve for additional MDOS command support within a program. This means you could essentially "appear" to be in MDOS, and at the press of a key, drop back into your program that you were running and continue on like nothing happened. Discussions with this possibility are continuing with Paul Charlton as I have had some limited success so far. This feature was prompted by a subscriber wishing to write a DOS Shell program. Perhaps these comments will awaken him again as it has been a while since I last heard from him. Another program I am starting to get a handle on is a data keeper for MDOS. My MT9640 file has almost all of the necessary ingredients required for a
simple data base program from MDOS. I am trying to get a feel for what is needed (if anything?) that people would like to see. Now it is up to you if you want to see something you have in mind. Here are my following specs for a program that I perhaps will write if I get enough response.

1) Search Capability
2) Sort Capability
3) Append Capability
4) Edit Capability
5) Some type of print capability
6) 80 Column use

Limitations:

A) Max Rec Length of 254 characters
B) Don't expect any mathematical functions in the near
future as I am staying far away from them at present.
C) Don't expect any mouse support as I don't own a mouse.
Nobody has provided anything yet that would be easier
or nicer with a mouse (except perhaps TI-Artist) that
I could use it.

Questions I need answers to are:

1) What kind of screen layout? Suggestions.....
2) Would you prefer all data to be stored within the program
itself, or stored to disk separately. I am talking about
having a save feature that saves the program out with the
data included as this is what is done in MT9640.

If you have any suggestions, make them and I will see what I can do. This is not intended to be any program to rival TI-Base or other major pieces of work, but to be a useful program none-the-less.

One other program I have already modified has been the AFTERHOURS BBS. This program was written in Assembly Language and has now been modified to run in 80 columns on the Geneve in GPL mode. The source code for this modification can be found in the Software section. Please note you will still need to contact the original author to obtain the remaining files necessary to run the program for a BBS. They are not included and I can not include them per the author's fairware request. You can still compile the program and boot it from Editor/Assembler (only EA module works) and see the initial screen before it locks up.

I have also received reports now of a bug in My-Art. Details of this bug are found elsewhere on this disk.

Many people are wondering about the HFDCC. As it stands now, V1.15 and V1.15 H are nearing completion. Their final release will coincide with that of Advance Basic as I am told. Basically (sorry the pun), MDOS V1.14 provides everything we have been promised with some added features. MDOS V1.15 is going to be required for Advance Basic to solve some of the Video Library problems that have been found. V1.15H is being held up for the same reason, plus the fact it needed floppy support that initially had a CRITICAL bug. Initially, their was going to be a problem formatting single density and using the disk on another system due to some timing problems with the Floppy controller chip. Paul Charlton says he has solved it through software and that it is no longer a problem. The only reason I will keep my Cor Comp Controller is called Hyper-Copy. Try copying as many disks as I must to keep up with the mail and I can not afford to use a slower copier as the HFDCC will take us back to the time of using DM1000 and it being the quickest copier. Reason being: the Disk Controller chip on the HFDCC is not made by Yamaha and will have different addressing to activate Track reads/writes. Hopefully, Mike Dodd will come out with a version for it.

While I have been at it, some comments should be made regarding Picture Transfer. It is an extremely nice piece of software by Paul Charlton. If you have purchased the program, you will notice that your registered copy will display your name. Did you also know that unregistered copies had a serial number associated with them? So far, upon disassembly has been the only way I have seen to locate it, however I am pretty sure Paul has written some small routine to display the serial number and track down the originator of the pirated copy. Keep this in mind if you decide your friend should also have a copy of the program..........

Well, it seems like the contest that was mentioned in the first and second issue of 9640 News is still open. I have yet to receive any response on the disk labeler program or anything else. Do we not have any C Language programmers out there? Surely, someone would want to tackle using those small CSGD graphics and putting them on a label such has been done with the label on this disk from extended basic??? If I am wrong, just let me know.

While I am at it, is anyone using GBASE? I have yet to hear anyone using the program or anything else. If anyone has found it useful, a few comments would be welcome to know whether or not to even continue with it. I have made some small changes to it myself for some better disk label support as it was with that program I initially was storing my data base file of 9640 News subscribers. Since the release of V2.01 of TI-Base, I did decide to switch because it had more features I immediately needed. Again, are there any comments????

In the Software section, you will also find a TI-NET section. This section is essentially a message base dump from TI-NET from over a year with questions and answers raised from programmers towards Paul Charlton, Peter Hoddie, Mike Dodd, and Al Beard. I have found myself some useful information in the messages that have helped me out in programming. If you want to just trace the history of the Geneve, this is a good place to begin.

Also in the Software section, you will find several new disks of modules that was never released by TI or anyone else, but have since appeared on Genie, CIS, etc. Unfortunately, no documentation is available for these files, but they are available. One or two of the programs will require the use of the Geneve and it's GramKracker capabilites as a lot of memory is required to run it.

Another file that may interest some people is Version 0.94H (now 0.95H) of a hard drive operating system. Full support for the hard drive and MDOS commands are available such as TREE, MKDIR, RMDIR, etc., however, the update video routines and some other features have not been incorporated into the file. It should be noted that this file is 462 sectors unarchived as SYSTEM/SYS, so you will definitely need to support at least 720 sectors on a disk to handle that file. Unfortunatley, floppy support for formatting is not provided yet for the file with the use of the HFDCC. I will say that at least it looks like Myarc will be able to deliver what it promised from what I have seen. That comment is in regards to Adv. Basic and MDOS. We can wait and see about the Pascal system.

MDOS Forth

Yes, it looks like someone has finally modified the original version of TI-Forth and made it MDOS compatible. MCCANN SOFTWARE, P.O. Box 34160, Omaha, NE 68134 has listed in Micropendium a version for $15.00. This sounds like we may see many more new programs in the near future as the advertisement also goes on to say they are including the source code. What more can you ask? For those people that are not familiar with Forth, it is a very powerful language that can be extremely popular for the Geneve. All of MCCAN's Software is written in Forth and represents what can be done with Graphics as they are now offering some 3D-Cad type software that can utilize the Geneve video chip. Having had an opportunity to see a demo of Forth running from MDOS, I do have a few comments for those interested.

It is definitely forth with some enhancements and some pitfalls (so to speak). Enhancements include the ability to work on files instead of a disk as a whole unit if you wish. This means you may have a file consisting of 8 screens only and it being 32 sectors in length. MDOS-Forth also comes with the 64 column editor modified to run in 80 columns. The major pitfall (so to speak again), is that TI-Forth screens (running from GPL mode) will most likely not run. Every Forth program I tried to run locked MDOS-Forth up on the Geneve and required a warm reboot. This is due to the fact that MDOS Forth is moving away from the dependency of the 4A and has had the GPLLNK, DSRLNK, and other 4A utilities removed (it was necessary due to MDOS mapping). What it does mean though, is that MDOS-Forth easily supports the MDOS calls (XOP's) quite easily and all graphics capabilities can be easily attained. Full documentation on use of MDOS XOP's and Forth is explained on the documentation that comes on disk (4 pages). What MDOS-Forth by McCann software needs, is for others to write some utilities (libraries) and perhaps a manual that could be sold under separate cover describing the use of MDOS-Forth and it's differences from TI-Forth. If someone wants to tackle the project, please contact me as I may be in a position to market any such manual.

Myarc Hotline

If you plan on trying to get hold of Myarc, you should be directed to call Jack Riley. Jack appears to be in charge of handling customer problems, return authorization numbers, software complaints, etc. I have tried calling Lou's number (201) 805-0006 for nearly 30 days without obtaining an answer (most of the time, it was busy). One should not really complain as how many companies can you call and reach the president of that company without being transferred. Lou should not be an exception. If you think about it, Lou is doing quite a bit of the programming himself with Advanced Basic and MDOS and the other programs and if he is continually interrupted with phone calls, it slows down his programming time. One can not program 24 hrs a day as I am sure he must try to keep his business away from his home and personal life.

As a final note, I shall wrap this news up here today. News wise, there has not been a surge of information lately. It is my pleasure though, to say that response from individuals for submission of programs is on the rise and will be increasing as the newsletter has been growing. For those interested, I would expect the next issue to be released in about 3 months in the neighborhood of September at the latest. I would expect a later version of MDOS to have been released along with Advanced Basic which will provide us with another wealth of information to pass on. Unless something goes wrong at the last moment, I will be attending the Chicago Fair this November 4th with a booth offering 9640News plus some software such as GIF, and any other programs I have developed by then, along with taking suggestions from individuals. Until then, 'Happy Computing!'

AD

9640 Fortran by LGMA Products

The Ultimate Language for the MYARC GENEVE

9640 FORTRAN is the "ULTIMATE" programming language for the MYARC GENEVE computer. It runs under the native MDOS (MYARC-DOS) mode of your GENEVE, which means you tap into the extended memory and features not available in the "GPL" or the TI-99/4A mode.

9640 FORTRAN has the following exclusive features:

o a full screen editor,
o an optimizing FORTRAN compiler (with some FORTRAN 77 extensions),
o a linker which will link FORTRAN and Assembly modules,
o a symbolic/source level debugger,
o a FORTRAN/Assembly librarian,
o over 160 library routines interfacing with MDOS,
o and four demonstration programs

9640 FORTRAN comes with a 230 page manual packed with information concerning FORTRAN and MDOS. Also included are two DS/SD diskettes and a ninety-day limited warranty.

Make the most of your MYARC GENEVE and join the steadily increasing 99/9640 FORTRAN user community! 9640 FORTRAN is shipping NOW from the following dealers:

      Disk Only Software
      Quality 99 Software

Additional dealers to be announced. Suggested retail is $69.96

(Note: 9640 FORTRAN requires MDOS 1.14 or better)

Editor Note: I know that Disk Only Software is currently carrying the program for $54.95


NOT JUST ANOTHER RAMDISK... THE HORIZON 3000 RAMDISK

THE BEST BATTERY-BACKED RAMDISK for the TI-994A. The on-card batteries recharge when you operate your computer. The batteries will last for years.The entire STATIC RAM memory is battery-backed including the DSR RAMDISK Operating System. The RAMDISK size can be 90k to 3 meg.

THE ONLY FULLY OPEN PE-BOX CARD. The Horizon RAMDISK contains no EPROM or ROM. The DSR Operating System is in RAM and is loaded from a floppy disk.

THE ONLY PERIPHERAL WITH DSR RAM which allows the assembler language programmer to write Device Service Routines. The Horizon RAMDISK memory is decoded entirely within address space >4000 to>5FFF. A special loader enables AORG Editor/Assembler object files to be placed in the RAM on the card. You can write all new CALL subprograms for TI BASIC, power-up and interrupt service, and DSR routines making use of the STATIC battery-backed RAM. >4000 to >57FF is always enabled, and the remaining memory is paged in 2K at a time in >5800 to >5FFF with the LDCR instruction.

THE ONLY RAM CARD YOU CAN BUILD yourself at substantial savings over fully constructed models. You can buy the printed circuit board, Operating System software and an ILLUSTRATED step-by-step construction manual with schematic and parts list and get the parts wherever you can find the best deals. Hundreds of TI Enthusiasts have built the Horizon RAMDISK. If you've had any experience building electronic kits you can too--at SIGNIFICANT SAVINGS! (If you want a fully constructed, tested and warranted unit, we sell those too.)

EASY TO USE...

TWO OTHER VERSIONS OF THE CARD ARE AVAILABLE NOW.

  1. A VERSION TO ALLOW 8K BANKS TO ACCESSED at the programmers wish to >4000 - 5FFF AND/OR >6000 - 7FFF memory locations. You have the ability to turn-on 8k blocks of memory and use them as part of a running program. An ERA of "POWER PROGRAMMING" has begun for the "TI 99/4A"

  2. For the GENEVE, a HORIZON card set up as Contiguious CPU RAM... This card can be sized from 90k up to the FULL 512k of equivelent "ON BOARD CPU MEMORY". A "MUST" for MDOS 1.14 and the latest programs that use a lot of Memory. A little note of CLARIFICATION on the available MEMORY,,,,We can address the full 512k, however MDOS requires that we limit the size to 504k to avoid DATA BUSS conflicts. An ingenious detector circuit is included to check for devices that do not decode the 3 high address lines specified in the T.I. Specs. If such a device (unmodified HORIZON card or a CorComp card ) exists then a total of 64k is blocked from use to prevent any BUS conflicts that could damage other cards or devices in the "P-Box". We have re-arranged the memory addressing on the 3000 card to allow the card to operate without the blocked 64k chips. All the Memory that you pay for can be used. YOU tell us what equipment you have, and We can BUILD up the Expansion Memory you need. If you are short on the green stuff, but still need expansion memory, you can start small (90k) and just plug-in more as you need more. Pricing of the Expansion 3000 card is from $130 zero k(no memory, you find the chips), 96k=$215 , 192k=$300 , 384k=$465 , 448k=$525 , 504k=$580....( These prices subject to change without notice.) CALL for a FIRM QUOTE.

NOTE: A modification IS available for all HORIZON cards to allow use of the 64k that will otherwise be blocked. This MOD should be applied to all HORIZON cards that will be used with any Expansion Memory on a GENEVE.

OF JUNE 12 1989 !!!!!

MEMORY CHIP PRICES ARE STILL UP ,, AND ARE HARD TO FIND. See AD below!!!

ANNOUNCING

The P-GRAM Card
By John Guion and Robert Jones

The P-GRAM Card is a GROM Emulation Card for use with the TI 99/4A Requires Periphial Expansion Box, 32k and Disk Drive. The P-GRAM will save and run MODULES and is compatible with files saved by the GRAM-KRACKER or Cart-Save. A fully documented Source Code on disk and USER Manual allow you to SAVE Modules, EDIT as you wish, LOAD to card and RUN. The P-GRAM card contains 72k of battery backed RAM memory ( lp CMOS ) 40k GRAM for GROM emulating, 16k for Module RAM bank-switched, and 16k of DSR RAM also bank switched. The Optional CLOCK is not required for proper operation of the P-GRAM, but the price is right.

P-GRAM KIT=$150.00 +Clock +$20.00

FULLY ASSEMBLED,TESTED
and READY TO RUN, P-GRAM=$180.00
WARRENTED 6 Mo. with Clock=$200.00

Please allow 2 to 4 weeks for delivery

The bare Horizon Card may still be purchased as before, but your orders should be sent to:

   BUD MILLS SERVICES
   166 Dartmouth Drive
   Toledo Ohio 43614

ANNOUNCING THE HRD 3000 RAMDISK

This Ramdisk is constructed on a NEW HORIZON Ramdisk Board and uses the same HRD+ circuit with the Hitachi 62256LP12 (32K) CMOS Memory chips ( or the equivalent NEC 43256LP12) OR THE LATEST 128x8 HM628128 chips....or 66204 chips.

THE NEW CARD IS NOW AVAILABLE !! With this new HORIZON 3000 card you dont have to stack the control chips or add the extra wires or extra resistors ! MUCH EASIER TO BUILD !! without stacking ANY chips up to 1.536 MEG...(using the new chips)

The new card can be built using the existing 32x8 memory chips, BUT Card sizes above 384k will still require piggyback soldering of the memory chips plus the control leads OR using a small PIGGY-BACK Board that is available only for the 3000 card...already built, ready to plug in and add chips. The OLD Card is still available in several memory sizes- ONE+MEG, 800K (GENEVE), 512K, 384K (DSDD), 192K (DSSD), and 96K (SSSD). See attached Order Form for Prices.

The Operating System (Thanks to John Johnson and Mike Ballman of the Miami Users Group) allows the Ramdisk to be divided into TEN logical drives or less. Only two DSK_(numbers) are used, the remaining drives will respond to DSK(name). The Menu program (Ver. 7.38) allows for 9 calls plus TWENTY-FOUR selections that you can edit on screen to customize the way you want it to appear - no more sector editing. XB programs can now be loaded from a call, or directly from the MENU. The HORZON 3000 Kits include:

The HORIZONS RAMDISK BOARD
Assembly instructions
Op System and MENU Software
User Documentation
and ALL required parts.

Note: This Menu Ver. 7.38 works on ANY 190K or bigger Horizon Ramdisk and allows BOOTING the Geneve. The Pheonix Software package does a better job and is easy to install...

A special note to GENEVE users. Any HORIZON Ramdisk IS compatable with Your GENEVE...BUT the GENEVE will only allow the use of up to 1140 sectors (260k) without patching your SYS file. At the present time you can use any HORIZON Ramdisk to BOOT your SYStem files. We have a SYS patch available to allow you to format and use a 384-800k HRD+RAMDISK as an 80 track Disk with your GENEVE.

We also have a PHEONIX mod that ADDS a 90, 180, or 256k BOOT drive on top of any 384 to 800k Ramdisk on the same card and same CRU. This is only for the GENEVE.

Credit Card orders may be placed
thru DISK ONLY SOFTWARE at
1-800-456-9272 Visa MC AmEx
ADD 10% for credit card orders.

Money Orders or Certified Checks are preferred on direct orders.

+++************************************
         Revised 6-12-89
PRICES Subject to CHANGE Due to present
 Economic conditions and MEMORY SUPPLY
Please call for a CURRENT Quote
_______________________________________
   Prices are only good TO JUL 15,1989

To BUD MILLS SERVICES     CALL
   166 Dartmouth Dr.    (419) 385-5946
   Toledo Ohio 43614    DATE___________

From name _____________________________

   address_____________________________

   city______________________state_____

   zip_________ phone (____)____-______

   Please "RUSH" my HORIZON  kit(s)
   ___PRE-PAID by Check or Money Order
---------------------------------------
Quan| HORIZON 3000 KITS  |cost/ea |amt
----+--------------------+--------+----
    |          ONE MEG   |$990.00 |
----+--------------------+--------+----
    |         800k/GENEVE|$795.00 |
----+--------------------+--------+----
    |            512k    |$550.00 |
----+--------------------+--------+----
    |          384k DSDD |$435.00 |
----+--------------------+--------+----
    |          192k DSSD |$270.00 |
----+--------------------+--------+----
    |           96k SSSD |$185.00 |
----+--------------------+--------+----
    |         Zero k     |$100.00 |
----+-----------------------------+----
 Pre-Built READY TO RUN ADD $30.00|
----------------------------------+----
 Deduct 5% IF you are purchasing  |
  5 or More of the above Kits---> |____

The above Kits include the HORIZON Card
  Instructions,MENU ROS and ALL parts
---------------------------------------
   | Upgrade old 180k to |        |
   | 256k w/instructions | $85.00 |
---+---------------------+--------+----
   | 6264LP15 Chips      | $10.00 |
---+---------------------+--------+----
   |32/16 Console Mem Mod| $60.00 |
   |with Super cart      |        |
---+---------------------+--------+----
   | 62256LP12 Chips     | $28.00 |
---+---------------------+--------+----
   | HORIZON 3000 card   |        |
   |  + MANUAL + MENU7.3 | $40.00 |
---+---------------------+--------+----
   | PHOENIX MOD to add  |        |
   | a 90k BOOT Drive to |$125.00 |
   | 384 - 800k/GENEVE   |        |
---+---------------------+--------+----
   | We will BUILD any of|        |
   | the above Kits..Add | $30.00 |
---********************************----
   |NEW EXPANSION   ZeroK|$130.00 |
   |MEMORY FOR THE    96k|$215.00 |
   |GENEVE           192k|$300.00 |
   |READY TO RUN     384k|$465.00 |
   | 90 day warrenty 448k|$525.00 |
   |  Sorry no KITS  504k|$580.00 |
---********************************----
   | P-GRAM CARD KIT     | $150.00|
   |   with clock        | $170.00|
---------------------------------------
   | P-GRAM CARD  BUILT  | $180.00|
   |   with clock        | $200.00|
---------------------------------------
       Item total  |$
      -------------+----
  Ohio Residents add 6% sales tax |
      -------------+----
Shipping OverSeas ADD $12 Surface |
   or  $20 AirMail |
  ( Small packages $5.00 by air)  +----
                   |
   AMOUNT ENCLOSED |$
   =====================

   your signature X____________________
***************************************

 Call TI-COMM BBS on 419 385 7484
 for current prices or information
 300 Baud,7bit,even / 1200,8bit,no


   Shipping and handling included
       within U.S. and Canada

         +++++++++++++++++++
 Your 90k Horizon Card is CONVERTABLE
 to the 32x8k memory chips.....
      CALL FOR conversion instructions..

   If you already have a built-up
         HORIZON RAMDISK
We DO NOT recommend converting your 180k
card to the one Meg circuit.

You CAN add 64k to your 180k HORIZON
 RAMDISK to have a total 256k

   This upgrade kit contains:
     8  6264 lp 15 memory chips
     1  74ls02
     1  74ls154
     hookup wire and instructions
     Latest version of MENU programs
   Please do NOT use any KOREA Memory
      Chips.... They just don't work

 IF you have only a 96k HORIZON RAMDISK
   PLEASE CONTACT ME for possible
    conversion to the BIG CARD format.

Just a personal note

I have recieved comments from many that did not buy my kit that wished they had. I know that you will be pleased to recieve QUALITY parts promptly that I personally guarantee. Over 1200 KITS have been sent to satisfied customers.

2000 HORIZON CARDS have been shipped since NOV.1985

P.S. The 32/16 Console Mem Mod by Mike Ballman of The Miami Users Group has successfully added 2 of the 62256lp12 memory chips to the CONSOLE 16 bit BUSS resulting in a 45 to 50% increase in speed. We have added acces to a super cart in the unused memory space.... CAUTION ... This modification may not be compatible for some programs (like FAST-COPY). Game speed will be a real CHALLENGE. Ideal uses are for BBS or Multiplan recalcs. Two 32k chips are required, but only 32k is used. MEMORY SPEED IS SWITHABLE. This kit requires piggyback soldering in YOUR CONSOLE!!! Instructions are provided. BLACK & SILVER CONSOLES ONLY ! ! !

ADV-BASIC

Advanced Basic

Myarc has now released what they call a 'final version' of Advanced Basic. It is bug free as far as Myarc has determined in testing each of it's features. While Myarc has not tested Adv. Basic in any large programs, and/or may have forgotten to test for specific bugs, etc., it could be possible that additional bugs will appear. In order to run this latest version of Adv. Basic, it is a requirement to use version 0.95H of MDOS (I have both MDOS 0.94H and 0.95H in the software section). MDOS 0.95H will require a disk that can handle 720 sectors as it is over 450 sectors in length and provides the full MDOS support of the hard drive, but you can not use MDM5 with Version 0.95H of MDOS. It should be noted that hard drive users should now call the hard drive HDS1 instead of WDS1 or hdS1 as with version of MDOS lower than 1.14 (excluding 0.94H and 0.95H). Myarc has directed anyone locating bugs in Adv Basic, to please send them a short file listing of the error in it's simplest form. The only thing at the moment that you can not use with Adv. Basic is the command BYE. You can use CTRL-ALD-DEL to escape back to MDOS. You should not have a RAMDISK enabled or TIMODE enabled when using Adv-Basic due to memory restrictions. And finally one last thing regarding version of MDOS (this is for 0.94H and 0.95H), do not attempt to format floppies with the hard drive controller as those bugs still exist as they have only been corrected in version 1.15 of MDOS. Happy computing.

BLINK-S


DXOP SYSC,0 B @MAIN * MDOS EQU >0000 USERWS EQU >F000 BLWPWS EQU >F020 * VLIB DATA 6 MMG DATA 7 KEYB DATA 5 * * MEMORY REQUEST * MAIN NOP LWPI USERWS LI R0,1 LI R1,1 LI R2,1 CLR R3 SYSC @MMG MOV R0,R0 JEQ DOWN B @ERROR DOWN LI R0,3 LI R1,1 LI R2,7 SYSC @MMG MOV R0,R0 JEQ BEGIN B @ERROR * * CLEAR SCREEN * BEGIN BL @CLS * LI R0,>37 LI R1,TABLE SYSC @VLIB * * STRING WRITING * * R1: ROW * R2: COLUMN * LI R0,>2E LI R1,>0B LI R2,>20 MOV R2,R7 LI R4,1 LI R5,STR MOVB *R5+,R6 SRL R6,8 SHOW MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 DEC R6 JNE SHOW * MPY @COL,R1 A R2,R7 SRL R7,3 * LI R0,>36 LI R1,>0007 SYSC @VLIB * MOV R0,R5 ANDI R0,>000F SLA R0,4 SRL R5,4 A R0,R5 * * COLOR ALTERNATE REGISTER * SETTING R12 * * R1 : VDP REGISTER # TO SET * R2l: ALTERNATE COLOR SETTING * LSN: TEXT * MSN: FOREGROUND * LI R0,>35 LI R1,12 MOV R5,R2 SYSC @VLIB * * BLINKING REGISTER R13 * * R1 : VDP REGISTER # TO SET * R2l: BLINKING PERIOD * LSN: OFF TIME * MSN: ON TIME * LI R1,13 LI R2,>0036 SYSC @VLIB * * COLOR TABLE CLEARING * LIMI 0 MOV @TABLE,R0 CLR R1 AGAIN BLWP @VSBW INC R0 CI R0,>0B0F JNE AGAIN LIMI 2 * * SCREEN LOCATIONS TO BLINK * A @TABLE,R7 LI R3,STR MOVB *R3,R3 SRL R3,8 CLR R2 DIV @EIGHT,R2 CI R2,1 JL FRACT * LIMI 0 MOV R7,R0 LI R1,>FF00 LOOP BLWP @VSBW INC R0 DEC R2 JNE LOOP LIMI 2 MOV R0,R7 MOV R3,R3 JEQ TASTO * FRACT LIMI 0 MOV R7,R0 DEC R3 SLA R3,1 MOV @MASK(R3),R1 BLWP @VSBW LIMI 2 * TASTO LI R0,>2E LI R1,>16 LI R2,>1E LI R4,1 LI R5,PRESS MOVB *R5+,R6 SRL R6,8 SHOW1 MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 DEC R6 JNE SHOW1 * UP LI R0,4 SYSC @KEYB JNE UP * LI R0,>35 LI R1,13 CLR R2 SYSC @VLIB BL @CLS * ERROR BLWP @MDOS * * VMBW, VSBW * VMBW DATA BLWPWS,BVMBW VSBW DATA BLWPWS,BVSBW BVSBW MOV R13,R1 INCT R1 LI R2,1 JMP DVMBW BVMBW MOV @>0002(R13),R1 MOV @>0004(R13),R2 JEQ EVMBW DVMBW MOVB @>0001(R13),@>F102 MOV *R13,R0 ORI R0,>4000 MOVB R0,@>F102 SWPB R0 UVMBW MOVB *R1+,@>F100 DEC R2 JNE UVMBW EVMBW RTWP * * CLEAR SCREEN * CLS LI R0,>27 LI R1,BLANK MOVB *R1+,R2 SRL R2,8 SYSC @VLIB B *R11 * COL DATA >50 EIGHT DATA >0008 * MASK DATA >8000,>C000,>E000,>F000 DATA >F800,>FC00,>FE00 * PRESS BYTE >15 TEXT 'Press any key to exit' * BLANK BYTE >01,>1A * STR BYTE >0F TEXT 'HI! GENEVE USER' EVEN * TABLE BSS >18 * END

EA6DOC/1E







EDITOR ASSEMBLER Release 6.1c =============================== for GENEVE 9640 tested with MDOS 1.14 and GPL 1.04 T H I S P R O G R A M I S P R O V I D E D A S F A I R W A R E ! ! ! Usermanual for a) EA - Extension b) BASIC - Autoloading c) BASIC - Extension C Copyright February 1989 Idea, Programming and Adaption ( 80 characters .....) Steininger Reinhold, Kleinwoert 39, 4030 Linz Austria Editor, Assembler, Editor-Assembler cartridge-program TEXAS INSTRUMENTS (c) 1981 Hexmonitor, I/O-Operations and Gramloader for the TI99/4A Mag. Karl Hagenbuchner, 4050 Traun Austria Design - support and Distributing Schwalm Josef, Smolagasse 4/8/3, 1220 Vienna Austria **ATTENTION**: The Editor and Assembler are copyrighted by TEXAS INSTRUMENTS (c)1981. It is not allowed to use the program without the original EDITOR/ASSEMBLER-PACKAGE of TEXAS INSTRUMENTS. IF YOU LIKE THIS PROGRAM AND LIKE TO USE IT, PLEASE SEND 10 U$ or 120 Oes or 15 DM to STEININGER Reinhold, Kleinwoert 39, 4030 Linz, Austria or to SCHWALM JOSEF, Smolagasse 4/8/3, 1220 Wien. In Germany you can also pay to STEININGER Reinhold, Deutsche Bank, Sparbuch Kto.Nr. 3354032 60. Everbody, who sent the DONATION, will be registrated in a user-list, to get - for paying the outlays - updates of this useful program. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Thanks a lot, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Steininger Reinhold - Schwalm Josef EDITOR-ASSEMBLER V6.1c USER-MANUAL Table of contents ================= Main menu ...........................................2 New E/A-menu-options ................................4 New support for the inputroutine ....................5 New page of the E/A-menu ............................5 New menu-options of the second page .................7 Information about the assembler .....................8 New basic-subroutines ...............................9 Troubles with other programs ........................12 Tips for the GENEVE-GPL-Interpreter .................12 MAIN MENU : =========== 1: TI BASIC For extension to the standard E/A-basic, you can use 25 new subprogram-calls in TI-basic. 2: LOAD AND RUN BASIC If you select LOAD AND RUN BASIC, your GENEVE is looking for a basicprogram, named LOADER. It has the same effect as the subprogram LOADER. If the computer found such a program, it will try to load and to start it. ( Same as the EXTENED-BASIC LOAD program). If TI-Basic won't be found at G>2000, there is a reset to the main title screen. 3: MYWORD The loader is looking for a program named 'MW' on DSK1. If there is no 'MW' , an 'I/O-ERROR 07' will occur and after pressing ENTER a reset to the main-title screen is executed. The RAM on >6000 and >7000 will be automatically unprotected. 4: EDITOR / ASSEMBLER The E/A - Menu is extended with '6 List Directory', '7^TI-BASIC' (normaly situated at G>2000) and a new page. 5: GRAMLOADER The gramloader-files (GL1 and ev. GL2) are attempt to load from the selected diskdrive ( DSK1 - DSK6 )after entering this option. With the gramloader, you are able to load the files of Mag. Hagenbuchners I/O-Operations out of a menu. For further information, please write to Mr. Schwalm Josef, Smolagasse 4/8/3, 1220 Vienna, Austria. 6: DISKMANAGER 1000 The Diskmanager 1000 ( (c) BRUCE CARON OTTAWA TI99-USERS GROUP), with the filenames MGR1 and MGR2, is attempt to load from the selected diskdrive ( DSK1 - DSK6 )after entering this option. 7: I/O-Operations With the I/O-Operations you are able to load or save program-image-files of maximal 8 kByte with a header, that is identical to the Mini Memory EASY BUG header, from DSK1 to DSK6. To load or save GRAM-Files, you have to press 'G' after selecting the diskdrive. Valid filenames are all hexdezimal values from '0000' to 'FFFF'. All files, you create in this way, you can load with the GRAMLOADER. 8: HEXMONITOR The HEXMONITOR supports on the GENEVE 80 characters and displays >BF bytes on one page. Depending on the selected ram (G...Gram/Grom, V...Vram, ram), the right ram-type in the last line on the screen is blinking. You are able to hardcopy the displayed page by pressing 'alt P'. To move a displayed memorypage press instead of F9 'alt T', then select the target memory an press ENTER. It is possible to transfer from GRAM, RAM or VRAM to GRAM, RAM or VRAM. The HEXMONITOR has only two restrictions. The registers for the HEXMONITOR are at >8250. Selecting this portion of ram can cause a crash of your GENEVE. The second problem occours at changing the ram-banks of the TMS 9938. At this point you cant leave the displayed page anymore. Only with 'Ctrl Ctrl Shift', you are able to leave this page to the main title screen of the GPL-Interpreter. NEW SUPPORT : ============= New E/A-menu-options -------------------- Option 2 : This option allows you to select between the TMS9900 - Assembler and the WEIAND - GPL - Assembler (named ASSM3, ASSM4 and ASSM5). 1...TMS - Assembler : The assembler is loading out of GRAM4 and GRAM5. The rest is the same as assembling with the TI-Editor-Assembler modul. 2...GPL - Assembler : Here occurs a question 'FLOPPY/HARD- DISK?'. Selecting an 'F' or 'H' you are asked about the number of the drive, where you will load your GPL-Assmebler. You are able to select between DSK0 to DSK6 and WDS1 to WDS4. The selected drive is displayed in the right corner of the screen. From this point, assembling is the same as with the TI-Assembler. I was not able to test the loading of the GPL-Assembler from a harddisk, because I don't possess one. Testing it under MDOS 1.14 and GPL 1.04 without one, a crash occurs. Option 3,4: The name, saved at the adress stored at >202A (startaddress of the REF-DEF-table), is offered to you as the startname of the actually loaded program. At 98 of 100 cases it is the right name, because mostly assembler-programers use the first DEF-statement for the programname. Option 6: With this option, you can list a directory of DSK0 to DSK6 using a display of 80 characters per line. An option for selecting a path will be supported in a higher version of EDITOR^-^ASSEMBLER^6. When an error occurs, a message is displayed on the bottom of the screen. An exit to the E/A-menu is possible at the diskprompt by pressing F9 and at the end of displaying a directory at the prompt ' Another Diskette Y/N ' by pressing 'Y' or F9. Option 7: Selecting this option, you enter the GPL-program at G>2000. Your GENEVE is looking for the startadress and the name of the program. If there is no pointer to a GPL- program, option 7 is not displayed on the screen. New support for the inputroutine -------------------------------- The inputroutine now supports some new functionkeys: a.) F8.... With F8 you are able to recall the last nine inputs terminated with the ENTER-key. The cursor appears on the fourth inputposition, because corrections are often only changing the number of the diskdrive (fourth position at the inputprompt). b.) F3 corresponds to the F3 (ERASE) from BASIC, EXTENDED BASIC and many other programs. c.) CTRL F1 - CTRL F10: These ten keys you can define at the new page of the E/A-menu. d.) By pressing 'Home' the cursor appeares at the first position of the inpuline. e.) Pressing 'End' the cursor appears at the first position after the last displayed character of the inputline. New page of the E/A-menu: ------------------------- At this page - you reach it with 'Pg Up' or Pg Dn' - you see find information of the system-status and you can change some of them. You see the occupancy of the HIGH- and LOW-memory of your TI-emulation, the status of protection of RAM on >6000 and >7000 and the status of the clock (ON or OFF). Information about the memory-occupancy of the TI99/4A, you find in your E/A-manual. The values , showed on this page, are only correct after using LOAD AND RUN or RUN PROGRAM FILE, because the editor and the assembler don't use pointers to show the occupancy of the ram. The memorybanks at >6000 and >7000 are automatically unprotected after each entry to the EA, because some programs use these parts of the memory. By pressing F1 for >6000 or F2 for >7000 you can change the protectionstatus. The clock, normaly switched off, is displayed in the upper right corner of the screen. You can switch it off or on by pressing F3. If the clock is switched on, it is displayed in each program, which does not use the user-defined interrupt and is started by option 3 or option 5. The display-position depends on the VDP-registers (mostly in the middle in the first or second line of the screen or at 80-character-screens in the right corner of the first line of the screen). The only one program causing problems with the clock, is MYARC BASIC V2.11. Running this program, the clock should be switched off. The clock starts at >8250 to >82B3. Each program, using this locations at the GENEVE, has to be started without the clock or a crash of the computer occurs. Menu-functions of the second page: ---------------------------------- 1...SET CLOCK You can set the clock by the input of hours, minutes and seconds. ^^^^^21:24:00 .....To seperate the numbers you are allowed to ^^^^^^^^^^^^^^^^^^^^^^^use each ASCII-character. The input of ^^^^^^^^^^^^^^^^^^^^^^^the seconds is not necessary. 2...DEFINE FUNCTION-KEYS The keys CTRL F1 - CTRL F10 you can define with any text you like. Selecting this option, the request 'PRESS KEY TO DEFINE : CTRL F' apperars. After pressing the corresponding key, the number of the key is displayed after CTRL Fxx and the input of the text is requested. You are allowed to use each functionkey for input or to edit the input. With ENTER you terminate and save the inputline. Each input with a length up to 32 characters is saved. If it is longer. an error 'STRING TRUNCATED' occurs and only the first 32 characters are saved. The ten keys are predefined with: CTRL F1 - CTRL F4 : DSK1. to DSK4. CTRL F5 - CTRL F8 : WDS1. to WDS4. CTRL F9^^^^^^^^^^^: PIO CTRL F10^^^^^^^^^^: DSK5.SO* If you want to erase a defined key, select it and press enter at the empty inputline. 3...MYWORD The loader is looking for a program named 'MW' on DSK1. If there is no 'MW' , an 'I/O-ERROR 07' will occur and after pressing ENTER you will return to the second page of the EA 6.1c. The RAM on >6000 and >7000 will be automatically unprotected. Information about the assembler: -------------------------------- With the release of the EDITOR-ASSEMBLERV V6.1c the assembler is not able to support the new four commands of the TMS9995. if you want to use them, you have to use DATA-statements. a.) DIVS (DIVide Signed), MPYS (MultiPlY Signed) [<label>] DIVS <gas> [<comment>] [<label>] MPYS <gas> [<comment>] A destination-operand is not used, becase it has always to be R0 and R1 of the userworkspace. opcodes: DIVS = > 0180, format VI MPYS = > 01C0, format VI Examples: DIVS @ADDR DIVS @VALUE(R10) DIVS *R4+ DIVS R2 MPYS @LABEL MPYS @INDEX(R8) MPYS *R7+ MPYS R3 b.) LWP (Load Workspace-Pointer from a register), LST (Load STatus-register) [<label>] LWP <wa> [<comment>] [<label>] LST <wa> [<comment>] Opcodes: LWP = > 0090, format VIII LST = > 0080, format VIII Examples: LWP R5 LWP R12 LST R13 LST R0 To get further information please ask for the TMS 9995-manual. NEW BASIC - SUBROUTINES ======================= CALL ALLSET Using ALLSET resets the charactersets from ASCII^32 to ASCII^128. It is the same as CALL ALLSET in EXTENDED BASIC II plus of MECHATRONIC. CALL BAD You hear a BAD-tone. Example: 100 CALL CLEAR ^^^^^^^^^^^^^^^^^^^^^110 CALL KEY(0,K,S) ^^^^^^^^^^^^^^^^^^^^^120 IF S=0 THEN 110 ^^^^^^^^^^^^^^^^^^^^^130 IF K=89 THEN 200 ('KEY Y') ^^^^^^^^^^^^^^^^^^^^^140 IF K=78 THEN 250 ('KEY N') ^^^^^^^^^^^^^^^^^^^^^150 CALL BAD ^^^^^^^^^^^^^^^^^^^^^160 GOTO 110 CALL BIG CALL BIG loads the big characterset. You know it from the main-titlescreen of the TI. They use ASCII-characters 33 to 96. The small characterset is not affected. It is only usefull to call this subprogram in a BASIC-program, because the interpreter always reloads standard-charactersets entering direct-mode. CALL BYE It is the same as entering 'BYE' in direct-mode. All files are closed and an exit to the main-title-screen is executed. CALL CHARSET The standard characterset is loaded. The small charcterset is not affected. This command has the same effect as in TI-EXTENDED-BASIC. CALL CLKON The clock is switched on and displayed in the upper right corner. CALL CLKOFF The clock is switched off and the screen is cleared. Switching off is clearing the USER-DEFINED interrupt at >83C4. CALL CLOALL CLOALL closes oll open BASIC-files: ^^^^Example:^^^^^^510 CALL CLOALL 'Close all files' 520 CALL QUIT 'Exit to title-screen' ^^^^^^^^^^^^^^^^^^^This example is the same as 'CALL BYE'. CALL COFFSET COFFSET simulates the E/A-VDP-RAM. All programs, started with LOAD AND RUN from the E/A, because of the BASIC-offset you can not see something on the screen, now you can run from TI-BASIC. It is only usefull to call this subprogram in a BASIC-program, because the interpreter always reloads standard VDP-tables entering direct-mode. ^^^^^^Example: 200 CALL LOAD("DSK1.MYPROG") 210 CALL COFFSET 220 CALL LINK("START") CALL EA CALL EA supports entering EDITOR-ASSEMBLER from TI-BASIC. All open files are closed and the USER-DEFINED-interrupt at >83C4 is cleared. CALL GOOD You hear an ACCEPT-tone. Example: 200 CALL GOOD 210 ..... ..... 250 CALL GOOD 260 ..... ..... CALL LOADA CALL LOADB These two programs move memory-images from HIGH-memory >F000 and >F800 to VDP-RAM >0000. They are the opposite of SAVEA and SAVEB. CALL LOADER You call the loader-program (see LOAD AND RUN BASIC). CALL MULCOL With MULCOL you are able to switch from graphicmode 1 (basic - standard mode) to multicolor- mode. CALL MULOF MULOF is for switching from multicolor-mode back to graphicmode 1. Instead of MULOF you can use VIDON. These two subprograms have the same result. CALL NEW CALL NEW has the same effect as "NEW" in directmode, but you are allowed to use "CALL NEW" in a BASIC-programm. CALL PHOLD PHOLD stops the program-execution. After pressing any key program-execution continues. ^^^^^^Example: 300 CALL PHOLD (Waits for pressing a key) ^^^^^^^^^^^^^^^310 CALL GOOD (accept-tone) CALL QUIT An exit to the main-titlescreen of the TI99/4A is executed. ATTENTION: No files are closed. DATA-ERRORS may occur. CALL QUITOF QUITOF disables the Ctrl-Alt-Del-function (QUIT for TI99/4A). CALL QUIT is not affected. CALL QUITON QUITON is the opposite of QUITOF. After calling QUITON, you are able to use Ctrl-Alt-Del to exit to the main-title-screen. CALL SAVEA CALL SAVEB You are able to save two screenimages including character- and colordefinitions to HIGH-Memory starting at >F000 and >F800. These subprograms are the opposites of LOADA and LOADB. CALL VIDOF VIDOF disables the screen. Only th backgroundcolor is visible. CALL VIDON VIDON set VDP-register 1 to make the the screen visible. MULOF has the same effect. Using MULCOL, effects switching the screen on and changing to multicolor-mode. PROBLEMS with other programs: ============================= The EDITOR-ASSEMBLER V6.1c is fully compatible to the EDITOR-ASSEMBLER cartridge of Texas Instruments. It is also compatible to EDITOR-ASSEMBLER 5 for the TI99/4A, by the restrictions of the GENEVE 9640. This means, that E/A 6.1c does not support the commands CS1ON, CS2ON, CS1OF, CS2OF. The DIR-command is supported by the DSR-RAM of the GENEVE. Any GPL-program (or assemblerprogram with GPLLNK) using subprograms of GRAM6 and GRAM7 of the EA5, EA6.0 and EA6.1 will cause a crash. MYWORD V1.2C changes the RAM at >6000 and >7000 and GRAM starting at >C000. So the main-menu-entry-points 2 to 8 are destroyed. Selecting option 2 to 8 cause a crash. Only reloading EA6.1c or clearing the cartridge-space out of the MYARC-GPL-INTERPRETER solve this problem. You find the used versionnumber after selecting EA6.1c from the main menu. Here you find contact-adresses and short notes about the copyrights. TIPS FOR THE GENEVE-GPL-Interpreter: The interpreter supports some useful subprograms for TI-BASIC out of the DSR-RAM. Some users may know them, if they own the MILLER-GRAPHICS-EPROMS for the CORCOMP-DISKCONTROLLER. a.) CALL DIR(X)....X = Number of the diskdrive (1 to 5) CALL DIR shows the directory of the drivenumber declared between the brackets. Using this subprogram the first time, you have to select a drivenumber, otherwise the last declared drive, is known as the default drive. b.) CALL ILR CALL ILR loads the standard E/A-utilities in the LOW-memory. The HIGH-memory will be cleared and prepared to load an assembler-program (compressed or uncompressed DIS/FIX^80^-^code). c.) CALL LR("DSKX.PROGRAM") CALL LR load the same assembler-programs as supported by LOAD & RUN (option 3 of the E/A). d.) CALL LLR("NAME") CALL LLR start assembler-programs loaded by CALL LR into memory and which have no default autostart. This subprogram has the same result as RUN (option 4 of the E/A-menu).

FORTRAN

9640 FORTRAN

Review by: Beery W. Miller

First Impressions:

Well, when I first received my copy of 9640 FORTRAN, I was truly AMAZED. Al Beard had the finest manual and documentation for any software I have ever seen to date. The quality of the manual, the details and examples he provides, and the care he put into his work is almost worth the price of the product excluding the software. I was that impressed.

To begn with, I will admit up front right now, I have never written a Fortran program. My areas of interest have been with c99/MDOS and Assembly Language/MDOS. At the end of this review, you will find a demo Fortran program that I am going to write (I don't know what it will be yet) where I will include the source code and the MDOS Program image file. Please understand that this will be only looking at the manual, a reference book I purchased, and about 20 hours maximum of looking over source code and manuals, reference book, etc.

Before I get started, I need to point several things out. Fortran will most likely be the language we see any program written in that requires any amount of number crunching. I doubt very seriously any programmer outside of Paul Charlton, Al Beard, and maybe Charles Earl, Chris and Dennis Fayerty, and Peter Hoddie, are capable of developing any type DBase program that could handle the number crunching necessary (and size) outside of Assembly language. 9640 Fortran should be the easiest route for most programmers wishing to develop such a program in any short length of time.

When I went out to purchase a reference manual to at least get me started to see what is required for initial setup, I did encounter some problems. Fortran in the IBM world is diminishing and obtaining manuals on the subject may be difficult. I went to 2 Computer store, and two Book Stores before I found the ONLY book on Fortran that was in the largest Mall here in town. I know that the University Book store does have a large collection, it's just that I did not have the time to drive their to get a book. So if you need a reference book, your best bet will be to look at a higher institution of learning where the language is still taught if you want to locate reference books. I did get my book for $8.95, which is much cheaper than most C-Language books or A/L books I have bought.

The manual that comes with 9640 Fortran is fantastic. Support for the video library of MDOS is superb. Almost all video library options are available providing support for mouse, joystick, sprite, bit map graphics, text modes, and also a special 32 column screen mode where TI-Basic programs can be converted with little difficulty. Support for nearly all of MDOS features have been activated. Even the ability to Multi-task within Fortran (this was the first program to enable Multi-tasking) has been developed.

With the initial release of 9640 FORTRAN, four programs written in Fortran were available. Fractals and Filezap have both been around for some time displaying the graphics capabilities and the support for mouse and Disk I/O capability. Also included as one of the 4 programs is a sinewave display plotter and a simple menu driven spreadsheet program.

All four programs represent the wide range of applications that can be developed with 9640 Fortran. With individual sector I/O capability as permitted by 9640 Fortran, nearly anything can be created with 9640 Fortran. Disk Managers, File Copiers, etc. can be easily created with knowledge of the disk layout. Additional MDOS supported, but not 9640 Fortran features, can be added as the Linker provides support for external routines to be added. This means that the MDOS Format routine could be implemented in short A/L - Fortran Link sequence if that feature was desired. Other MDOS routines (XOP's) can just as easily be implemented, although nearly all are already incorporated.

One feature that I have been impressed with on 9640 Fortran has been the utilization of additional memory outside of the 64K directly accessible to most applications. Al Beard has provided a couple of routines to permit expanding that memory up to what the system has available. In essence, this means if you have a program that is 256K in size, you do not need to worry about banking memory in and out as this is done automatically. From a recent tutorial by Al, he suggests that data tables, etc. would be better placed in memory higher above 64K, such as >100000, whereas we would normally see >FFFF as the highest available memory address. This could provide us the space to hold that spreadsheet data that is 80 columns wide and 250 rows deep (as an example), without eating some of the faster memory. I am not sure from the documentation, or tutorials, that actual programming code can exist above >FFFF, but hopefully Al will answer this question for the next issue (Al is receiving several complimentary issues) and perhaps provide a tutorial of sorts in Fortran in the very near future after he repairs his system (Ask Al and he will tell you not to pull a HFDCC from a system while it is on or else....).

The one thing that to me appears to lack in the use of Fortran (not 9640 Fortran in particular), is the use of character strings. Fortran appears not to be a language to develop a word processor or a a sorting program. C-Language is the area for those applications as C-Language in turn lacks the mathematical capabilties of Fortran. My demo revolves around the creation of random numbers to draw lines on the screen and then clearing itself when CTRL-ALT-DEL is pressed. Source code is provided with the file. If you notice, to accomplish that bit of graphics required fewer than 20 lines of code Fortran. This is due to the support from Fortran and the libraries that Al has provided. The actual file created requires almost 8K of memory space as the majority of the code contains the support routines for the video library such as drawing lines, random number generator, etc. The work you are required to do is very small.

If you are considering attempting to learn a programming language, I would highly consider looking at 9640 Fortran. It is probably the cheapest and certainly one of easiest programming languages to start off. The tutorials and online help that Al provide are certainly to your advantage. It is also probably the only language available that will permit you to program beyond 64K without worrying the CPU requirements. If you do decide to purchase 9640 Fortran, please mention that you read about it in 9640 News. The more other people hear about 9640 News, the more support I will receive and be able to expand it even more to benefit everyone else.

Hopefully, next issue, Al will have a tutorial on string handling/manipulation with the capabilities of converting DIS/FIX 128 files to DIS/VAR 80 files. This was a suggestion I tossed at him and I am sitting back waiting for a response now. Until next issue, ..........

GENKEY-S

* MDOS KEYBOARD SCAN
* This version (MDKEY) works
* at >0400 (no relocation)
*
* Paolo Bagnaresi, 30 Dec. 1988
* San Donato Milanese, Italy
*
       DXOP SYSC,0
       B    @KEY
*
MYWORK EQU  >F000
UTILWS EQU  >F020
MAPPER EQU  >F110
MDOS   EQU  >0000
*
MMG    DATA 7
KEYB   DATA 5
VLIB   DATA 6
*
KEY    LWPI MYWORK
       LI   R0,1
       LI   R1,7
       LI   R2,1
       CLR  R3
       SYSC @MMG
       MOV  R0,R0
       JEQ  GO
       B    @ERROR
*
GO     LI   R0,4
       LI   R1,MAP
       LI   R2,8
       SYSC @MMG
       CLR  R3
MAPMOV MOVB @MAP+1(R3),@MAPPER+1(R3)
       INC  R3
       CI   R3,7
       JNE  MAPMOV
       MOV  R0,R0
       JEQ  STARTX
       B    @ERROR
*
STARTX CLR  R9
*
START  BL   @BLANK1
       BL   @FROW
START2 BL   @SHOW
       DATA ROWO,COLO,OPT
START1 MOV  R8,R0
       SYSC @KEYB
       JNE  START1
       CI   R0,2
       JNE  A
B      CB   R1,@A01
       JEQ  OTHER
       JNE  AHEAD1
A      CI   R0,1
       JNE  OTHER1
       JMP  B
*
OTHER1 CB   R1,@SPACE
       JNE  AHEAD1
OTHER  INC  R9
       CI   R9,2
       JL   AHEAD
       JEQ  START
       B    @FINE
AHEAD1 CLR  R9
AHEAD  BL   @BUFF
       BL   @SHOW
       DATA ROW,COL,STR
       INC  @ROW
       C    @ROW,@MAX
       JNE  START1
       CLR  @ROW
       INCT @ROW
       A    @TEN,@COL
       C    @COL,@MAXCOL
       JNE  START1
       CLR  @COL
       BL   @BLANK
       DATA 2,0
       JMP  START2
*
* BL @FROW
*
FROW   MOV  R11,@SAVRTN
       LI   R0,>2E
       CLR  R1
       LI   R2,1
       LI   R4,1
       LI   R5,ROWL
       MOVB *R5+,R6
       SRL  R6,8
CONT   MOVB *R5+,R3
       SRL  R3,8
       SYSC @VLIB
       INC  R2
       DEC  R6
       JNE  CONT
WAIT   LI   R0,4
       SYSC @KEYB
       JNE  WAIT
       CI   R9,2
       JNE  WAIT1
       CB   R1,@SPACE
       JNE  WAIT1
       BL   @BLANK1
       BLWP @MDOS
WAIT1  CLR  R9
       CB   R1,@ZERO
       JL   WAIT
       CB   R1,@ZERO+1
       JH   WAIT
       MOV  R1,R8
       SRL  R8,8
       ANDI R8,>000F
       CLR  @ROW
       INCT @ROW
       CLR  @COL
*
       SRL  R1,8
       MOV  R1,R3
       LI   R0,>2E
       CLR  R1
       LI   R2,>11
       SYSC @VLIB
       MOV  @SAVRTN,R11
       B    *R11
*
* BL @BUFF
*
BUFF   MOVB R1,@STR+1
       MOVB R1,R5
       LI   R2,2
       SRL  R1,8
ALL    ANDI R1,>000F
       CI   R1,9
       JH   GIU
       AI   R1,>0030
       JMP  NEXT
GIU    AI   R1,>0037
NEXT   SWPB R1
       MOVB R1,@STR+4(R2)
       DEC  R2
       JEQ  NEXTO
       MOVB R5,R1
       SRL  R1,12
       JMP  ALL
NEXTO  B    *R11
*
* BL @SHOW
*
SHOW   LI   R0,>2E
       LI   R4,1
       MOV  *R11+,R1
       MOV  *R1,R1
       MOV  *R11+,R2
       MOV  *R2,R2
       MOV  *R11+,R5
       MOVB *R5+,R6
       SRL  R6,8
SHOW1  MOVB *R5+,R3
       SRL  R3,8
       SYSC @VLIB
       INC  R2
       DEC  R6
       JNE  SHOW1
       B    *R11
*
* BL @DISP
*
DISP   MOV  *R11+,R1
       MOVB *R1+,R2
       SRL  R2,8
       LI   R0,>27
       SYSC @VLIB
       B    *R11
*
* BL @BLANK
*
BLANK  LI   R0,1
       SYSC @VLIB
       MOV  R2,R5
       MOV  R1,R4
       LI   R0,>2E
       MOV  *R11+,R1
       MOV  *R11+,R2
       S    R1,R5
       LI   R3,>0020
BLK    SYSC @VLIB
       INC  R1
       DEC  R5
       JNE  BLK
       B    *R11
*
* BL @BLANK1
*
BLANK1 LI   R1,BLNK
       MOVB *R1+,R2
       SRL  R2,8
       LI   R0,>27
       SYSC @VLIB
       B    *R11
*
ERROR  BL   @DISP
       DATA ERRMSG
*
FINE   BL   @BLANK1
       BLWP @MDOS
*
MAP    BSS  >0008
*
ZERO   DATA >3035
ROW    DATA >0002
COL    DATA >0000
ROWO   DATA >0016
COLO   DATA >0000
MAX    DATA >0014
MAXCOL DATA >0050
TEN    DATA >000A
K      DATA >0000
SAVRTN DATA >0000
*
SPACE  BYTE >20
A01    BYTE >01
*
ERRMSG BYTE >19
       TEXT 'MEMORY MANAGEMENT ERROR'
       BYTE >0D,>0A
*
ROWL   BYTE >0F
       TEXT 'KEYBOARD (0/5)?'
*
STR    BYTE >06
       TEXT '  =>  '
*
OPT    BYTE >60
       TEXT 'Press twice SPACE or A or H to change'
       TEXT ' KEYBOARD option. To return to MDOS p'
       TEXT 'ress  SPACE once again'
*
BLNK   BYTE >01,>1A
*
       EVEN
*
       END

LIFE-S


DXOP SYSC,0 B @LIFE * MDOS EQU >0000 PATT EQU >E000 USERWS EQU >F000 BLWPWS EQU >F020 MAPPER EQU >F110 * VLIB DATA 6 MMG DATA 7 KEYB DATA 5 * * MEMORY REQUEST TO SYSTEM * LIFE NOP LWPI USERWS LI R0,1 LI R1,7 LI R2,1 CLR R3 SYSC @MMG MOV R0,R0 JEQ GO B @ERROR * GO LI R0,4 LI R1,MAP LI R2,8 SYSC @MMG CLR R3 MAPMOV MOVB @MAP+1(R3),@MAPPER+1(R3) INC R3 CI R3,7 JNE MAPMOV MOV R0,R0 JEQ RGB B @ERROR * * SCREEN COLORS * RGB LI R0,>29 LI R1,>0301 SYSC @VLIB * LI R0,>0D LI R1,>03 CLR R2 SYSC @VLIB * BL @CLEAR * * * TITLE SCREEN * GO1 BL @MODE DATA 0 * BL @PATRN DATA POINT,12,>80 * BL @WRITVD DATA 1,11,AUTHOR * MOVB @SOL,R3 SRL R3,8 LI R0,>2E LI R5,2 LI R1,7 FIRST LI R2,7 LI R4,2 SYSC @VLIB AI R2,7 INCT R4 SYSC @VLIB AI R2,6 INC R4 SYSC @VLIB AI R2,7 SYSC @VLIB INC R1 DEC R5 JNE FIRST * LI R5,2 SEC LI R2,7 LI R4,2 SYSC @VLIB AI R2,8 SYSC @VLIB AI R2,5 SYSC @VLIB AI R2,7 SYSC @VLIB INC R1 DEC R5 JNE SEC * LI R5,2 THIRD LI R2,7 LI R4,2 SYSC @VLIB AI R2,8 SYSC @VLIB INCT R4 AI R2,5 SYSC @VLIB AI R2,7 SYSC @VLIB INC R1 DEC R5 JNE THIRD * LI R5,2 DECT R4 FOURTH LI R2,7 SYSC @VLIB AI R2,8 SYSC @VLIB AI R2,5 SYSC @VLIB AI R2,7 SYSC @VLIB INC R1 DEC R5 JNE FOURTH * LI R5,2 FIFTH LI R4,5 LI R2,7 SYSC @VLIB AI R2,7 DEC R4 SYSC @VLIB DECT R4 AI R2,6 SYSC @VLIB AI R2,7 INCT R4 INC R4 SYSC @VLIB INC R1 DEC R5 JNE FIFTH * BL @WRITVD DATA 23,9,BEGIN * LI R0,>0D LI R1,>03 LI R2,>0733 SYSC @VLIB BLWP @GSOUND * * FIRST PAGE * UP LI R0,4 SYSC @KEYB JNE UP CB R1,@CTRLC JEQ EXIT1 JMP INIT EXIT1 B @FINE * INIT BL @BLANK BL @MODE DATA 1 * BL @PATRN DATA VT,32,>83 * LI R0,>2E LI R5,PRES LI R4,1 CLR R1 SCR1 CLR R2 SCR MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 CI R2,40 JNE SCR INC R1 CI R1,23 JNE SCR1 * LI R0,>2F CLR R1 LI R2,45 MOVB @VERT,R3 SRL R3,8 LI R4,23 SYSC @VLIB * HALF BLWP @GSOUND BL @WRITVD DATA 0,50,DEF * UP2 LI R0,4 SYSC @KEYB JNE UP2 CB R1,@CTRLC JNE DW B @FINE DW CB R1,@Y JEQ YES CB R1,@N JEQ NO BLWP @BSOUND JMP UP2 * * DEFAULT CONFIGURATION * YES CLR @FLAG BL @YN DATA 0,79 MOV @FIRSTG,@FSTGEN * BL @GRID DATA 10,51 * YES2 BLWP @GSOUND BL @WRITVD DATA 23,50,SURE JMP UP3 * * USER DEFINED CONFIGURATION * NO SETO @FLAG BL @YN DATA 0,79 * * # OF CELLS * BL @WRITVD DATA 2,50,CELLS JMP UP4 UP4X BLWP @BSOUND UP4 LI R0,4 SYSC @KEYB JNE UP4 CB R1,@CTRLC JNE DW2 B @FINE DW2 CB R1,@THREE JLT UP4X CB R1,@SEVEN JGT UP4X MOVB R1,R3 SRL R3,8 ANDI R3,>000F MOV R3,@FSTGEN A R3,R3 MOV R3,@LIM1 BL @YN DATA 2,71 * LI R5,3 LI R0,>2E CLR R1 LI R2,50 LI R3,>0020 LI R4,30 CLROW SYSC @VLIB INC R1 DEC R5 JNE CLROW * BL @GRID DATA 10,51 BL @GFORM * CLR R12 * AGAIN BL @CELOC DATA TWO,R80,C80 * BL @GRIDX * DOWN1 INC @TWO INCT R12 C R12,@LIM1 JNE AGAIN * SRL R12,1 S R12,@TWO * JMP YES2 * * ARE YOU SURE? * UP3 LI R0,4 SYSC @KEYB JNE UP3 CB R1,@CTRLC JNE DW1 B @FINE DW1 CB R1,@Y JEQ YES1 CB R1,@N JEQ DW3 BLWP @BSOUND JMP UP3 * DW3 LI R0,>2E CLR R1 LI R2,50 LI R3,>0020 LI R4,30 HALFSC SYSC @VLIB INC R1 CI R1,24 JNE HALFSC * B @HALF * * YES. BEGIN PLAY * YES1 BL @YN DATA 23,70 * INIT1 BL @BLANK BL @MODE DATA 0 * MOV @FSTGEN,R3 A R3,R3 INITLP MOV @FSTGEN(R3),R4 MOVB @H01,@SCRN(R4) DECT R3 JNE INITLP BL @SHOWIT KEY LI R0,4 SYSC @KEYB JNE KEY CB R1,@CTRLC JNE BACKT B @FINE BACKT CB R1,@ESC JNE CLCGE BL @CLEAR B @INIT * * NEXT GENERATIONS * CLCGE CLR @COUNTR CLCGEN INC @COUNTR BLWP @COUNT LI R1,33 LI R3,22 CLCLP LI R4,30 CLCNBR CLR R5 CLR R6 NBRS MOV R1,R7 A @OFFSET(R6),R7 CB @SCRN(R7),@H00 JEQ NXTNBR CB @SCRN(R7),@H02 JEQ NXTNBR INC R5 NXTNBR INCT R6 CI R6,16 JLT NBRS CB @SCRN(R1),@H01 JEQ CELLON CI R5,3 JEQ CHANGE JMP NOCHG CELLON CI R5,2 JEQ NOCHG CI R5,3 JEQ NOCHG CHANGE AB @H02,@SCRN(R1) NOCHG INC R1 DEC R4 JNE CLCNBR INCT R1 DEC R3 JNE CLCLP * LI R5,33 LI R3,22 LOOP LI R4,30 LOOP1 MOVB @SCRN(R5),R6 SRL R6,8 MOVB @AFTER(R6),@SCRN(R5) INC R5 DEC R4 JNE LOOP1 INCT R5 DEC R3 JNE LOOP BL @SHOWIT * KEYN LI R0,4 SYSC @KEYB JNE KEYN CB R1,@CTRLC JEQ FINE CB R1,@ESC JNE CLCGEN BL @CLEAR B @INIT * * ERROR MANAGEMENT * ERROR BL @DISP DATA ERRMSG * FINE BL @BLANK BL @MODE DATA 1 BLWP @MDOS * * BLWP @COUNT - SCREEN COUNTER * COUNT DATA BLWPWS,$+2 MOV @COUNTR,R6 CI R6,>7FFF JNE GOH LI R6,1 * GOH LI R7,TABLE LI R0,>2E LI R1,1 LI R2,1 LI R4,1 LI R8,4 NUMB CLR R5 DIV *R7+,R5 AI R5,>0030 MOV R5,R3 SYSC @VLIB INC R2 DEC R8 JNE NUMB AI R6,>0030 MOV R6,R3 SYSC @VLIB RTWP * * BL @CLEAR - CLEAR CELLS BUFFER * CLEAR LI R1,>02FE CLR CLR @SCRN(R1) CLR @GENSCR(R1) DECT R1 JLT COME JMP CLR COME B *R11 * * BL @DISP - DISPLAY ERROR * DISP MOV *R11+,R1 MOVB *R1,R2 SRL R2,8 INC R1 LI R0,>27 SYSC @VLIB B *R11 * * BL @SHOWIT DISPLAY GENERATION ON SCREEN * SHOWIT LI R5,767 BLDSCR CB @H00,@SCRN(R5) JEQ BLK MOVB @STAR,@GENSCR(R5) JMP NXTPOS BLK MOVB @BLNK,@GENSCR(R5) NXTPOS DEC R5 JLT OUTSCR JMP BLDSCR * OUTSCR LI R0,>2E LI R4,1 LI R6,GENSCR MOV @TROW,R1 ONE1 MOV @LCOL,R2 ONE0 MOVB *R6+,R3 SRL R3,8 SYSC @VLIB INC R2 C R2,@RCOL JLE ONE0 INC R1 C R1,@BROW JLE ONE1 B *R11 * * BL @BLANK - CLEAR SCREEN * BLANK LI R0,>27 LI R1,CLS MOVB *R1,R2 SRL R2,8 INC R1 SYSC @VLIB B *R11 * * BL @GFORM - * GFORM LI R0,>2E CLR R1 LI R2,57 LI R4,1 LI R5,ROWCOL MOVB *R5+,R6 SRL R6,8 UPS MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 DEC R6 JNE UPS LI R2,50 INC R1 LI R3,>85 LI R4,15 SYSC @VLIB AI R2,6 INC R3 LI R4,1 SYSC @VLIB MOV *R2+,*R2+ SYSC @VLIB MOV *R2+,*R2+ SYSC @VLIB MOV @FSTGEN,R7 INC R1 MOV R1,R8 ALL MOVB @CELL+6,R5 AI R5,>0100 MOVB R5,@CELL+6 LI R5,CELL LI R2,50 MOVB *R5+,R6 SRL R6,8 CLK MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 DEC R6 JNE CLK LI R3,>0083 SYSC @VLIB MOV *R2+,*R2+ SYSC @VLIB MOV *R2+,*R2+ SYSC @VLIB INC R8 MOV R8,R1 DEC R7 JNE ALL * LI R5,>3000 MOVB R5,@CELL+6 * B *R11 * * BL @GRID - GRID BUILDING * DATA X,Y X-->R1: ROW * Y-->R2: COL * GRID MOV *R11+,R1 MOV *R11+,R2 MOV R1,@RC MOV R2,@RC+2 LI R0,>2E MOVB @PNT,R3 SRL R3,8 LI R4,16 GRD SYSC @VLIB INC R1 CI R1,22 JNE GRD * LI R4,1 MOV @RC,R1 DEC R1 MOV @RC+2,R2 MOVB @FIXC,R3 SRL R3,8 INC R3 SYSC @VLIB INCT R2 SYSC @VLIB INCT R2 INC R2 DEC R3 SYSC @VLIB INC R3 INCT R2 SYSC @VLIB DEC R3 INCT R2 INC R2 SYSC @VLIB INCT R2 INC R3 SYSC @VLIB DEC R3 INCT R2 INC R2 SYSC @VLIB * INC R1 MOV @RC+2,R2 DEC R2 MOVB @FIXR,R3 SRL R3,8 INC R3 SYSC @VLIB INCT R1 SYSC @VLIB DEC R3 INCT R1 INC R1 SYSC @VLIB INCT R1 INC R3 SYSC @VLIB INCT R1 INC R1 DEC R3 SYSC @VLIB * MOV @FLAG,@FLAG JNE RET1 * GRIDX MOV @FLAG,@FLAG JNE BOTTOM LI R7,16 MOV R7,@LIM * LI R7,2 MOVCEL MOV @FIRSTG(R7),@FSTGEN(R7) INCT R7 C R7,@LIM JNE MOVCEL * LI R7,2 CAR MOV @FSTGEN(R7),R6 CARX CLR R5 CLR R8 CLR R13 DIV @DV,R5 SRL R5,1 JOC A2 SRL R6,1 JOC A1 * CAR1 MOV @RC,R1 MOV @RC+2,R2 A R5,R1 A R6,R2 MOV R1,R9 MOV R2,R10 LI R0,>0B SYSC @VLIB MOV R0,R3 LI R0,>24 LI R1,PATT LI R2,1 SETO R4 SYSC @VLIB MOV @PATT(R13),R3 SZC @AND(R8),R3 MOV R3,@PATT(R13) INC @PNT1 MOV @PNT1,R3 CLR R4 SYSC @VLIB MOV R9,R1 MOV R10,R2 INC R4 LI R0,>2E SYSC @VLIB * INCT R7 C R7,@LIM JNE CAR JMP RET1 * A1 INCT R8 JMP CAR1 * A2 INCT R13 INCT R13 SRL R6,1 JOC A3 JMP CAR1 * A3 INCT R8 JMP CAR1 * BOTTOM MOV @FSTGEN+2(R12),R6 LI R7,4 MOV R7,@LIM DECT R7 JMP CARX * RET1 B *R11 * * BL @MODE - X=0 40 COLUMNS * DATA X X=1 80 COLUMNS * MODE MOV *R11+,R1 CLR R0 LI R2,1 SYSC @VLIB B *R11 * * BL @WRITVD - WRITE ON SCREEN * DATA X,Y,Z - X-->R1: ROW * Y-->R2: COL * Z-->R5: POINTER TO STRING LENGTH * WRITVD MOV *R11+,R1 MOV *R11+,R2 MOV *R11+,R5 LI R0,>2E LI R4,1 MOVB *R5+,R6 SRL R6,8 MOVA MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 DEC R6 JNE MOVA B *R11 * * BL @PATRN - DEFINE PATTERNS AND ASCII CODE * DATA X,Y,Z X-->R0: PATTERN DEF * Y-->R2: # OF WORDS TO MOVE * Z-->R3: STARTING ASCII CODE * PATRN MOV *R11+,R0 MOV *R11+,R2 MOV *R11+,R3 MOV R2,R5 LI R1,PATT MOVP MOV *R0+,*R1+ DEC R2 JNE MOVP LI R0,>24 LI R1,PATT MOV R5,R2 SRL R2,2 CLR R4 SYSC @VLIB B *R11 * * BL @YN * DATA X,Y X-->R1: ROW * Y-->R2: COL * YN MOVB R1,R3 MOV *R11+,R1 MOV *R11+,R2 SRL R3,8 LI R0,>2E LI R4,1 SYSC @VLIB B *R11 * * BL @CELOC - CELLS LOCATE * DATA X,Y,Z X-->R1: ROW * Y-->R2: COL1 * Z-->R2: COL2 * CELOC MOV *R11+,R1 MOV *R11+,R2 * BLWP @GSOUND CLR R9 MOV *R1,R5 MOV *R2,@RCPLC MOV @RCPLC,R10 JMP NOC * NOC1 BLWP @BSOUND NOC1X MOV @RCPLC,R10 * NOC MOV R5,R1 MOV @RCPLC,R2 LI R3,>0020 LI R4,2 LI R0,>2E SYSC @VLIB MOV @EMPTY,@RW * CLR R6 KK LI R0,4 SYSC @KEYB JNE KK CB R1,@ENTER JEQ DONE3 CB R1,@CTRLC JNE KK1 MOV R11,R10 BL @BLANK BL @MODE DATA 1 BLWP @MDOS MOV R11,R10 B *R11 * KK1 INC R6 CI R6,3 JEQ DONE4 MOVB R1,@RW-1(R6) MOVB R1,R3 SRL R3,8 LI R0,>2E MOV R5,R1 MOV R10,R2 LI R4,1 SYSC @VLIB INC R10 JMP KK * DONE3 C @RW,@EMPTY JLE NOC1 C @RW,@DNINE JHE NOC1 CI R6,2 JEQ DONE2 SWPB @RW JMP DONEX * DONE4 CB R1,@ENTER JEQ DONE2 JMP NOC1 * DONE2 C @RW,@EMPTY JLE NOC1 C @RW,@DNINE JHE NOC1 * DONEX MOV @RW,R7 ANDI R7,>0F0F MOV R7,R4 SRL R7,8 MPY @MP,R7 ANDI R4,>000F A R8,R4 C R4,@MAXMIN(R9) JL NOC1 * INCT R9 C R4,@MAXMIN(R9) JLE GIU DECT R9 JMP NOC1 * GIU INCT R9 CI R9,8 JEQ RET MOV R4,@LOCATE MOV *R11+,R2 MOV *R2,@RCPLC BLWP @GSOUND JMP NOC1X * RET MOV @LOCATE,R5 MPY @DV,R5 A R6,R4 MOV R4,@FSTGEN+2(R12) * B *R11 * * BAD SOUND RESPONSE TONE * BSOUND DATA BLWPWS,$+2 LI R0,>33 LI R1,>00E0 CLR R2 CLR R3 CLR R4 LI R6,>070F LI R7,>0A SYSC @VLIB * INC R0 *BS SYSC @VLIB * JNE BS RTWP * * GOOD SOUND RESPONSE TONE * GSOUND DATA BLWPWS,$+2 LI R0,>33 LI R1,>0580 CLR R2 CLR R3 LI R4,>0002 LI R6,>070F LI R7,>0A SYSC @VLIB * INC R0 *GS SYSC @VLIB * JNE GS RTWP * * * FIRSTG DATA 7,335,366,368 DATA 397,401,429,433 OFFSET DATA -33,-32,-31,-1 DATA 1,31,32,33 POINT DATA >0000,>0018,>1800,>0000 DATA >FFFF,>FFFF,>FFFF,>FFFF DATA >0030,>4884,>B448,>3000 VT DATA >0404,>0404,>0404,>0404 DATA >0090,>0000,>0090,>0000 DATA >0000,>00FF,>0000,>0000 DATA >0000,>00FF,>0404,>0404 DATA >0000,>0000,>8080,>8000 DATA >0000,>0000,>1010,>1000 DATA >0070,>0000,>0000,>0000 DATA >0000,>0000,>0070,>0000 * Y BYTE >59 N BYTE >4E H00 BYTE >00 H01 BYTE >01 H02 BYTE >02 ENTER BYTE >0D ESC BYTE >1B ONE BYTE >31 THREE BYTE >33 SEVEN BYTE >37 NINE BYTE >39 BLNK BYTE >80 SOL BYTE >81 STAR BYTE >82 VERT BYTE >83 PNT BYTE >84 FIXC BYTE >87 FIXR BYTE >89 CTRLC BYTE >03 AFTER BYTE 0,1,1,0 * AUTHOR BYTE >12 TEXT 'M. CARIBONI - 1989' * BEGIN BYTE >16 TEXT 'PRESS ANY KEY TO BEGIN' * * x x 1 x 2 x 3 x 4 * PRES TEXT 'LIFE was originally published by BEST OF' TEXT ' 99 er vol.1. Please, refer to the ' TEXT 'original article for rules. ' TEXT 'Main differences with that version are: ' TEXT '1) You may choose between default setup ' TEXT ' and your own setup. A maximum of 7 ' TEXT ' cells is allowed. ' TEXT '2) Pressing any key on the keyboard, a ' TEXT ' new screen is displayed. ' TEXT '3) Pressing CTRL-C you may return to ' TEXT ' MDOS. Pressing ESC, when in last ' TEXT ' screen, you may return to previous ' TEXT ' screen. ' TEXT '----------- ' TEXT 'Video Routines are based on VIDEO XOPs ' TEXT 'released by Paul CHARLTON. LIFE has been' TEXT ' tested with MDOS 1.14. Older versions ' TEXT 'of MDOS could not be compatible. ' TEXT '----------- ' TEXT 'Massimo Cariboni ' TEXT 'V. Agadir, 2B ' TEXT '20097 S. DONATO MIL. (MI) ' TEXT 'ITALY ' * * x x 1 x 2 x 3 * CLS BYTE >01,>1A * DEF BYTE >1C TEXT 'Default configuration (Y/N)?' * SURE BYTE >13 TEXT 'Are you sure (Y/N)?' * CELL BYTE >06 TEXT 'Cell 0' * ROWCOL BYTE >07 TEXT 'ROW COL' * SETUP BYTE >19 TEXT 'Press any key to continue' * CELLS BYTE >15 TEXT 'How many cells (3/7)?' * EVEN * TROW DATA 0 LCOL DATA 8 BROW DATA 23 RCOL DATA 39 MAXMIN DATA 1,22,1,30 R80 DATA 57 C80 DATA 61 * DNINE DATA >3939 TWO DATA 2 CL DATA 0 FLAG DATA 0 DV DATA 32 MP DATA 10 LIM DATA 16 LIM1 DATA 0 EMPTY DATA >3030 PNT1 DATA >008B AND DATA >0080,>0010 H2000 DATA >2000 TABLE DATA 10000,1000,100,10 * COUNTR BSS >0002 RCPLC BSS >0002 FSTGEN BSS >0010 RW BSS >0002 RC BSS >0004 MAP BSS >0008 LOCATE BSS >0002 SCRN BSS >0300 GENSCR BSS >0300 * ERRMSG BYTE >19 TEXT 'Memory Management Error' BYTE >0D,>0A * END

LINE_S

C       This demo program prepared for "9640 News" by Beery Miller
C


      program LINES
C     program name
      implicit integer(a-z)
C     let's define all variables a thru z as integers
      call setmod(9)
C     set graphics mode 9
      call clear
C     clear screen
      x2=irand ( 256 )
      y2=irand ( 212 )
C     set x2 and y2 to random numbers
100   do 1000 i=1,100
C     do thru line 1000 from 1 to 100 (i=1 to 100::next i)
       x1=irand ( 256 )
       y1=irand ( 212 )
C     generate random numbers for x1 to 256 and for y1 to 212
       green = irand(7)
       red  = irand(7)
       blue = irand(3)
C     generate rand number combinations for a total random color
       color = green * 32 + red * 8 + blue
C     adds up those colors for the composite color
         call setvec(x1,y1,x2,y2,color)
C     draws a line with cordinates of (x1,y1) to (x2,y2) with color spec
1000  continue
       x2=irand ( 256 )
       y2=irand ( 212 )
      call clear
C     lets generate some more random numbers for another location and repeat it
C     again
       goto 100
      end

MENUMD

Using J.Johnson's MENU program with the 9640 and the HFDC

Several programs do not work well with the EA5 loader in JJ's 9640 Menu program. (Some of the programs that don't load are most early c99 programs,Loadermaker, PC Transfer's EA5 version, and ROM only cartridges.)

I found it too inconvenient to have to reload GPL to run EA with the original GPL files each time I ran into a file that wouldn't load except in the E/A environment. So I changed the Menu program into a cartridge style program by the following steps:

  1. I copied original GPL files to subdirectory \GPL.

  2. I loaded GPL with modified GPx Menu files. I use Jim Scroeder's version as I like the 3 column layout best.

  3. After loading the MENU, load in and select Editor/Assembler.

  4. Run Cartridge Saver (this is the CSAVE program that came with the 9640 for converting cartridges to disk) from EA and save to a new filename. I use JSM (for J.Schroeder's Menu - no real reason!) Save Groms 1 & 2 only! This creates two files JSM and JSM1. This saves your menu as a cartridge that replaces BASIC.

  5. I placed JSM & JSM1 in a subdirectory. I use \CARTS.

  6. I use a batch file to call GPL and any cartridge I want loaded. It is as follows:

            \GPL\GPL WDS1.CARTS.%1

This says to run the original GPL (I use v1.04) and then load whatever cartridge I select (The cartridge must be in CARTS subdirectory or a subdirectory of carts.)

For example, TI JSM will load my newly modified Menu, TI EA will load the Editor/Assembler module, TI GAME.PARSEC will load Parsec (Parsec is in the subdirectory /CARTS/GAME.)

This means that the original GROMS 1 & 2 are always available for use. I normally load TI JSM. When I need to use the E/A cart for EA5 programs that will not load with MENU, I go to the cartridge loader screen and press F3 to clear the cartridge space (dumps the Menu and reloads TI Basic) and load in the E/A cartridge.

The only drawback to this system is that the load time is slightly longer to load the original GPP/GPQ files and then overlay with JSM. However, with a hard drive using an interlace of 22, this is nearly insignificant.

To change the Menu (adding or revising menu options), I save the new menu to a nonexistent drive (I use DSK6 since I don't have a Horizon) and then CSAVE the new cartridge to the CART subdirectory. I have several different Menu CARTs saved with different names. In addition to JSM, I have GAME which is a loader with a lot of EA5/module games, and EDU which loads Education carts & EA5 education pgms. In fact, these menus can be installed as options on the original menu to give a continuing menu system.

Michael Dorman

MOUSE80-S

*
* MOUSE80-S
*
* DEMO FILE FOR USING MOUSE
* WITH TEXT MODE 80 COL
*
       DXOP SYSC,0
       B    @MAIN
*
MDOS   EQU  >0000
USERWS EQU  >F000
BLWPWS EQU  >F020
MAPPER EQU  >F110
*
* MEMORY REQUEST
*
MAIN   NOP
       LWPI USERWS
       LI   R0,1
       LI   R1,7
       LI   R2,1
       CLR  R3
       SYSC @MMG
       MOV  R0,R0
       JEQ  MAIN1
       B    @ERROR
MAIN1  LI   R0,4
       LI   R1,MAP
       LI   R2,8
       SYSC @MMG
       CLR  R3
MAPMOV MOVB @MAP+1(R3),@MAPPER+1(R3)
       INC  R3
       CI   R3,7
       JNE  MAPMOV
       MOV  R0,R0
       JEQ  MAIN2
       B    @ERROR
*
* GET VIDEO MODE
*
MAIN2  LI   R0,1
       SYSC @VLIB
*
* TEXT MODE 80 COL?
*
       CI   R0,1
       JEQ  DEF
*
* SET TEXT MODE 80 COL
*
       CLR  R0
       LI   R1,1
       SYSC @VLIB
*
* USER DEFINED CARACHTERS
*
DEF    LI   R0,>24
       LI   R1,WING
       LI   R2,2
       LI   R3,>80
       CLR  R4
       SYSC @VLIB
*
* CLEAR SCREEN
*
       LI   R0,>27
       LI   R1,CLS
       MOVB *R1+,R2
       SRL  R2,8
       SYSC @VLIB
*
* DIRECTIONS FOR USE
*
       LI   R0,>2E
       LI   R1,>15
       CLR  R2
       LI   R4,>50
       LI   R3,>0081
       SYSC @VLIB
       INC  R1
       LI   R2,>06
       LI   R4,1
       LI   R6,MSG
       MOVB *R6+,R5
       SRL  R5,8
GO     MOVB *R6+,R3
       SRL  R3,8
       SYSC @VLIB
       INC  R2
       DEC  R5
       JNE  GO
       SETO @FLAG
*
* SET MOUSE
*
MOVE   LI   R0,>30
       MOV  @MOUSEX,R1
       MOV  @MOUSEY,R2
       LI   R3,2
       SYSC @VLIB
*
* GET MOUSE
*
       LI   R0,>31
       SYSC @VLIB
       MOV  R3,R5
*
* LEFT BUTTON PRESSED?
*
       CI   R3,>8000
       JEQ  OUT
*
* LEFT &MIDDLE BUTTONS PRESSED?
*
       CI   R3,>6000
       JNE  LIMIT
       BL   @BLINK
       JMP  MOVE
*
* SET LIMITS ON MOUSE MOVE
*
LIMIT  C    R1,@MINX
       JGT  ONE
       MOV  @MINX,R1
       JMP  TWO
ONE    C    R1,@MAXX
       JLE  TWO
       MOV  @MAXX,R1
TWO    C    R2,@MINY
       JGT  THREE
       MOV  @MINY,R2
       JMP  FOUR
THREE  C    R2,@MAXY
       JLE  FOUR
       MOV  @MAXY,R2
FOUR   MOV  R1,@MOUSEX
       MOV  R2,@MOUSEY
*
* CONVERT MOUSE POSITION TO ROW & COL
*
       SRL  R2,3
       MOV  R1,R4
       CLR  R3
       DIV  @SEI,R3
       MOV  R2,R4
       MOV  R3,R2
       MOV  R4,R1
       MOV  R4,R8
*
* GET ASCII CARACHTER FROM SCREEN
*
       LI   R0,>0B
       SYSC @VLIB
       MOV  R0,@LOC
       CI   R0,>0020
       JEQ  CHR
       MOV  @LOC,R3
       JMP  CHR1
CHR    LI   R3,>0080
CHR1   MOV  R8,R1
       LI   R0,>2E
       LI   R4,1
       SYSC @VLIB
*
* RIGHT BUTTON PRESSED?
*
       CI   R5,>2000
       JEQ  WRITE
*
* MIDDLE & RIGHT BUTTONS PRESSED?
*
 
       CI   R5,>6000
       JEQ  NEXT
*
* MIDDLE BUTTON PRESSED?
*
       CI   R5,>4000
       JNE  WRITE2
NEXT   LI   R3,>0020
       JMP  WRITE1
*
WRITE  LI   R3,>0040
WRITE1 SYSC @VLIB
       JMP  MOVE
WRITE2 BL   @FLASH
       MOV  @LOC,R3
       JMP  WRITE1
*
* DISABLE BLINKING
*
OUT    LI   R0,>35
       LI   R1,13
       CLR  R2
       SYSC @VLIB
*
* CLEAR SCREEN
*
       LI   R0,>27
       LI   R1,CLS
       MOVB *R1+,R2
       SRL  R2,8
       SYSC @VLIB
*
* RETURN TO MDOS
*
ERROR  BLWP @MDOS
*
* BL @FLASH
*
* IF THERE IS COINCIDENCE OF TWO CARACHTERS
* ON SCREEN, THEY MUST BE ALTERNATIVELY
* DISPLAYED
*
FLASH  MOV  R11,R10
       LI   R0,>2E
       LI   R4,1
       MOV  @LOC,R3
       CI   R3,>0020
       JNE  FLASH1
*
       SYSC @VLIB
       BL   @LATE
       DATA 0
       LI   R3,>0080
       SYSC @VLIB
       BL   @LATE
       DATA 1000
       JMP  FLASH2
*
FLASH1 LI   R3,>0080
       SYSC @VLIB
       BL   @LATE
       DATA >4000
       MOV  @LOC,R3
       SYSC @VLIB
       BL   @LATE
       DATA >1000
*
FLASH2 B    *R10
*
* BL @LATE
*
LATE   MOV  *R11+,R6
       MOV  R6,R6
       JEQ  LATE1
*
ONCE   NOP
       NOP
       DEC  R6
       JNE  ONCE
*
LATE1  B    *R11
*
* BL @BLINK
*
* WAS AUTHOR JUST REQUESTED?
*
BLINK  INC  @FLAG
       MOV  @FLAG,@FLAG
       JNE  BLINKO
*
* WHERE IS COLOR TABLE?
*
       LI   R0,>37
       LI   R1,TABLE
       SYSC @VLIB
*
* CLEAR COLOR TABLE
*
       LIMI 0
       MOV  @TABLE,R0
       LI   R2,>010F
       CLR  R1
AG     BLWP @VSBW
       INC  R0
       DEC  R2
       JNE  AG
       LIMI 2
*
* READ VDP REGISTER #7
*
       LI   R0,>36
       LI   R1,>07
       SYSC @VLIB
*
* SWAP FOREGROUND WITH BACKGROUND COLOR
*
       MOV  R0,R2
       SLA  R2,12
       SLA  R0,4
       ANDI R2,>F000
       ANDI R0,>0F00
       A    R0,R2
       SRL  R2,8
*
* WRITE VDP REGISTER #8
*
       LI   R0,>35
       LI   R1,>0C
       SYSC @VLIB
*
* DISPLAY AUTHOR
*
       LI   R0,>2E
       LI   R1,>17
       LI   R2,>18
       LI   R4,1
       LI   R6,AUT
       MOVB *R6+,R7
       SRL  R7,8
LOOP   MOVB *R6+,R3
       SRL  R3,8
       SYSC @VLIB
       INC  R2
       DEC  R7
       JNE  LOOP
*
* SET BLINKING PERIODS
*
       LI   R0,>35
       LI   R1,13
       LI   R2,>0055
       SYSC @VLIB
*
* WRITE BLINKING ATTRIBUTE IN
* COLOR TABLE
*
       LIMI 0
       MOV  @TABLE,R0
       AI   R0,233
       LI   R1,BL
       LI   R2,4
       BLWP @VMBW
       LIMI 2
*
BLINKO B    *R11
*
* BLWP @VSBW
* BLWP @VMBW
*
VMBW   DATA BLWPWS,BVMBW
VSBW   DATA BLWPWS,BVSBW
BVSBW  MOV  R13,R1
       INCT R1
       LI   R2,1
       JMP  DVMBW
BVMBW  MOV  @>0002(R13),R1
       MOV  @>0004(R13),R2
       JEQ  EVMBW
DVMBW  MOVB @>0001(R13),@>F102
       MOV  *R13,R0
       ORI  R0,>4000
       MOVB R0,@>F102
       SWPB R0
UVMBW  MOVB *R1+,@>F100
       DEC  R2
       JNE  UVMBW
EVMBW  RTWP
*
MOUSEX DATA 0
MOUSEY DATA 0
MINX   DATA 0
MAXX   DATA 479
MINY   DATA 0
MAXY   DATA 167
SEI    DATA 6
LOC    DATA 0
*
VLIB   DATA 6
MMG    DATA 7
IOL    DATA 8
*
*
MAP    BSS  >0008
TABLE  BSS  >18
FLAG   BSS  >02
*
WING   DATA >FF84,>8484,>8484,>84FF
ROW    DATA >0000,>0000,>FC00,>0000
*
MSG    BYTE >43
       TEXT 'LEFT: EXIT - MIDDLE: DELETE - RIGHT: WRITE'
       TEXT ' - MIDDLE & RIGHT: AUTHOR'
AUT    BYTE >1F
       TEXT 'MASSIMO CARIBONI - ITALY - 1989'
*
BL     BYTE >FF,>FF,>FF,>FE
*
CLS    BYTE >01,>1A
*
       EVEN
*
       END

MT9640DOC

MT9640

With the recent discovery of how to implement multi-tasking, I have developed a very useful utility. The program that I am maintaining copyrights too, should not be distributed without this documentation file. This program is complete at the present moment. Further updates from this program may be commercial. It is up to you to decide if it will be commercial with a price range comparable to that of some of the finer pieces of software available or if future release remain Freeware. Usage of this program on a frequent basis, will require a Fee of $15.00 and will cover any other future updates to the program if you send a mailer/disk/postage. If there is not enough response or feedback from this program, those that sent in their Freeware payment will receive the commercial version at the cost of mailer/disk/postage GUARANTEED and any others have to pay the higher price for the program.

Multi-Tasking

Multi-tasking is the ability to run more than one program at the same time. Before the release of this program, there were very few programs that could handle this feature in any responsible method. Why? Because nobody set any parameters or requirements for programs if they were to Multi-Task. Really, the only programs representing the fact that Multi-tasking exists are demo programs that draw lines, display a clock, play music, and some other small things. Nothing major as a word processor and terminal emulator working side by side. This program is designed to build upon the requirements that will be set forth for multi-tasking when some of the other major software developers/promoters join together. If you have ideas for program design/concepts, please feel free to drop me a note so that everyone will know in what direction we should go.

As the design of the current operating system V1.14 of MDOS, the time slice for each program appears to be about 1/10 of a second per task (program). One suggestion has been to make that slice smaller so that there will be less notice of any delays in one program for another. My feelings (unsupported) are that with the smaller the slice, the more time the operatins system is going to waste making the changes needed to bounce from one program to another (just my thoughts).

My current suggestions for program design for a program should be perhaps a default screen mode (more than likely the 80 column text mode versus a graphics screen), the removal of command line arguments being necessary for a program as these will not run, a smaller window of 18 rows * 80 columns with the remaining lines as a status line where information can be passed to the user and various programs, and also a particular page in memory declared or used to handle passing information between running programs. These are my current thoughs and will depend upon those of others in the very near future.

USING THIS PROGRAM

This program is quite versatile. Utilizing the multitasking feature, I have now made it possible to have a menu program similar in concept to that of John Johnson's Menu program where with the EDIT [1] key, you can edit an option and enter it's filename.

NOTE: As currently written, only prefixes with the original filename will work. This means A:MYART1 will not work, but DSK1.MYART1 will work. This program will support hard drive filenames that use either the hdS1 or WDS1 prefix depending upon their modification to their operating system. If a filename is entered and the option selected defaults back to MT9640, then one of 5 things has happened. One, you mispelled the filename (check lower or upper case), Two, you did not have the correct pathname, Three, the file does not exist, Four, not enough memory, or Five, it is not a legal MDOS file. Due to trying to hold memory requirements down, display of the original filename once entered is not possible. If it is later desired, this may be an added option.

When entering the description for the option that you will see displayed on the screen, if your description is shorter than what is displayed on the screen, space over to the end of the 18 character line to fill it with spaces. This prevents some of your old option text from being displayed.

SAVING YOUR OPTIONS

When you have made your changes, you may then save your options out to your internal RAMDISK as DSK5.MT9640. You will need to have preferably a 30K ramdisk minimum when this program reaches it's final stages. Currently, as long as you have 60 sectors, that is enough space.

UTILIZING MULTI-TASKING

With this third option, you may run up to 5 programs (anything more and the computer is too slow) at the same time. The same restrictions for filename requirements are valid in this case too. If you only want to run 1, 2, 3, or 4 programs, just hit the enter key on whatever remains to bypass each one. If you enter all bad filenames, or no filenames at all, the program will exit at this point as it turns itself off after it has started running the other programs. If you want this program to continue running, just select it's filename as one of the options and it will run itself. Anothe feature has been added if you make one of those common mistakes. If you enter the Multi-Tasking section by accident, providing a NULL (Just hit the enter key) response for the first option will permit you to return to MT9640 after bypassing the other options. Anything else, and you will drop back to MDOS.

To exit a multi-tasking operation, you can either hit the CTRL-ALT-DEL key sequence, or you can quit each program independently by however they are required under normal operation.

DISK OPTIONS

Format

This area is designed to permit a slightly faster formatting time than what can be obtained from MDOS. MDOS verifies all sectors greatly increasing the time to format. Selecting the Format option from this program will prompt you to insert your disk in the drive and ask for drive number. Valid drive numbers are 1 thru 9, while only 1 thru 7 are currently only accessible. I would not recommend attempting to format any RAMDISK from this option. The ESC key is active in this area and pressing the ESC at any prompt, will return you to the main menu.

Clone

This area permits you to clone disks in either of three disk formats. You must make the choice. Selecting more sectors to copy than what is available will result in MDOS attempting to read unavailable sectors that will eventually quit, but will take a while.

NOTICE

Selecting to format a disk without a disk being present, will lock the computer. This is a result of MDOS and perhaps will be corrected in future versions. (This happens on my Cor Comp card so it may not happen on all controllers).

VIEW

This option permits the viewing of DV80 files while running MT9640. If the file can not be located, it will display an error message regarding the problem and continue back at the main menu.

Comment:

This is an important one so you better read it. If you have TIMODE implemented and a RAMDISK partitioned at 120K, this program will not provide much benefit. Due to memory requirements set for by this program and the use of the Multi-Tasking enviroment, a small RAMDISK size is highly suggested. This program requires 64 K and with a 120K RAMDISK and TIMODE, you only have 90K to use. I have found that nearly any program will not work and run due to some type of memory requested to Mult-Task. It is suggested a ramdisk of 32 K be used if you need a ramdisk.

NOTICE:

Subscribers to 9640 News will not require a Fairware payment, although I will not reject anything you may send. This is a benefit for subscribing to 9640 News.

Now, I hope you enjoy this program as much as I have had in writing it to it's current stages.

ACKNOWLEDGEMENTS

This program has to sections of code that I have borrowed from the public domain. The first section is that written by Clint Pulley for the Directory Option. This section is the one that has caused the greatest headache in implementation as Clint chose to use non-standard MDOS screen I/O that resulted in many Mysterious things happening. After assembling the code with this portion at the end of the file, the problems disappeared as I began to suspect his code was writing over some of the program. The other section of code is that written by Dave Ramsey from his MORE program that has been incorporated into many programs. This section of code had several modifications to fit within the scope of this program. I thank both Dave Ramsey and Clint Pulley for providing their source code to the public domain. If anyone is interested, my source code may be obtained by writing to the address given in the program at $3.50 if you are a 9640 News Subscriber, or $15.00 if you are not a subscriber.

MYART-BUG

Martin Zeddies
Hauptstrasse 26
3180 Wolfsburg 22

Ferderal republic of Germany

Reislingen the,10th of April 89

WARNING FOR ALL MYART V1.21 USER !

The greatest wide-spred graphic program for the MYARC GENEVE 9640 copmuter system ist the MYART-program by MYARC,Inc. Now we (the germans) have found an hard error on the save routine in the version 1.21 of this program.

Make the following test: Load an picture from your disk.After loading you can save ist whith the same name of an onther disk by change the disk in the loading drive.You must not type a new name to save the file of the new disk,because you can go through the prompt line with the cursor key and the old name appeared on screen (like you work in MDOS). Be careful !! BECAUSE WHEN YOU GO ONE STEP ABOUT THE OLD ENTRY TO THE RIGHT THE PROGRAM WILL HANG UP YOUR SYSTEM. You will have no problems when you type in the save name via the key board.

ORDERFORM


Mail Order Form to: Beery W. Miller 5455 Marina Cove #1 Memphis, TN 38115 USA Ship to: _____________________ _____________________ _____________________ _____________________ _____________________ Quant Format Title Quant Format Title Quant Format Title _____ ______ _________ _____ ______ _________ _____ ______ _________ _____ DS/SD GIFNUDE01 _____ DS/SD GIFTUNE01 _____ DS/SD *MACFLIX01 _____ DS/SD GIFNUDE02 _____ DS/SD GIFTUNE02 _____ DS/SD *MACFLIX02 _____ DS/SD GIFNUDE03 _____ DS/SD GIFTUNE03 _____ DS/SD *MACFLIX03 _____ DS/SD *GIFNUDE04 _____ DS/SD GIFTUNE04 _____ DS/SD *MACFLIX04 _____ DS/SD GIFNUDE05 _____ DS/SD GIFTUNE05 _____ DS/SD *MACFLIX05 _____ DS/SD GIFNDUE06 _____ DS/SD *GIFTUNE06 _____ DS/SD *MACFLIX06 _____ DS/SD *GIFNUDE07 _____ DS/SD *GIFTUNE07 _____ DS/SD *MACFLIX07 _____ DS/SD *GIFNUDE08 _____ DS/SD *GIFTUNE08 _____ DS/SD *MACFLIX08 _____ DS/SD *GIFNUDE09 _____ DS/SD *GIFTUNE09 _____ DS/SD *MACFLIX09 _____ DS/SD *GIFNUDE10 _____ DS/SD *GIFTUNE10 _____ DS/SD *MACFLIX10 _____ DS/SD *GIFNUDE11 _____ DS/SD *GIFTUNE11 _____ DS/SD *MACFLIX11 _____ DS/SD *GIFNUDE12 _____ SS/SD *SPECS9640 _____ DS/SD *MACFLIX12 _____ DS/SD C99-MDOS _____ SS/SD *AFHR-SRC _____ DS/SD *MACFLIX13 _____ SS/SD GPLV1-04 _____ DS/SD *MDOS0-94H _____ DS/SD *MACFLIX14 _____ SS/SD ASSEMBLY _____ DS/SD *MDOS0-95H _____ DS/SD *MACFLIX15 _____ DS/SD *DISNEY01 _____ DS/SD *MDMV1-29 _____ SS/SD *ADVBAS0605 _____ DS/SD *DISNEY02 _____ DS/SD *C99MR1 _____ SS/SD *MT9640-SRC _____ SS/SD GIF-PGM _____ DS/SD *XHI (V3) _____ SS/SD *PHOENIX114 ______________________________________________________________________________ * New files since Vol 1 #2 of 9640 News Total #: _______ Disks @ $2.50 each (US/Canada) @ $4.00 each (Foreign delivery) Amount Paid $_______ (Check or money order) Note: The following statement must be signed before I will ship any of the above software. Some or part of the programs I order may be classified as Fairware, Shareware, or Pay-Me-Ware programs. I understand that if I order and use any programs on a regular basis, that the author of such program has required me to pay him his fee for the program besides any fees that "9640 News" has collected for shipping and handling costs. Copywrighted programs by Myarc, Inc have been placed onto public domain services and do not require any fees. Public domain programs require no additional fees unless you wish to display your generosity for that person's work. _________________________ (your signature and date)

QUESTIONS

QUESTIONS

Question (Bob Sherburne): I am trashing MDOS V1.14. The reason being that it has a tendancy to lunch my 256K Horizon almost any time I try a file copy from MDOS from any drive to any other drive. Do you have any idea what is happening here?

Answer: While I have not experienced the exact same problems you have, I have had problems with my own 256K Horizon. It seems the Horizon should be formatted to 992 sectors and not 1000 sectors as the system is doing. When sectors 993 thru 1000 are written too, I have noticed the operating system becoming trashed. I have fixed this manually with a sector editor by changing sector zero. The easies way to describe how to do this, is to set up a Geneve RAMDISK of 248K, view sector zero with a sector editor, and then edit sector zero of the Horizon Ramdisk to match (Make sure your Horizon has no files on it or you will lose the contents). This should effectively make your system look like it has 992 sectors (990 sectors free/ 2 used) and hopefully, solve your problems. Please do this after you have loaded a fresh operating system.

Question (Bob Sherburne): Have you heard of any way to make the 384+K ram disk work correctly with the HFDC?

Answer: Since you have both the 384+K and a 256K, I have heard comments regarding using the 256K at the higher CRU base address and the 384+K at >1400. I think this might also solve the problems you mentioned with regards to initializing the Phoenix past 1024 sectors that you comment about in your letter.

Question (Matt Juppo): I received Vol1 #1 and Vol1 #2 of 9640 News and I am writing in regard to a problem I had with them. First of all. I have 2 drives: Drive one is a new DS/DD and drive two is a DS/DD drive that I recently had realigned. My problem is that both of your disks will work fine in my new drive, but some of the files will not work in my second drive: ARC1 and NEWS-ARK for an example. I took my second drive back in and had it checked out with no problem being found. I then copied your disks from my new drive onto DSK2 and the copy disks work fine on both drives which brings me to ask if you are experiencing any problems with your copy drive or the program you are using to copy these disks? I thought I would let you know in case other subscribers might be experiencing the same problems I did.

Answer: Matt, so far, I have not experienced the problems you mention with anyone else. I have had some disks returned due to a copy problem or a mail damage problem that when I attempted to read it, the problem was there too. We have one user here in town that has had continuous problems with some drives he aligned on his own. He uses the Cor Comp Controller card and as long as he keeps his disks on his system, they are fine, but if he uses his disks on another system, or your own on his, PROBLEMS IMMEDIATELY occur. Trying on the most simplest of terms of diagnosing the problem, here it is (at least my opinion):

When a disk is formatted, it is done a track at a time, not sector by sector. You write all 18 sectors out at one time if you are formatting double density. There is more information written and required to write out a track than just the sector information. What is required is some timing bytes and ID bytes that is written between the sectors and at the beginning of the each track. I am then assuming you are having problems writing out out that in-between information at the start of each track that can cause problems. This was part of the problem with the HFDCC in formatting to floppies. IF NOT ENOUGH bytes are written initially, trying to read that track will cause an error and almost make it impossible to read that track. I believe somehow, your disk drive is improperly writing and/or reading each track's information due to the alignment problem. I have been copying with Hyper-Copy using some suggested settings to optimize reading and writing. These settings could possibly be a hair too fast for your drive to read them properly as your drive was probably tested on some type of IBM workstation that would not be using some alternate settings and may not catch the problem. Part of the problem lies in the Cor Comp DSR code too, so the drive may not be totally at fault. My question to you. Are you using Hyper-Copy? If so, have you had any problems? Do you have any problems reading anyone else's disk, especially if they are formatted DS/DD on an Cor Comp system? Please write back and I will try to answer if you have any more questions.

Question (Martin Zeddies): In the recent Asgard News, there were comments regarding a M-DOS developer's kit by Ron Warfield, FORMAT-PRINTER, and VIDEO XOP Manual? Where can I get these programs?

Answer: The M-DOS developer's kit is a collection of MDOS programming utilities by various users and is not a true programming kit that Paul Charlton will have available when MDOS V1.15 is made public (he is not releasing his Programmers Kit until 1.15 is stable in the Video-Library as changes were being made. I am told everything else was complete with it). The FORMAT-PRINTER, I would imagine is the c99 Formatter by Clint Pulley that comes with c99/MDOS. The Video XOP Manual is Paul Charltons comments about MDOS usage of the VIDEO XOP's and is located on the A/L-MDOS disk I had available last issue. I will be sending both of these disks to you with your issue of 9640 News since you have mailed to me much of what is appearing in this issue along with some additional software from the software section.

Question (Martin Zeddies): I read in Asgard News about a plan to create a new TI 99/4A compatible computer system with a very new CPU called the TMS 99000. What do you know about this project?

Answer: This contest to build a new computer has it's merits, but I think would only draw TI Users farther apart. I read the article you mention and everything that the author of the article wants (even the price) is available with the Geneve. There is one other person advanced far enough that I am told that essentially has an equivalent of a Geneve built by himself. This person is Barry Boone author of Archiver and Rapid Copy. Recent messages on Genie indicate he has reprogrammed the EPROMS on the 4A, added additional memory (512K if I am not mistaken), built in GramKracker and 80 column capability and an MDOS/MSDOS style interface (NOT MSDOS OR MDOS COMPATIBLE) available on boot up of the computer. It is also capable of running Adv Basic 2.12 or equivalent and I have heard rumor My-Art had been recompiled to run on his system (My-Art is more 4A code than it is true MDOS code..... think about it, MDOS was not even truly running and My-Art was already available). Do not hold your breath for Barry Boone to release very much information on his system as it has been mostly hardware hacking he has done and I don't think he going to enter the contest, but I am sure he would sweep it if he did. I doubt anyone else has the knowledge to develop a system as such that are not already under the direction of Myarc.

Questions:

Last issue I promised to have questions answered on 1.14 MDOS and the Phoenix Ramdisk issue. I have contacted Bud Mills by phone in the past two weeks and he has assured me that he will send the latest release of the operating system with all files. It is not currently in the SOFTWARE section, but if you enclose a payment and make a note that you would like a copy, I will send it to you as soon as I receive it.

From Paul Charlton, he says that MDOS 1.15 will have nearly full support for the HRD and the HRD 384K+. We will also have the ability to format from command line of MDOS whatever size of ramdisk we want within it's limitations. What we won't have (at least yet and perhaps never from MYARC), is support for the Phoenix mod as Paul hasn't worked around the problem of having two drives at the same CRU. This problem will probably have to resolve itself from the author of the Phoenix Mod. MDOS 1.15 will support both the 8 bit and 16 bit HRD's and know when to use different DSR's for each. I have been told that MDOS 0.94H (available in software section) has that support already, but I don't have a HRD+ to test it out on to know for sure.

SOFTWARE

Software List for Distribution by "9640 New"

The following software will currently be distributed by "9640 News" to all subscribers at the cost of disks, mailers and postage. I decided to begin distributing this software after I realized that there were so many people still using MDOS V1.01 and GPL V0.99 that were not benefited as much by MDOS V1.14 when I mailed it out in December 1988. Now, it will be your fault if you do not decide to update to existing releases of the operating system, GPL interpreter, and My-Word as released by Myarc on various Networks. I have also been asked to include other utilites such as GIF Picture files, MacFlix pictures (these have no fees for fairware costs, etc) and by demand, I have also included additional disks of the existing c99-MDOS programming enviroment with all of it's utilities that I know of and I have also compiled the current use of MDOS-Assembly language XOP's as released by Paul Charlton. In addition, I have included the latest releases of MDOS V0.94H and V0.95H along with c99 Version 4.1 as I received it from Clint Pulley

I am not trying to make a profit from other people's work as some people do that advertise in Micropendium as that is why I have the costs as low as it can possibly be. My purpose is to maintain a high degree of interest in the computer before we lose those people that are with older, buggier versions of software that either did not have the contacts or resources to obtain the following software. If any author has a program that I make available wishes it to be removed, it will be removed instantly and I will refund any amount back to you if the program becomes no longer available.

Due to various program sizes and usages, the majority of the software will be in DS/SD format. GIF pictures were much too difficult to place on SS/SD disks as it was creating just to much blank space on the disk due to various program lengths. Myarc, Inc. Software will always be available as SS/SD software unless 1.1Xh (for HFDCC users) is larger than 360 sectors. So to begin with, here is the current software that I have had time to compile and make available. Use the order form provided on the disk and sign the statment at the end of the order blank if you wish to order any diskettes.

I should note that this list will be expanded in about two weeks and will be uploaded onto Genie and Delphi with additional MACFLIX pictures. Current plans are to include an additional 20 to 25 disks worth of DS/SD pictures. They will be most nude pictures as for some strange reason that appears to be the majorities interest. I try to make availble all of the 'cartoon' or 'scenic' type pictures I come across, however, in the IBM world and MacIntosh world of picture creation, access or locating these files are difficult. In order to use the MACFLIX pictures, you are required to use MacFlix as written by J. Peter Hoddie. I believe the program is available thru Genial Computerware. The program permits each picture to easily print to printer so that you may obtain a printout.

I hope nobody takes offense at these programs as it is my intention to save some people some money. The cost of downloading these files from pay systems can be quite substantial. Enjoy whatever your selection may be.....

Diskname: GIFNUDE01  Total= 720  Used= 689 Free=  31  [Gif NUDE pictures]
RUTH       273 D128 STELLA     197 D128 TERIW      217 D128


Diskname: GIFNUDE02  Total= 720  Used= 720 Free=   0  [Gif NUDE pictures]
CLING      157 D128 DIXIE       88 D128 FLORIDA     75 D128 NICOLA     129 D128
WET        269 D128


Diskname: GIFNUDE03  Total= 720  Used= 706 Free=  14  [Gif NUDE pictures]
KRISTINA    40 D128 MINDY1      72 D128 NIOMI      317 D128 NUDE1       90 D128
RACHEL2     58 D128 RED         49 D128 SFOX        78 D128


Diskname: GIFNUDE04  Total= 720  Used= 697 Free=  23  [Gif NUDE pictures]
AUSSIE     165 D128 CHER       240 D128 PAULINA2    85 D128 STIFF      205 D128


Diskname: GIFNUDE05  Total= 720  Used= 705 Free=  15  [Gif NUDE pictures]
48         141 D128 BEACH       57 D128 BOATGIRL   228 D128 CALL        37 D128
CATES       77 D128 CINDYW      53 D128 HAREM       24 D128 KRIS4       66 D128
MODEST      20 D128


Diskname: GIFNUDE06  Total= 720  Used= 347 Free= 373  [Gif NUDE pictures]
LYNNA2     309 D128 MADONNA     36 D128


Diskname: GIFNUDE07  Total= 720  Used= 707 Free=  13  [Gif NUDE pictures]
ATHOME     109 D128 DARLENE2   121 D128 SHARRY     184 D128 SUSIE      215*D128
TRACY       76*D128


Diskname: GIFNUDE08  Total= 720  Used= 681 Free=  39  [Gif NUDE pictures]
COWGIRL     86 D128 GRACE2     197 D128 MITZI      205 D128 SPRITE     191*D128


Diskname: GIFNUDE09  Total= 720  Used= 681 Free=  39  [Gif NUDE pictures]
KYMBERLY   203 D128 MILK4      229 D128 NYMPH3     165 D128 RGIRL1      82 D128


Diskname: GIFNUDE10  Total= 720  Used= 671 Free=  49  [Gif NUDE pictures]
ANGRYMAN    28 D128 ZOE2       641 D128


Diskname: GIFNUDE11  Total= 720  Used= 672 Free=  48  [Gif NUDE pictures]
TANYA      405 D128 VANNA      265 D128


Diskname: GIFNUDE12  Total= 720  Used= 687 Free=  33  [Gif NUDE pictures]
DEMI       246 D128 LISAWELC   178 D128 MADONNA     72 D128 MARIAN     189 D128


Diskname: GIFTUNE01  Total= 720  Used= 649 Free=  71  [Gif CARTOON pictures]
BATCH        2 d 80 BILLCAT     24 D128 BUGS        30 D128 CLIPART1    18 D128
CLIPART2    17 D128 ELEPHANT    36 D128 GARFIELD    16 D128 HWEEN       77 D128
MICE        28 D128 RAT         26 D128 ROGER1     257 D128 SMURFETT    22 D128
SNAKEHUNT   41 D128 TIGGER      53 D128


Diskname: GIFTUNE02  Total= 720  Used= 672 Free=  48  [Gif CARTOON pictures]
BATCH        2 d 80 CAPPOWER   149 D128 HOUSE      101 D128 SPRING     116 D128
TULIPS     216 D128 WINTRAIN    86 D128


Diskname: GIFTUNE03  Total= 720  Used= 506 Free= 214  [Gif CARTOON pictures]
BATCH        2 d 80 BENGAL      79 D128 CGABLE      59 D128 CURRIER    182 D128
DOS4        65 D128 EARRINGS    81 D128 HULK        13 D128 TREK        23 D128


Diskname: GIFTUNE04  Total= 720  Used= 708 Free=  12  [Gif CARTOON pictures]
BATCH        2 d 80 GLASS      263 D128 LAKE       196 D128 MOONLITE    42 D128
MOUNTAIN    61 D128 PENGUIN     83 D128 RUSHMORE    59 D128


Diskname: GIFTUNE05  Total= 720  Used= 717 Free=   3  [Gif CARTOON pictures]
BATCH        2 d 80 MONARCH    297 D128 PARROT     227 D128 RROSE      189 D128


Diskname: GIFTUNE06  Total= 720  Used= 719 Free=   1  [Gif CARTOON pictures]
55CHEVY     17 D128 ANGEL       29 D128 APPLE       77 D128 AQUARIUM    37 D128
BEE         53 D128 BEETLE      53 D128 BLAST      192 D128 CALVIN1     21 D128
CALVIN2     33 D128 CAT        112 D128 CTYLGHT     53 D128 MEMPHIS     40 D128


Diskname: GIFTUNE07  Total= 720  Used= 715 Free=   5  [Gif CARTOON pictures]
ATAT       105 D128 AZTEC      181 D128 E-OPTIC     85 D128 PPANTHER    41 D128
TECH        68*D128 TRIANGLE    12*D128 USMAP       40 D128 VOYAGER     13 D128
WILEY       30 D128 WIZARD      34 D128 WOODBOAT    13 D128 WORLDMAP    33 D128
XMAS        50 D128 ZONE         8 D128


Diskname: GIFTUNE08  Total= 720  Used= 696 Free=  24  [Gif CARTOON pictures]
DEER       229 D128 HATTER      16 D128 MTHOOD      48 D128 PORSCHE     25 D128
ROBOTGOL    25 D128 SHADE      351 D128


Diskname: GIFTUNE09  Total= 720  Used= 683 Free=  37  [Gif CARTOON pictures]
ANDROMDA   277 D128 FERRARI    117 D128 FRUIT       65 D128 HOTAIR     149 D128
PIEDMONT    73 D128


Diskname: GIFTUNE10  Total= 720  Used= 693 Free=  27  [Gif CARTOON pictures]
8AM        129 D128 CDRAGON    165 D128 CLOWN      201 D128 MIKKI2     196 D128


Diskname: GIFTUNE11  Total= 720  Used= 689 Free=  31  [Gif CARTOON pictures]
DEBBIE     273 D128 IBMMASH    189 D128 TIGER      225 D128


Diskname: MACFLIX01  Total= 720  Used= 705 Free=  15  [MacFLix NUDE pictures]
PLAY01      89 D128 PLAY02      80 D128 PLAY03      89 D128 PLAY04      84 D128
PLAY05      77 D128 PLAY06      69 D128 PLAY08      73 D128 PLAY09      82 D128
PLAY10      60 D128


Diskname: MAXFLIX02  Total= 720  Used= 696 Free=  24  [MacFLix NUDE pictures]
PG1         71 D128 PG10        49 D128 PG2         49 D128 PG3         49 D128
PG4         61 D128 PG5         54 D128 PG6         52 D128 PG7         51 D128
PG8         50 D128 PG9         75 D128 PHONEY1     75 D128 PHOTO-J     58 D128


Diskname: MACFLIX03  Total= 720  Used= 676 Free=  44  [MacFLix NUDE pictures]
ONTOP       76 D128 OOOH!       54 D128 ORGY        84 D128 PARKING     77 D128
PATSY1      88 D128 PAULINA     68 D128 PIANO       66 D128 PINCH       85 D128
PINUP       76 D128


Diskname: MACFLIX04  Total= 720  Used= 643 Free=  77  [MacFLix NUDE pictures]
PENNY5      71 D128 PENNY6      74 D128 PREGNANT    76 D128 PROFILE     75 D128
RACY        84 D128 RACY3       66 D128 RANDI1      74 D128 RANDI2      86 D128
RECIPE      35 D128


Diskname: MACFLIX05  Total= 720  Used= 676 Free=  44  [MacFLix NUDE pictures]
DVGIRL01    81 D128 DVGIRL02    81 D128 DVGIRL03    83 D128 DVGIRL04    84 D128
DVGIRL05    91 D128 DVGIRL06    83 D128 DVGIRL07    79 D128 DVGIRL08    92 D128


Diskname: MACFLIX06  Total= 720  Used= 697 Free=  23  [MacFLix NUDE pictures]
DVGIRL09    87 D128 DVGIRL10    91 D128 DVGIRL11    89 D128 DVGIRL12    84 D128
DVGIRL13    78 D128 DVGIRL14    82 D128 DVGIRL15    93 D128 DVGIRL16    91 D128


Diskname: MACFLIX07  Total= 720  Used= 695 Free=  25  [MacFLix NUDE pictures]
DVGIRL17    83 D128 DVGIRL18    90 D128 DVGIRL19    91 D128 DVGIRL20    88 D128
DVGIRL21    85 D128 DVGIRL22    87 D128 DVGIRL23    86 D128 DVGIRL24    83 D128


Diskname: MACFLIX08  Total= 720  Used= 698 Free=  22  [MacFLix NUDE pictures]
DVGIRL25    76 D128 DVGIRL26    61 D128 DVGIRL27    52 D128 DVGIRL28    79 D128
DVGIRL29    92 D128 DVGIRL30    95 D128 DVGIRL31    87 D128 DVGIRL32    72 D128
DVGIRL33    82 D128


Diskname: MACFLIX09  Total= 720  Used= 651 Free=  69  [MacFLix NUDE pictures]
DVGIRL34    86 D128 DVGIRL35    85 D128 DVGIRL36    82 D128 DVGIRL37    87 D128
DVGIRL38    77 D128 DVGIRL39    76 D128 DVGIRL40    88 D128 DVGIRL41    68 D128


Diskname: MACFLIX10  Total= 720  Used= 707 Free=  13  [MacFLix NUDE pictures]
DVGIRL42    78 D128 DVGIRL43    77 D128 DVGIRL44    67 D128 DVGIRL45    77 D128
DVGIRL46    90 D128 DVGIRL47    68 D128 DVGIRL48    82 D128 DVGIRL49    80 D128
DVGIRL50    86 D128


Diskname: MACFLIX11  Total= 720  Used= 676 Free=  44  [MacFLix NUDE pictures]
DVGIRL51    92 D128 DVGIRL52    82 D128 DVGIRL53    91 D128 DVGIRL54    89 D128
DVGIRL55    76 D128 DVGIRL56    70 D128 DVGIRL57    86 D128 DVGIRL58    88 D128


Diskname: MACFLIX12  Total= 720  Used= 684 Free=  36  [MacFLix NUDE pictures]
DVGIRL59    83 D128 DVGIRL60    83 D128 DVGIRL61    86 D128 DVGIRL62    90 D128
DVGIRL63    85 D128 DVGIRL64    80 D128 DVGIRL65    89 D128 DVGIRL66    86 D128


Diskname: MACFLIX13  Total= 720  Used= 681 Free=  39  [MacFLix NUDE pictures]
BABYONM     88 D128 CHRIS       48 D128 COVERGI2    81 D128 DVGIRL67    90 D128
DVGIRL68    43 D128 RELAX       90 D128 REPMAN1     39 D128 REPMAN2     38 D128
REPMAN3     37 D128 REPMAN4     32 D128 RIDING      93 D128


Diskname: MACFLIX14  Total= 720  Used= 704 Free=  16  [MacFLix NUDE pictures]
ELLY1       90 D128 ENUFF       86 D128 EXPIRED     44 D128 FARM1       31 D128
FARM2       33 D128 FIRSTLISS   42 D128 FLOGGING    82 D128 FLOOR       78 D128
FLOWER      57 D128 FLYME       69 D128 FONDLE      24 D128 FURY        66 D128


Diskname: MACFLIX15  Total= 720  Used= 708 Free=  12  [MacFLix NUDE pictures]
BABYGRND    37 D128 CHEETAH     68 D128 COSMIC      42 D128 FARSIDE     38 D128
FERRARI     36 D128 KTURNER     91 D128 OLDLOUIS    56 D128 OLDTRAIN    40 D128
ONMYSIX     58 D128 ONSIX       64 D128 ORIGMOUS    42 D128 P-NAGEL1    52 D128
RESTS       34 D128 RIGHT       48 D128


Diskname: SPECS9640  Total= 360  Used= 235 Free= 125  [Modifications to 9640]
ADD32K      42 d 80 RAM512KFIX 178 d 80 THOMSON     13 d 80


Diskname: AFHR-SRC   Total= 360  Used= 296 Free=  64  [After Hours BBS source]
AFHR9640   294 I128


Diskname: MDOS0-94H  Total= 720  Used= 483 Free= 237  [MDOS V0.94H]
SYSTEM/SYS 481 Prog


Diskname: MD0S0-95H  Total= 720  Used= 483 Free= 237  [MDOS V0.95H]
SYSTEM/SYS 481*Prog


Diskname: DISNEY01   Total= 720  Used= 686 Free=  34  [Disney Modules GK]
ET          34*Prog ET1         34*Prog ET2         34*Prog ETSEA       34*Prog
ETSEA1      34*Prog ETSEA2      34*Prog ETSEA3      34*Prog ETSEA4      34*Prog
ETSEA5      34*Prog FYI-DOC      4 d 80 MANCALA     34*Prog MANCALA1    34*Prog
MANCALA2    34*Prog MANCALA3    34*Prog MANCALA4    34*Prog MANCALA5    34*Prog
MOUSEATCK   34*Prog MOUSEATCK1  34*Prog MOUSEATCK2  34*Prog MOUSEATCK3  34*Prog
MOUSEATCK4  34*Prog


Diskname: DISNEY02   Total= 720  Used= 576 Free= 1442 [Disney Modules GK]
FYI-DOC      4 d 80 PETERPAN1    4*Prog PETERPAN2   25*Prog PETERPAN3   25*Prog
PETERPAN4   25*Prog PETERPAN5   25*Prog PETERPAN6   25*Prog PETERPAN7   33*Prog
VONDRAKE    34*Prog VONDRAKE1   34*Prog VONDRAKE2   34*Prog VONDRAKE3   34*Prog
VONDRAKE4   34*Prog VONDRAKE5   34*Prog WINGWAR     34*Prog WINGWAR1    34*Prog
WINGWAR2    34*Prog WINGWAR3    34*Prog WINGWAR4    34*Prog WINGWAR5    34*Prog


Diskname: ADVBAS0605 Total= 360  Used= 236 Free= 124  [Adv Basic rel. 06/05/89]
BASIC1      30 Prog BASIC2      34 Prog BASIC3      34 Prog BASIC4      34 Prog
BASIC5      34 Prog BASIC6      34 Prog BASIC7      34 Prog


Diskname: C99MR1     Total= 720  Used= 654 Free=  66  [c99/MDOS V4.1]
-README      9 d 80 -RELNOTES   22 d 80 ARC1        33 Prog BOOT_ARK   170 I128
DOC1_ARK   172 I128 DOC2_ARK    74 I128 TOOLS_ARK  172 I128


Diskname: XHi        Total= 720  Used= 707 Free=  13  [XHI Version 3.0]
ARTLES      14*D 80 BRIAN        5*Prog BUNT         3*Prog COLDEF       9*Prog
FIXSTERNE   18*Prog HIDEM        6*Prog KNETSCH      4*Prog KUGEL       22*Prog
KUGEL;PAR    5*d 80 KUGEL;PIC   29*D128 LOAD        13*Prog MISCH        3*Prog
PLANE        5*Prog READ*ME      6*d 80 TIINFO      10*d 80 TOMYART     12*D 80
UHR          5*Prog XHI         64*D 80 XHI/T      128*d 80 XHIDEU     173*d 80
XHIDOC     171*d 80


Diskname: GIF-PGM    Total= 360  Used=  39 Free= 321  [Gif viewer]
GIF2        25*Prog GIFDOC      12 d 80


Diskname: MDMV1-29   Total= 360  Used= 285 Free=  75  [MDM5 for HFDCC V1.29]
LOAD         2*Prog LOAD/SYS     8*Prog MDM          7*D 80 MDM-DELETE   9*Prog
MDM296      33*Prog MDM297      33*Prog MDM298      25*Prog MDM299      25*Prog
MDM4         2*Prog MDM5        10 Prog MDMCB29     26*Prog MDMCR29     20*Prog
MDMDB29     26*Prog MDMDR29     19*Prog MDMFV29     15*Prog MDMV        10 Prog
MDMXB       13*D 80


Diskname: ASSEMBLY   Total= 360  Used= 321 Free=  39  [Assembly info on 9640]
ASM          9 Prog ASSM1       33 Prog ASSM2       18 Prog DSR/DOC    101 d 80
KEY/DOC      4 d 80 LDR         12 Prog MANAGE/DOC  22 d 80 MATH/DOC    35 d 80
NOTES/DOC    8 d 80 UTIL/DOC    14 d 80 VIDEO/DOC   63 d 80


Diskname: GPLV1-04   Total= 360  Used= 339 Free=  21  [GPL V1.04 / MyWord V1.21]
CHARA1       5 Prog CONTROL     17 Prog EDITOR      49 Prog FORMAT      47 Prog
GPL         27 Prog GPM         34 Prog GPN         26 Prog GPO         26 Prog
GPP         26 Prog HELP        31 d 80 MW          14 Prog MWG         14 Prog
MYCAT       21 Prog


Diskname: C99-MDOS   Total= 720  Used= 710 Free=  10  [c99/MDOS V4.0 with code]
-C99LIBDOC   5 d 80 -C99MDOS    16 d 80 -LDR3DOC     9 d 80 C99C        58 Prog
C99D        44 Prog C99LIB      61 d 80 C99MAN1     45 d 80 C99MAN2     48 d 80
C99MAN3     36 d 80 C99SPECS    39 d 80 CONIO_H      3 d 80 CSUP        12 D 80
LDR         12 Prog LDR_A      120 d 80 MDOS_C      13 d 80 MDOS_DOC    30 d 80
MDOS_O       5 D 80 OBJLIB_DOC  13 d 80 OLU         55 Prog OLU_C       49 d 80
OLU_DOC     17 d 80 STDIO_H      4 d 80 STDLIB_H     2 d 80 STRING_H     2 d 80
T$MDOS_C     6 d 80 T$MDOS_L     2 d 80 TIME_H       2 d 80


Diskname: PHOENIX114 Total= 360  Used= 117 Free= 243  [Complete Phoenix 114 pgm]
+TYPEME     11 d 80 AUTO         2 d 80 AUTOEXEC     2 d 80 CFG         14 Prog
HDROS       33 Prog INSTALL     10 d 80 LHDROS       8 Prog PHOENIX     31 d 80
RAMDOS       4 Prog


Diskname: MT9640-SRC Total= 360  Used= 308 Free=  52  [Source code to MT9640]
DISKMGR100 112*d 80 GEMES100   168*d 80 MORE100     26*d 80


SPRITE-S


* * SPRITES IN GRAPHIC MODE 1 * 24 ROWS, 32 COLUMNS * DXOP SYSC,0 B @MAIN * MDOS EQU >0000 USERWS EQU >F000 BLWPWS EQU >F020 MAPPER EQU >F110 * * MEMORY REQUEST * MAIN NOP LWPI USERWS LI R0,1 LI R1,7 LI R2,1 CLR R3 SYSC @MMG MOV R0,R0 JEQ MAIN1 B @ERROR MAIN1 LI R0,4 LI R1,MAP LI R2,8 SYSC @MMG CLR R3 MAPMOV MOVB @MAP+1(R3),@MAPPER+1(R3) INC R3 CI R3,7 JNE MAPMOV MOV R0,R0 JEQ MAIN2 B @ERROR * * CLEAR SCREEN * MAIN2 LI R0,>27 LI R1,CLS MOVB *R1+,R2 SRL R2,8 SYSC @VLIB * * SET VIDEO MODE: GRAPHIC1 * CLR R0 LI R1,3 SYSC @VLIB * * CALL SCREEN * BACKGROUND: B (LIGHT YELLOW) * FOREGROUND: 1 (BLACK * LI R0,>0A LI R1,>010B CLR R3 SYSC @VLIB * * SPRITES #0, #1 * LI R0,>23 LI R1,BALL LI R2,2 LI R3,>0010 CLR R4 SYSC @VLIB * * SPRITE PARAMETERS * LI R0,>1A LI R1,SPDA LI R2,2 SYSC @VLIB * BL @WRIT DATA WRITE * GO LI R0,>0004 SYSC @KEYB JNE GO * LI R0,>1D LI R1,MOTION LI R2,2 SYSC @VLIB * BL @WRIT DATA WRITE1 * STAY LI R0,>0004 SYSC @KEYB JNE STAY * * TEXT MODE 80 * CLR R0 LI R1,1 SYSC @VLIB * * CLEAR SCREEN * LI R0,>27 LI R1,CLS MOVB *R1+,R2 SRL R2,8 SYSC @VLIB * ERROR BLWP @MDOS * * WRITE LAST ROW * WRIT MOV *R11+,R5 LI R0,>2E MOVB *R5+,R6 SRL R6,8 LI R1,>17 LI R2,>05 LI R4,1 WR MOVB *R5+,R3 SRL R3,8 SYSC @VLIB INC R2 DEC R6 JNE WR B *R11 * * VMBW, VSBW * VMBW DATA BLWPWS,BVMBW VSBW DATA BLWPWS,BVSBW BVSBW MOV R13,R1 INCT R1 LI R2,1 JMP DVMBW BVMBW MOV @>0002(R13),R1 MOV @>0004(R13),R2 JEQ EVMBW DVMBW MOVB @>0001(R13),@>F102 MOV *R13,R0 ORI R0,>4000 MOVB R0,@>F102 SWPB R0 UVMBW MOVB *R1+,@>F100 DEC R2 JNE UVMBW EVMBW RTWP * VLIB DATA 6 MMG DATA 7 KEYB DATA 5 * MAP BSS >0008 SP BSS >0008 * SPDA DATA >0000 SPRITE #0 DATA >0010 PATTERN #16 DATA >005A X POSITION DATA >0080 Y POSITION DATA >0000 X SPEED DATA >0000 Y SPEED DATA >000C COLOR * DATA >0001 SPRITE #1 DATA >0011 PATTERN #17 DATA >005A X POSITION DATA >0080 Y POSITION DATA >0000 X SPEED DATA >0000 Y SPEED DATA >0006 COLOR * MOTION DATA >0001,>FFF7,>FFFC DATA >0000,>000A,>0005 BALL DATA >3C7E,>FFFF,>FFFF,>7E3C DATA >3C7E,>FFFF,>FFFF,>7E3C * WRITE BYTE >16 TEXT 'PRESS ANY KEY TO START' WRITE1 BYTE >16 TEXT 'PRESS ANY KEY TO EXIT ' * CLS BYTE >01,>1A * EVEN * END

TIDBITS

Programmer's Tidbits

This area is being developed to pass information along concerning what various people have learned regarding MDOS and it's current versions. When possible, credit to the originator will be given.

From Massimo Cariboni of Italy

(This is the original author of the Q-Bert modification found in both Micropendium and 9640 News)

Now some tips about MDOS 1.14

1) XOP six,0 (low level video), opcode >0E (set pixel color) There is a mistake in Paul Charlton's docs. Logical operation must be set in register R6 instead of R4

2) XOP six,0 (low level video), opcode >10 (set vector color) For logic operation must be used the least significant byte of R6, instead of the most significant.

3) XOP six,0 (low level vide), opcode >0D (set color pallette) Register R2 must be loaded with RED, GREEN, and BLUE colors. The right format is: R2: XXXX|XGGG|XBBB|XRRR, MDOS doesn't care for values placed in X

4) XOP six,0 (low level video), opcode >1A (sprite def): R1 is a pointer to sprite data table. The table must have the following format: Sprite #, Pattern #, X position, Y position, X speed, Y speed, color

Each data is one word long, while color is one word long if you use Sprite type 1 (as in TI 99/4A) , or 16 word long for Sprite type 2. In the last mode, you can have a different color every row. If you need to define more than one sprite, you must create a table in which first block of data is first sprite, following block for second sprite and so on.

BLINKING

MDOS does not have direct access to blinking, therefore you have to access VDP registers R10, R12, and R13 (perform XOP six,0 opcode >35): as result, you obtain garbage on your screen. This is due to a bug in MDOS, because programmer forgot to clear Color Table. If you want use blinking under MDOS, you must clear at first color table and then set values in VDP registers. To clear color table, you can use a VSBW modified for Geneve. Don't use VWTR to write into VDP registers because MDOS keeps track of values written into VDP registers.

(Editor's Note: Massimo has elsewhere on this disk, several demo's with source code for access and implementation of these routines).

From your Editor, Beery Miller

1) Usage of XOP eight,0 Opcode >0E. When formatting with the MDOS XOP, the skew and interlace bytes of the Pab are non functional and are reserved. Doubtful if we will ever see an implementation. Also, this XOP will format the disk, however, you still need to do a bwrite >0B and write sector 0 and 1 out to the newly formatted disk under your desired settings.

2) (Al Beard figured this out before myself, but I did not read his note until after I had figured it out myself too.) Usage of XOP nine,0 Opcode >09. When loading another task (for multitasking), MDOS 1.14 requires that the data be located in area of >0000 to >1FFF. MDOS 1.15 will supposedly permit >0000 to >EFFF range.

3) SYSTEM/SYS loads in as consecutive pages in memory beginning with page 0. The CLI (Command Line Interpreter) uses copies of Page >06, >02, >0B, >11 in that order from >0000 to >7FFF for it's address space. (This information courtesy of Paul Charlton)

4) (This information also from Paul Charlton) The user interface of MDOS and GPL mode allow only DSK1..DSK9 for devices with a floppy-disk directory structure. MDOS has internal drive numbers from >01 to >17 which represent the default drive assignments in MDOS 1.15. (not valid for MDOS 0.95H) They are :

1,2,3,4                  Myarc, TI, Cor Comp drives 1-4
5                        Internal Ramdisk
6                        Horizons at >1400
7                        Horizons at >1600
8                        Rave Memory board
9                        HFDC emulate drive
10,11,12,13              HFDC card drives 1-4
14.....23                Reserved for external DSRs

1...4:<drive 1...4 at cru >1100>
5:5  6:6  7:7  8:10  9:9

This brings us to the end of this section for this issue of "9640 News". If you have learned or discovered something unique about the Geneve, feel free to write to me and pass the information along for everyone to learn from.

X80DOC


Befehle von X80, preliminary beta test, 22.2.89 : Alle Befehle werden mit Call LINK aufgerufen. Wenn Parameter fehlen wird der Standardwert eingesetzt :HPos 26,VPos 1, Size 80-VPos, Alle Zeichen erlaubt, Eingabebeginn bei 1 usw. MODE80 schaltet in 80Z Mode ohne Schirm zu l|schen CLS80 dito, aber mit l|schen MODE32 schaltet zur}ck SCREEN,Schrift,Hintergrund w{hlt Farbe FLASH,Schrift, Farbe w{hlt Blinkfarbe FLTIME,Invtime,Normtime gibt die jeweilige Zeitdauer (0-15) der jeweiligen Darsetllung im Blinkmodus an BLINK[,Up,Left,Down,Right[,An]] setzt wenn An<>0 Blinken im definierten Rechteck CLEAR l|scht Bildschirm und Blinken DSPLAY[,HPos[,VPos[,Size]]],String gibt den String aus. Ohne Size wird die gesamte Zeile bis zum Ende gel|scht. Mit Size wird nur der angegebene Bereicxh gel|scht. Size 0 ersetzt automatisch die Stringl{nge ACCEPT[,HPos[,VPos[,Size[,Validate$[,Startpos]]]]],A$) erlaubt Eingabe des Strings A$. Validate$ ist ein String, der alle erlaubten Zeichen enthalten mu~. Ist er leer, so wird alles erlaubt. Startpos setzte den Cursor zu Beginn auf das spezifizierte Feld der Eingabemaske. Ohne Size nur Eingabe bis Zeilenende. Bei negativer Size bleibt die Bildschirmdarstellung erhalten. Folgende Tastenfunktionen existieren: F1 DEL, F2 INS, F3 Erase, F5 Beginn/ F6 Ender der Maske, TAB +8 Pos, SHFT-TAB -8 Pos, Cursortasten rechts/links. Eingabe wird beendet mit F4, F7,F9,Enter, Cursor Up/Down. Die Dabei verwendete Taste wird im TeRMCHaR Byte der Patch-Area abgespeichert. Siehe auch Geneve-Basic Manual zu TERMCHAR. PAT1AR,A belegt A mit dem Wert f}r PAT1AR , der Patch-Area: MPTYCH EQU ' ' Fuellzeichen PAT1AR B @PATGET (intern) BANKAD BYTE 0 (intern) TRMCHR BYTE 0 TERMCHAR MODEAZ DATA 0 Mode FFFF=80Z DELTIM DATA LONGDL Delay-Dauer (intern) SCOL BYTE >F4 Bildschirm Farben BCOL BYTE >4F Blink- " BLITI BYTE >F0 Blinkdauer FILCHR BYTE MPTYCH VERSIO BYTE >09 Versionsnummer: 0.9 EVEN Durch ab{ndern des FILCHR Bytes, kann ein anderes Zeichen als Eingabemaske verwandt werden. SCROLL[,Anzahl] Scrollt nach oben DWNSCR[,Anzahl] dito nach unten HCHAR und VCHAR wie bei TI Als Beispiel siehe den File DEMO. Alexander Hulpke