Jump to content

dhe

+AtariAge Subscriber
  • Content Count

    517
  • Joined

  • Last visited

Everything posted by dhe

  1. Buying one of these as a kit or a full assembled piece of hardware would make a great Christmas gift! 😃
  2. 99/4 - Does anyone know if you can use a 99/4a transformer on a 99/4?
  3. I really feel bad, even to put in a note like I did about the odd scratch disk thing. The real way of course to deal with a problem like that, would be for ME to try on real hardware, identically configured, with the exact same bits, reproducing the error or non-error in the same step by step fashion. It was really just something I observed, as a reminder, to myself, of why I flipped dsk5., back to a disk image. I'm not even sure if fortran99 has a real limit, of dsk5. I am aware earlier versions had a limit of (3) - but I do know, many disks will get corrupt real quick, if you try to assemble and list to the same disk, so I try to make each disk do one thing.. Then I can say to each disk, you have one job, and one job only! 😃
  4. I put in a lot of effort this week with fortran99, but didn't make much progress. I did finally: A) Refine my disk layout with comment. B) Figured out how to remove NULL's inserted in listings, so output could be cut and pasted. C) Bonus, Tursi told me of a special DSR feature that allows funky programs to be sent to disk files. ================================================================================================================== ** Dealing with pesky nulls in listing files ** Open your file in Notepad++ or textpad Type Control-A (select all) Type Control-H (replace) In 'Find What' type \x00 In 'Replace With' leave BLANK In 'Search Mode' Selected 'Extended' Then Click on 'Replace All' share MAKE SURE IN HEXPAD to search in hex. ================================================================================================================== ** Classic99 Setup for fortran99 ** Disk Used For type name ---------------------------------------------------------------------------------------------- Slot 1 - Compiler - static -disk dsk1\fortcomp.dsk ---------------------------------------------------------------------------------------------- Slot 2 - Source - semi static -disk fortsrc\source.dsk ---------------------------------------------------------------------------------------------- Slot 3 - Object fiad \object\ ---------------------------------------------------------------------------------------------- Slot 4 - Executable / Listing (Compile) fiad \list\ ---------------------------------------------------------------------------------------------- Slot 5 - Scratch - Only Used on Compile fiad \scratch\scratch.dsk / Listing (Linker) ---------------------------------------------------------------------------------------------- Compile - Has all five disks going at once. SEEING LOGS: Did you try printing in Classic99 to "DSK1.?W.FILE.TXT" ? The ".?W." part is important, it should make Classic99 write a Windows text file instead of a TI file. If it doesn't, read the debug log (in the debugger) to see why not. ** Have received file i/o when scratch was set to fiad, instead of disk image. 04/03/2020
  5. Tursi, I know half of being a brilliant programmer is tricking the computer or compiler, in to doing that thing, that you want it to do. I think I'm making pretty good progress at learning Classic99. Yesterday, I was trying to use the configure program that comes with PrEditor, where you can change the key strokes for certain functions. I was trying to get CTRL-Q to be quit, but the only thing it would see was the Q key, which isn't very helpful. I know there is one level of complexity in the smart IBM keyboard, doesn't map to TI's KSCAN routine. Then, there be a whole other level of complexity, when you deal with programs like fasterm, that did it's own CRU scans to create a keyboard read. I'm betting, that's what configure is doing, it's own hardware keyboard reads directly from the 9901, but I might be wrong. Is there a way I could try to 'shim' in something like a CNTR-Q combo? Thanks, Dano
  6. Compiler Complaint. Nope, Not a Warning, Not an Error. This was the first program that seemed to really want to use a scratch disk. I'm sure I've put something in the code the compiler, doesn't like, but it has me baffled. Can anyone else play spot the error? 1 Version 4.42 Page 0001 0 0001 C FI_S - FILE I/O SOURCE 04/02/2020 0002 C2345678 0003 CHARACTER NAME(8) 0004 0005 INTEGER FILEID(8),ERROR,GRADE 0006 DATA FILEID / 10HDSK2.FI_D / 0007 CALL OPEN ( 3, FILEID, 2, 0, 1, 0, 80, ERROR) 0008 0009 1 FORMAT ('+', C12, M1.1, 'GRADES:' ) 0010 WRITE (6,1) 0011 0012 10 FORMAT ( 8A1, 1X, I3) 0013 READ (3, 10, END=99) NAME, GRADE 0014 0015 20 FORMAT ('+', M2.1, 8A1, 1X, I3) 0016 WRITE (6,20) NAME, GRADE 0017 0018 0019 C 3 - FILE NUMBER, NO EQ TO A FORTRAN UNIT NUMBER USED IN FORMAT 0020 C 2 - INPUT MODE 0021 C 0 - DISPLAY 0022 C 1 - VARIABLE 0023 C 0 - SEQ ACCESS 0024 C 80 - MAX RECORD LENGTH 0025 C ERROR - VARIABLE TO RETURN ERROR IN 0026 0027 C SEE PAGE 07-11 - FILE I/O REF 0028 C SEE CALC1 FOR FILE I/O EXAMPLES 0029 0030 C NAME = 8 HOL 0031 C SPACE = 1 HOL 0032 C GRADE = 3 INT 0033 0034 0035 99 CALL CLOSE ( 3 ) 0036 STOP 1 Allocation Version 4.42 Page 0002 0 Statement Labels: 0001 0042 0010 006A 0020 0096 0099 00C6 0 Subprogram References: OPEN CLOSE STOP$ CALL$ 0 Local Data Area: 0004 i GRADE 0006 i ERROR 0008 k NAME 0010 i FILEID 0 Logic Size: 00D8 Data Size: 0020 0 Module Size: 00F8 0000 Warning(s) 0000 Error(s) 1 Version 4.42 Page 0001 0 0001 END 1 Allocation Version 4.42 Page 0002 0 Subprogram References: STOP$ 0 Logic Size: 002A Data Size: 0004 0 Module Size: 002E 0000 Warning(s) 0000 Error(s) 1 Version 4.42 Page 0001 0 0001 **Error- Don't understand this statement 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 >EOD >EOD 1 Allocation Version 4.42 Page 0002 0 Subprogram References: STOP$ 0 Logic Size: 002A Data Size: 0004 0 Module Size: 002E 0000 Warning(s) 0001 Error(s)
  7. I agree, fortran99 absolutely expects your code to be 100% correct and only the grossest of syntax errors are flagged - which is unfortunate when your getting acquainted with a language. Having said that, my next personal challenge is a snippet of code to open and read from a file.
  8. fortran99 does not use an intermediate assembly source file like say Clint Pulleys c99. The procedure to create a program, is compile (produce an object file) and then link. There are extensive facilities to include things like symbol files for debugging, as well as a whole chapter devoted to debugging the assembled output. Most people will only need to worry about compiler errors and run time errors.
  9. I modified the example 1 program from navetrad. I also got my first experience and debugging run time errors. C234567 C MCADAMS (A SAMPLE FORTRAN PROGRAM INTEGER X, SUM, I DIMENSION X(15) 1 FORMAT (I5) 2 FORMAT ('+','ANSWER ', I8) I=1 3 READ (6,1) X(I) I=I+1 IF (I.EQ.16) GO TO 10 GO TO 3 10 SUM=0 DO 20 I = 1,15,1 SUM=SUM+X(I) 20 CONTINUE WRITE(6,2) SUM STOP END <EOD> (Version 4.4) How, do you get the nice printouts, that copy above is just a copy screen from Classic99, and a CTRL-V here at atariage. It isn't nearly as read able.
  10. no fair! post the code! 😃
  11. Great Job VorTIcon. You beat me, and in iteration 2, did all of my thoughts plus. 1) D is a real and the compiler didn't like D .LE. 1 - it really wanted 1 to be 1.0 - real vs interger. 2) You declared a number of variables in program iteration 1, and in 2, you went with the flow, leaving variable types as it's default cast. I-N being int, otherwise real. I think, like most compilers, this one doesn't like being forced to do things. You did do something that I didn't think would work, in that I thought the format commands had to appear before their use. Your program *PROVES* that isn't true with this compiler! 😃 And I like the trick of C12 to clear the screen! d.
  12. VORTICON, I see a couple of things, I don't know, if they are wrong, but would try differently, just for a comparison. 1) I try to never use multiple disk i/o on the same drive, so I would use: For compile: dsk2.{source} dsk3.{object} dsk5.{listing} For linking: dsk3.{object} dsk4.{executable} dsk5.{listing} Also, I watched twice and didn't see you load the file, I've find when loading the file from the fortran99 menu, it sometimes will give you good tips about things that it doesn't thank our good.
  13. Another HUGE obstacle crushed thanks to Tursi. Fortran gives you the option to list compiler output. You can enter any device name. Ok. 40 years ago pio. would have been my go to, but now I'd just prefer to look at a file (saving trees and all). Darn compiler, when you save to a file saves in a format called dis/var 120 - which no program seems to like. I'd initially tried a device called CLIP in Classic99 - but CLIP works with text. It's clearly stated in the documentation. Tursi told me about the ?W option. So this time when I compiled, and it asked me where to send the listing file I said: DSK5.?W.EX1_L (Example 1 list). Using a FIAD for DSK5. - I was then able to navigate to the directory and open the compiler listing with textpad. This is HUGE for me, and removes a MAJOR hurdle.... Thanks Tursi. PS.. A clue to the way the file, is the way it is... I tried to cut and paste the list from textpad, and it said - sorry, no can do, this listing has embedded NULLS.
  14. One problem for me down. I put hands on a copy of PrEditor. I was playing with it to re-familiarize myself. (been about 30 years). I was surprised at how VI'ish the commands where - that's good for me. The PrEditor Quick-Reference Chart shows FCTN-Q to quit. Kept trying that - no dice, then I thought, maybe, this isn't a virgin copy of PR. Sure enough I ran CONFIGURE and the key to exit had been changed to CTRL-X (most have been a Procomm for DOS user!). DUH! Of many to do's, I want to try to patch PrEditor in to FORTRAN's menu systems with the errat VORTICON posted a couple of days ago. Jim Horn (An old navy guy himself) of Access Engineering Inc. (AEI) recommended NAVEDTRA 10078-2 - for learning FORTRAN, primarily because it was written in laymans terms, was primarily focused around FORTRAN 66/FORTRAN IV. NAVEDTRA has many good books it stands for Naval Education and Training. I tryped in the first EX and have some work as it doesn't run correctly on the TI, if I was good, I would keep track of the changes I need to make to get the example to run. ...
  15. Attacking from another end. Can you post the compiler output? Do you get any comments from the package when you try to load and or run? Thanks, dano
  16. Thanks to Michael, using the old 22/7 method, we get a pretty good approximation of PI. Also, thanks to Beery, we have a name to go with the math routines: Elmer Clausen - please stand up and take a bow! 😃
  17. So, what tool loves to load Dis/Var 120 files? 😃
  18. Wasn't there a program called Virus Attack by Vern Jensen? 😃
  19. If you get a really solid work environment vorticon, I'm not good to steal!
  20. When looking for information, one of the first places I start looking is the cyc. My methodology for this, is to use adobe to search the whole directory tree for something that I'm looking for like, in this case FORTRAN. One of the hits, was in a file, called filelist.pdf (huge). 2344.dsk - Al Beard does an intro tutorial for FORTRAN99. So filelist.pdf is a listing of Genie files archived by Barry Traver when he was the sysop there. CADD came in to all of Barry's TI Disks, and most all of them have been moved from physical media, to PC files. I couldn't find 2344.dsk, so I dug deeper. The directory structure is: \cadd\cyc\vendors\genie\ under that there is disks - which are stand alone and then there is disksark which are still in Barry's original archive, but are pretty easy to pull with either the tools included with PC99, or I used Fred's TI99dir - since I already had it open on the desktop from getting the FORTRAN stuff together, to work under Classic99. So here is the trick, if you look under \disks, you see: 06/07/2016 12:27 PM 260,240 2224.dsk 06/07/2016 12:10 PM 260,240 2228.dsk 08/11/2008 12:05 AM 260,240 2444.dsk 02/09/2008 09:08 PM 260,240 2466.dsk Nope: No 2344 disk here. But the disk does actually exists, so now you need to change to \diskark 09/18/2000 04:00 PM 549,760 2315PLUS.DSK 09/18/2000 07:27 PM 549,760 2325PLUS.DSK 09/18/2000 07:27 PM 549,760 2339PLUS.DSK 09/18/2000 07:50 PM 549,760 2350PLUS.DSK 09/18/2000 07:50 PM 549,760 2368PLUS.DSK But, if you look inside 2339PLUS.DSK - there it is! w00t So disk 2339 contains, disks 2339 - 2349 inclusively. Now, for the unfortunate part, when Barry dumped this out, he did it in 40 column mode, while the original was for 80-column, which required me to do some hand editing, if I wanted to get this in a readable format. (but below it is!). This is what I was hoping to start out which, because, it theory, if you follow all of these instructions TO THE LETTER, you should in the end of a workable program, from which you can expand and play. ACTION> (Next, Down, Xm, List) L Understanding 99 FORTRAN, for your TI-99/4A and MYARC Geneve ------------------------------------------------------------ The following is the start of a tuturial on 99 FORTRAN. In this section, I give a little history of FORTRAN, and take the user through editing, compiling, linking, and running a small FORTRAN program. Part 1 - The basics ------------------- 99 FORTRAN offers unique capabilities for your TI-99 and GENEVE, a syntax similar to BASIC with the execution speed of a true compiler! FORTRAN is more like BASIC than C or FORTH. FORTRAN is the oldest "higher level language" developed in the 1950's. It is best known for numerical analysis (and is still probably the best suited language for such applications) but can easily handle other types of programs, such as games or database programs or just about anything. As a matter of fact, the original granddaddy adventure game "ADVENTURE" was written in FORTRAN on a PDP-11. As FORTRAN evolved from a very simple numerical language, to a very rich and powerful language, various standards emerged. FORTRAN II, FORTRAN III, and finally FORTRAN IV was standardized in 1966, with the ANSI standard FORTRAN 66. During the 1970's, a new and very important style of pro- gramming emerged, structured programming. What is it? Well, look at the following pieces of FORTRAN code and see which is easier to understand: IF ( ICODE - 10 ) 100, 110, 100 100 J = 2 GOTO 120 110 J = 3 120 CONTINUE or IF ( ICODE .EQ. 10 ) THEN J = 3 ELSE J = 2 ENDIF The first example shows a FORTRAN arithmetic IF statement, whereas the second a structured block IF statement. Both code segments do the exact same function, if the variable ICODE is equal to 10, then the variable J is set equal to 3, otherwise the vari able J is set equal to 2. The second example is MUCH easier to unders tand, especially later when you go looking for statement labels. 99 FORTRAN has some FORTRAN 66 and some FORTRAN 77 features. Most important with FORTRAN 77 is the structured IF statement, as shown above. Equipment Needed ---------------- To run 99 FORTRAN, you need a TI-99/4A with 32k memory, disk drive, console, monitor, and one of the modules Editor Assembler, MINI-Memory, Extended BASIC or TI-Writer. If you have the MINI-Memory, then use it, 99 FORTRAN makes use of the extra 4k of memory to speed compilation and for the symbolic debugger. You also need a copy of 99 FORTRAN. This is available from TENEX Computer Express, Disk Only Software, or Quality 99 Software, suggested retail of $49.95. 99 FORTRAN can also be run on a GENEVE in GPL mode (sorry, MDOS version is not available, yet). It can be run at the highest speed (5) available. It can also access RAM disks. Note that the released versions of 99 FORTRAN include 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 3.1, 3.1.1, 3.1.2, 3.1.3. If you currently have a version 2 (see the label on the boot or library disk, or read the VERSION file on the boot or library disk) then you should send in your warranty registration to LGMA Products. You will then receive a letter explaining how to upgrade your system to the latest version 3 release. If you make copies of the boot disk, then make sure the name of the disk is kept the same, e.g. FORTCOMP for the boot disk, and FORTLIBR for the two library disks. If you copy the boot disk to a RAM disk (e.g. DSK5), then make sure the name of the RAM disk is FORTCOMP also. This can be changed with the preferences program, see the FORTRAN manual for a description. Booting in FORTRAN ------------------ Booting in FORTRAN is easy, just put the BOOT disk in any drive (suggest drive one to cut down on searches), and enter BASIC, and type: OLD "DSK.FORTCOMP.LOAD" RUN There are several other ways of booting in FORTRAN. A quick way with the editor/assembler module is to use option 5 (load and run), and type: DSK.FORTCOMP.UTIL1 If the boot process went ok, you will see a menu on the screen: 99 FORTRAN 1 Edit 6 Save 2 Compile 7 Load 3 Link 8 USER 4 Run 9 Utilities 5 Run/Debug a blinking underscore will also be at the bottom of the screen, this is the cursor. To perform a function, type the number associated with the function (e.g. 1 to edit a program) followed by ENTER (or return). The boot disk will be read for that function, the appropriate program(s) related to that function will be read, and the function initiated. If you don't have the boot disk plugged into a drive, then you will get a cryptic "I/O Error" message. Just put the boot disk in and try again. Editing a program ----------------- Now that FORTRAN is booted, lets call in the EDITOR. From the main menu screen (the one above), type the number 1 (for editing) and ENTER. After a short delay, and some disk activity,the following MENU will appear: 99 Editor Press: 1 To Load Program 2 Edit Program 3 Save Program 4 Purge Workspace 5 DisplayStatistics 6 Print File Lets first edit a program. Press the number "2". The screen will clear, and the following will be displayed: <EOD> (Version 3.0) Depress ENTER to open a line, then type in the following program lines: (note that every FORTRAN statement must be preceded by SIX or more blanks, and statement labels must fall in columns one through 5. A character other than a blank or zero in column 6 meansthis is a continuation line. Characters past column 72 are ignored): c cc o oo l ll 1 67 v vv PROGRAM SAMPLE I = 0 DO WHILE ( I .NE. 999 ) WRITE ( 6, 9100 ) I READ ( 6, 9110, END=9999 , ERR=9999 ) I ENDDO 9999 STOP 9100 FORMAT ( '+', C12, M10.4, 'Value of I is: ',I6, + M18.4, 'Enter New Value:', M18.22 ) 9110 FORMAT ( I6 ) END When finished, depress fctn/back (function/9) to return to the menu display. Insert a blank, formatted, disk into DSK1, and select item 3 (Save Program). 99 FORTRAN responds: File to save? Type in a file name of: DSK1.SAMPLE The program source will be saved to the disk in display/var/80 format. You have now created a program source. Note that the 99 FORTRAN editor is a minimal editor, there is no string search or replace capability. If you need to do a LOT of editing, you might chose to use the editor/assembler editor or TI-Writer, if it is available to you. Just make sure to save the file in display/var/80 format! Exiting the editor is simple, type function/back (function/9). The message: Are you sure (Y/N)? will be displayed. Type a 'Y', and you will return to the MAIN MENU. Compiling( "2" on the MAIN MENU (for Compile). The compiler will load into memory, and the following message will be displayed: 99 FORTRAN Compiler V3.1 Input File Name? Enter the name of the source input file you created above, DSK1.SAMPLE and press ENTER. The next question is: Object File Name? Enter the name of the resulting object file: DSK1.SAMPOBJ and ENTER. The next question is displayed: Listing File Name? If you want a listing to a printer, then you can enter the device name here. Some device names that are common are: PIO or RS232/1.BA=4800 If you want the listing to be displayed on the screen, type in a device name of CRT. If you don't want a listing, just press ENTER. The next question displayed is the Scratch Disk Number (1-3). If your program is longer than about 80 lines, then 99 FORTRAN may have to create some temporary files on the disk. It will delete them when the compilation is finished. In this case, just use 1 (just hit ENTER). The last question is: Compilation Options? Just leave this blank for now (just hit ENTER). The message: Press ENTER to Continue will be displayed. Press ENTER to start the compilation. After a few seconds (longer if you are printing the listing), the following should be displayed on the screen: Compilation in Progress 0000 Warning(s) 0000 Error(s) Compilation Complete Press ENTER to Continue If you have accumulated errors here, go back to the editor, load the program source, edit it to remove the errors, and recompile. Do NOT attempt to run a program which has compilation errors! The results are unpredictable. Press the ENTER key to return to the MAIN menu. 99 FORTRAN "remembers" the last function executed, so that if you have multiple compilations to perform, just select item 2 again. The compiler will be immediately available without reloading from disk. Linking the Program ------------------- Before the program can be executed, the object must be "linked" to produce an absolute executable module. To link your sample program, press "3" and ENTER on the MAIN MENU. You can now link the sample program. The linker first displays the following question: 99 Linker V3 Listing File Name? If you want a listing, enter the same device name you entered while compiling the program (e.g. PIO, or RS232/1.BA=4800, or CRT). If you don't want a listing, just press ENTER. The following question will then be displayed: Object File Name? Enter the name of DSK1.SAMPOBJ. This will load your sample object into main memory, ready for execution. Note that after the file is read the question: Object File Name? is displayed again! This allows you to enter multiple object files for precompiled FORTRAN and Assembly Language subroutines. Just hit ENTER for now. If you selected the listing option, a map will be produced on the selected listing device. It should look like this: Fortran Map V3 Logic Area Size = 009C SAMPLE A000 Spare Area Size = 5A32 Data Area Size = 0008 SAMPLE * FAD0 Press ENTER to Continue This map shows the logic area location and size, the data area location and size, and the spare area (unused) sizein hexadecimal bytes. Press ENTER to return to the MAIN MENU. Running the Program ------------------- To RUN your program, select item 4 (Run) on the MAIN MENU, and press enter. One file will be loaded from the disk, and the program will be started, displaying the following: Value of I is: 0 Enter New Value: _ enter the number 123 and ENTER. The screen will be re-displayed showing this number. It is now time to examine the program line by line to see what it is doing: The first line is: PROGRAM SAMPLE this line really is just for documentation. The program name will appear on the link map. It serves no other function. The next line: I = 0 assigns the value of zero to the integer variable I. In FORTRAN, all variables starting with the letters I, J, K, L, M or N are defaulted to INTEGER, all other letters are of type REAL. We are dealing with all integer variables here. You can change the IMPLICIT defaults using the IMPLICIT statement, you can also change each variable EXPLICITLY using the INTEGER, REAL, LOGICAL, or DOUBLE PRECISION statements. The next statement starts a loop construct, starting with the DO WHILE statement and ending with the ENDDO statement: DO WHILE ( I .NE. 999 ) . . statements here . ENDDO These statements say "do the following statements, up to the ENDDO statements, while the logical expression within the parenthesis is TRUE". In this case, the statements will be executed as long as the variable I is not equal to the value 999. The following two statements are FORTRAN write and read statements: WRITE ( 6, 9100 ) I READ ( 6, 9110, END=9999, ERR=9999 ) I they are indented to the right to make the program easier to read (since the statements are part of a loop construct). The first WRITE statement says "write on device 6, according to FORMAT statement starting with label 9100, the variable I". The READ statement says "read from device 6, according to the FORTRAN statement starting with label 9110, if an END condition occurs then branch to statement starting with label 9999, if an ERROR condition occurs, then branch to the statement starting with label 9999, the variable I". FORTRAN devices are opened via the CALL OPEN statement. There is one device automatically assigned for both input and output for every FORTRAN program, device 6, the CRT. The next statement: 9999 STOP is branched to when the loop exits (if the value of I is 999) or when an END condition or ERROR condition is detected on the READ statement. The next two statements are the associated FORMAT statements for the WRITE and READ statements: 9100 FORMAT ( '+', C12, M10.4,'Value of I is: ',I6, + M18.4, 'Enter New Value:', M18.22 ) 9110 FORMAT ( I6 ) The first FORMAT (9100) is associated with the WRITE statement (write according to FORMAT 9100, remember?), and the next statement is associated with the READ statement (9110). The first FORMAT starts with a quoted string (single quotes in FORTRAN, not double), with a FORTRAN carraige control character ('+'). I am using a plus sign here to disable the FORTRAN carraige control convention. The next FORMAT literal is "C12". This is a special 99 FORTRAN extension which says "write the ascii character whose value (12) follows". This character, a form feed, clears the screen. The next FORMAT literal "M10.4" is again a special 99 FORTRAN extension which says "move the cursor to row 10, column 4". The next quoted string 'Value of I is:' displays that string at row 10, column 4 on the screen. This is followed by a standard FORTRAN "I6" literal, which says "display an integer value (I) in a six character field, right justified, and padded to the left with blanks". The cursor is again moved to row 18, column 4 (via M18.4) and the quoted string 'Enter new value:' is di.there. This is followed by a( final cusor move M18.22, which moves t.he cursor to row 18, column 22.' Since I used the '+' carriage control,"above, then the cursor will remain.co..his.. there for the next READ operation. The next format: 9110 FORMAT ( I6 ) is used in conjunction with the READ statement, and says "read an integer in an up to six character field". Actually 99 FORTRAN works just like basic here, except the field width is limited to what you enter. For example, the following numbers will be produced in response to the following (try it!): c c o o l l 2 2 2 7 v v 12 produces 12 12 produces 12 12 produces 12 -12 produces -12 123456 produces -7616 (integer overflow) We can exit the program by entering the value 999, by entering a non-numeric character (remember the ERR= exit in the READ statement above), or by en- tering the "end of data" characters >EOD (remember the END= exit in the READ statement above). The final statement of the program terminates the program compilation. If control is ever passed to the END statement, it is treated as a STOP state- ment: END In Summary ---------- The procedures outlined above show you how to edit, compile, link, and run 99 FORTRAN programs. It may seem tedious the first time through, but the reward are programs that are easy to follow and liberally commented, and run anywhere from twice as fast tohundreds of times faster than their TI BASIC counterparts. In future tutorials, I will go more in depth on the FORTRAN language itself, and how to use the extensive FORTRAN libraries. Enjoy! Copyright 1988 by A.L.Beard 29-May-1988 (please ask permission to reproduce or post on bulletin boards. permission given freely)
  21. I think I should be ok (on my hello world code snippet) - because it doesn't use fortlib2. But you are absolutely correct, for serious use, all the libs need to be 100% correct!
  22. Ok.. Will try. For the record, I was using QI399.014. I'm kind of stuck with disk at least on the compiler disk side, until you patch (directory = disk name), then I can give that a try. I will report back if anything else comes up, I just pulled down QI399.018.
  23. Seven Days until April Ping, I was hoping to see the first issue in the mailbox! 😃
×
×
  • Create New...