Jump to content
Sign in to follow this  
dhe

fortran99 - any users here

Recommended Posts

I had never heard of Scratch.  Of the three LabVIEW is probably the most successful. I don't think it's taken over the way people thought it might 20 years ago but the fact that it still is in use is a testament to its capability I suppose. To be fair I have not followed how popular it is in industry these days.

 

 

Share this post


Link to post
Share on other sites

Hey all..

 

Pretty nifty programs people have posted.   You can thank Elmer Clausen (from Buffalo NY) for all of the math functions in FORTRAN 99/9640, he basically developed them all and gave them to me to include in the package, as my original implementation of the same was so poor.  I was more focused on the compiler itself rather than the math libraries.   Elmer was actually driving a plotter with the FORTRAN and he had a real interest and need for rock solid math libraries.   FORTRAN still seems pretty unique in that is supports complex math easily.    Interesting as well in that the TI-99 and Geneve both had interesting BCD based floating point arithmetic which was a lot more precise than what we ended up with IEEE floating point becoming the standard.  I seem to remember that had something to do with TI being used for accounting type functions before it was migrated to the home market, so we ended up with those slow BCD floating point representations that actually were quite precise and didn't have the binary to decimal round off issues.

 

The original FORTRAN compiler was based on FORTRAN 66, but I added a lot of FORTRAN 77 stuff (like if/then/else/endif, do while, etc.).   The compiler is pretty interesting in that it used an interpreted machine to parse the FORTRAN source code, that interpreted machine was loaded into video ram.   We were so tight on memory and resources back then, it took some real tricks to do useful things.

 

I managed to pull together most of the FORTRAN 99/9640 and TIC (Full-C) source code.  It is pretty massive, most of it was written in assembly (the TIC compiler is written in C).   One thing I am missing is the tasm assembler, I have a couple of Amiga floppies labelled a99 (original name for tasm) but I don't have a machine to read them on any longer.   The tasm/a99 assembler came from a posting on BIX (Byte Information Exchange, I used to be a moderator there) from a professor from Arizona from memory.  I greatly enhanced it, one nice feature it had was macro capability.   The TIC compiler was based on some public domain compiler that was pretty buggy at the time.   One of the fun things I did for both FORTRAN and TIC was to write peephole optimizers for the code generation.

 

The original FORTRAN was coded entirely with Editor Assembler / floppy disks, etc.   Hard to believe I got all that working with those tools at the time.   Eventually I got a Geneve which I really liked but it was SO buggy with the operating system MDOS.   I ended up getting an Amiga eventually, that became my favorite computer for a long time, I actually ended up owning three of them.   I ported the tic + tasm tools over to that environment and did a lot of development there.

 

Professionally I still work for a company called Schneider Electric as a project manager, and work on computer systems primarily to manage the electric power grid in the USA.   I also work on a lot of new stuff like Microgrids, and even did a lot of projects in New York City for the transit system.    I will retire in the next few years and hopefully will move from New England to South Carolina (I have a second home there).   I have had a great career traveling the world to a lot of places that most people would never get to see.

 

I can post this source code for the TI-99 and 9640 compilers/linkers/demo programs/tic compiler, etc. but not sure where to post it.   Any ideas?

 

Best

Alan Beard

LGMA Products  (Little Green Men Associates)

 

 

  • Like 6

Share this post


Link to post
Share on other sites
On 9/15/2020 at 11:55 PM, alanbeard said:

I can post this source code for the TI-99 and 9640 compilers/linkers/demo programs/tic compiler, etc. but not sure where to post it.   Any ideas?

Something like Github may be good in case somebody wants to make improvements to it.

Share this post


Link to post
Share on other sites

You could zip it and put it up here, Alan. Then we can get it moved to the other TI repositories (like the WHT FTP site). It is good to see you are still around! I bought one of the early versions of FORTRAN99 (V2.3?) and later upgraded it to the FORTRAN99/9640 FORTRAN issue. I had a lot of fun with it. . .

  • Like 1

Share this post


Link to post
Share on other sites
On 9/16/2020 at 12:55 AM, alanbeard said:

Hey all..

 

Pretty nifty programs people have posted.   You can thank Elmer Clausen (from Buffalo NY) for all of the math functions in FORTRAN 99/9640, he basically developed them all and gave them to me to include in the package, as my original implementation of the same was so poor.  I was more focused on the compiler itself rather than the math libraries.   Elmer was actually driving a plotter with the FORTRAN and he had a real interest and need for rock solid math libraries.   FORTRAN still seems pretty unique in that is supports complex math easily.    Interesting as well in that the TI-99 and Geneve both had interesting BCD based floating point arithmetic which was a lot more precise than what we ended up with IEEE floating point becoming the standard.  I seem to remember that had something to do with TI being used for accounting type functions before it was migrated to the home market, so we ended up with those slow BCD floating point representations that actually were quite precise and didn't have the binary to decimal round off issues.

 

The original FORTRAN compiler was based on FORTRAN 66, but I added a lot of FORTRAN 77 stuff (like if/then/else/endif, do while, etc.).   The compiler is pretty interesting in that it used an interpreted machine to parse the FORTRAN source code, that interpreted machine was loaded into video ram.   We were so tight on memory and resources back then, it took some real tricks to do useful things.

 

I managed to pull together most of the FORTRAN 99/9640 and TIC (Full-C) source code.  It is pretty massive, most of it was written in assembly (the TIC compiler is written in C).   One thing I am missing is the tasm assembler, I have a couple of Amiga floppies labelled a99 (original name for tasm) but I don't have a machine to read them on any longer.   The tasm/a99 assembler came from a posting on BIX (Byte Information Exchange, I used to be a moderator there) from a professor from Arizona from memory.  I greatly enhanced it, one nice feature it had was macro capability.   The TIC compiler was based on some public domain compiler that was pretty buggy at the time.   One of the fun things I did for both FORTRAN and TIC was to write peephole optimizers for the code generation.

 

The original FORTRAN was coded entirely with Editor Assembler / floppy disks, etc.   Hard to believe I got all that working with those tools at the time.   Eventually I got a Geneve which I really liked but it was SO buggy with the operating system MDOS.   I ended up getting an Amiga eventually, that became my favorite computer for a long time, I actually ended up owning three of them.   I ported the tic + tasm tools over to that environment and did a lot of development there.

 

Professionally I still work for a company called Schneider Electric as a project manager, and work on computer systems primarily to manage the electric power grid in the USA.   I also work on a lot of new stuff like Microgrids, and even did a lot of projects in New York City for the transit system.    I will retire in the next few years and hopefully will move from New England to South Carolina (I have a second home there).   I have had a great career traveling the world to a lot of places that most people would never get to see.

 

I can post this source code for the TI-99 and 9640 compilers/linkers/demo programs/tic compiler, etc. but not sure where to post it.   Any ideas?

 

Best

Alan Beard

LGMA Products  (Little Green Men Associates)

 

 

Alan,

 

You should be able to easily post the files here.  Then, if users desire, they could be added to GitHub, etc. should someone decide to do any updates, etc.  I know I have posted files on here that were > 50 MB, so there should not be an issue.  If you have not seen it already, as you write a message, there is a paperclip just below where you are typing where you can "choose files" from your PC to post here.

 

Good hearing from you again and glad you made it over to Atariage.

 

Beery

  • Like 1

Share this post


Link to post
Share on other sites

See the github abeard01/fortran99.    Everything I have is there...  It is a public git.

 

Regards

Alan Beard LGMA Products

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

@alanbeard So we don't have a chance at the moment to get the sources of TASM? That's unfortunate. I am currently tracking a problem with TASM and already started to disassemble it. The sources could save me a lot of time.

Share this post


Link to post
Share on other sites
On 3/21/2020 at 8:38 PM, Lee Stewart said:

I cut my programming teeth on Fortran 2B back in 1963 on an IBM 1620 mainframe. I have always intended to check out Fortran 99, but have not as yet gotten around to it. |:)

 

...lee

 

On 3/21/2020 at 8:59 PM, TheBF said:

I still have a couple printouts in a file around here from an IBM 1480 system line printer. :) 

Lost the card decks however. OMG It's hard to believe we did that.

 

A few years later (late 60s – early 70s) while I was in graduate school working on my Biochem PhD, I got hold of a castoff 026 keypunch machine and coupled it to a Packard TriCarb scintillation spectrometer with a solenoid deck (from Packard for that purpose) that fit over top of the keyboard. As output, I would get a deck of punchcards to put behind my Fortran IV program deck, which would calculate 3H-CMP (tritiated cytidine monophosphate) incorporation into the RNA synthesized in my experiments. The keypunch was pretty noisy, but it worked.

 

...lee

  • Like 2

Share this post


Link to post
Share on other sites
2 hours ago, Lee Stewart said:

 

 

A few years later (late 60s – early 70s) while I was in graduate school working on my Biochem PhD, I got hold of a castoff 026 keypunch machine and coupled it to a Packard TriCarb scintillation spectrometer with a solenoid deck (from Packard for that purpose) that fit over top of the keyboard. As output, I would get a deck of punchcards to put behind my Fortran IV program deck, which would calculate 3H-CMP (tritiated cytidine monophosphate) incorporation into the RNA synthesized in my experiments. The keypunch was pretty noisy, but it worked.

 

...lee

"And if you tell the kids that today, they won't believe it!"    (Monty Python Yorkshire men sketch) 

:) 

  • Haha 1

Share this post


Link to post
Share on other sites

Dang Lee! I've never had to use punched cards thankfully. My earliest experience with mainframes was in college at McGill while taking a Pascal class as an elective, but we had terminals for program entry although the output came out over at the batch line printer and we would go pick it up a day later only to find that the program had crashed... Mind you at the time I already had a TI 99/4A but only the console and a tape deck (we're talking circa 83), which felt kind of like a toy although I did manage to program and run statistical analysis programs in TI BASIC for my experimental neurobiology class (characterization of the cricket's wing stretch receptor - I was a neurobiology major). I did not have a printer, so I would dutifully write down each result. Tedious as hell. Ah the good old days :lol:

That said, we did have a minicomputer in high school with 6 ascii terminals which I used with an introductory Fortran class I nearly flunked. I hated Fortran at the time, and looking at the course manual which I still have, I can see why: dry as hell. Funny thing is I re-learned it from the LGMA manual and it was actually quite enjoyable this time around. I still think Fortran is clunky as a language, but interesting nonetheless.

  • Like 1

Share this post


Link to post
Share on other sites

For some reason the files didn't get posted in github, so I posted them again.   abeard01/fortran99.   This includes tic as well.

 

Alan Beard

LGMA Products

  • Like 5

Share this post


Link to post
Share on other sites
On 9/18/2020 at 4:14 PM, alanbeard said:

For some reason the files didn't get posted in github, so I posted them again.   abeard01/fortran99.   This includes tic as well.

 

Alan Beard

LGMA Products

Alan,

 

I saw a DOC folder with some email messages, and a MANUAL folder with a CHAPTER1.ppa and a CHAPTER2.ppa set of files.  

 

Did you have a word processor file for the manual?  Or, do you by chance still have some manuals you would want to sell?  If so, I would be interested.  If you do have manuals you would sell, hold one back for me as I will be traveling over the next week and will be trying to find Dorothy and Toto in Kansas.  Seems she was involved in a bit of a storm recently........

 

Beery

  • Haha 3

Share this post


Link to post
Share on other sites
On 9/20/2020 at 2:06 PM, BeeryMiller said:

Alan,

 

I saw a DOC folder with some email messages, and a MANUAL folder with a CHAPTER1.ppa and a CHAPTER2.ppa set of files.  

 

Did you have a word processor file for the manual?  Or, do you by chance still have some manuals you would want to sell?  If so, I would be interested.  If you do have manuals you would sell, hold one back for me as I will be traveling over the next week and will be trying to find Dorothy and Toto in Kansas.  Seems she was involved in a bit of a storm recently........

 

Beery

I think I used Amiga Professional Page, so that would make sense (PPA files).    I will look to see if I have any extra manuals for 99 fortran, will send one to you if I have.  i know I have one on the shelf.

 

Share this post


Link to post
Share on other sites

Would you mind sharing some details on how the development process worked?

I took a glance at the source code on github and device paths listed seems to indicate development was done on a minicomputer?

  • Like 1

Share this post


Link to post
Share on other sites
On 9/22/2020 at 6:13 AM, retroclouds said:

Would you mind sharing some details on how the development process worked?

I took a glance at the source code on github and device paths listed seems to indicate development was done on a minicomputer?

Isn't that AmigaDOS? Alan said that he was developing on an Amiga after the TI and Geneve.

Share this post


Link to post
Share on other sites

The source code for TIC appears to be partial - it looks like a few files did not get uploaded.

 

Alan was kind enough to share the sources to TIC with me some 6 years ago, when I first got started on the Unix on 9900 port. These files have been on WHTech ever since:
http://ftp.whtech.com/programming/TIC/

That zip file contains a full set of sources and are verified to build. Dave Pitt's assembler can be used as an alternative to TASM (for TIC output) - see the README.txt for details.

 

(The Unix port is long since completed, but I used a port of the PDP11 Unix compiler in the end).

  • Like 2

Share this post


Link to post
Share on other sites
On 9/21/2020 at 10:18 PM, alanbeard said:

I think I used Amiga Professional Page, so that would make sense (PPA files).    I will look to see if I have any extra manuals for 99 fortran, will send one to you if I have.  i know I have one on the shelf.

 

If you find one, my address is:


Beery Miller

364 Lake Road

Campbellsburg, KY 40011

 

Much appreciated.  Been trying to find some kind of converter to get the PPA files into a more current document format.  Haven't found anything yet.  Likely, software back in the early 90's has very few, if any, document converters for our current line of word processors.


Beery

 

Share this post


Link to post
Share on other sites

Good news - I had located two floppies labelled "a99" (this is TASM) which were taken from my Amiga computer back in the 90's.   OLD CSI (of AtariAge, Amiga Forum) agreed to load these for me, I shipped them to him and he did an outstanding job.  One of the two floppies was damaged but he was able to extract all of the data from it.   He posted to me the files and also two adf images, one for each floppy.

 

I posted the code in the 99FORTRAN github under "a99".   This has the a99 assembler (two versions, I haven't gone through what the difference was, one I sent to Ron Lepine who was a fellow co-moderator on BIX at the time).  It also contains the loader and a debugger.

 

Looking through the files (it has been almost 30 years since I did this), it looks complete and should be easily buildable.  It even has the "special" code I used to build the tic C compiler for the MYARC Geneve 9640.  This was interesting that it used memory paging to allow larger C programs to be compiled, by only using two segments of memory for the code.  This required some special commands in a99 as well as the loader program.

 

Enjoy (and if you get a minute, please drop a thank you to Alan / OLD CSI on AtariAge Amiga forum).

 

Al

 

  • Like 3
  • Thanks 4

Share this post


Link to post
Share on other sites

@alanbeardGreat news! One point: How do I build TASM from the sources?

 

Also, would you mind sending me the adf images? I could possibly use them in the Amiga emulation in MAME.

  • Like 2

Share this post


Link to post
Share on other sites

whtech is such a vast archive, no telling what's lurking in there. 🙂

 

Thanks Alan for all the great work on Fortran99, TIC, and everything else.

Edited by jbdigriz

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...