Jump to content
IGNORED

History of GPL


Davvel

Recommended Posts

Our intention is to collect as much historical background to the Why, When, Who and How GPL came to be. 

 

Please contribute by commenting to this topic.

 

Things like :

 

1. When did it all start ?

2. Why ?

3. Who worked on it's development and interpreter ?

4. What was the real purpose ?

5. How does it compare to other languages ?

6. What can we do with it today ?

7. Coding in GPL in the 1980's compared to 2020 the stark difference.

8. What commercial software was written in GPL ?

9. Who were the important people around this language ?

10. Links to important material.

 

If we can collect snippets of information from as many people as possible we can then compile it into a solid web page that will serve as a historical snapshot of this quirky yet beautiful language that time almost forgot.

 

Thanks for your contributions.

 

We will share a link to the webpage that will contain all you need to know about GPL as soon as we set it up.

 

  • Like 1
Link to comment
Share on other sites

There is an old manual here for use on the 990/10 DS systems :

 

http://ftp.whtech.com/datasheets and manuals/Specifications/gpl_programmers_guide-OCRed.pdf

 

Really neat that their early assembler had macros for high level flow control.. 

 

There is an introduction in that text that describes some of the market goals for the GPL system.

 

-M@

Link to comment
Share on other sites

   For the Cyc, I did a number of interviews with former TI Developers. One of those was with Granville Ott - he seemed to be the program manager that was originally tasked with creating the Home Computer Division, for that, he pulled some guys from the calculator division to form the proto home computer division - he credits the TI's tight, almost error free code to the fact that in the calculator division, they had to get it right the first time and do lots with very little resources hardware resources.

 

    I would bet he would be one of the few guys that might get you started.

   A quick google came up with:

     https://www.arlut.utexas.edu/lab/cqr/people/ott.html

 

 

  • Like 2
Link to comment
Share on other sites

1. When did it all start ?

I got my TI computer in 1983 just a few weeks before Xmas.

I started GPL after I bought a GRAMULATOR from C.A.D.D. , but about same time I bought 3 manuals from Competition Computer for $200.00 each.

These were GPL Programmer's Guide, Extended Basic Assembly Source ROMs and Extended Basic GPL Source for GROMS.

I typed in by hand the GPL Programmers Guide and sent copies to everyone I could think of, this is where everyone got this data.

Proof is all have the misspellings I did and format that was not like the original source that would not fit in 80 character DV80 files.

I also typed in by hand the XB ROMs and GPL GROMs to see how XB worked and less than 1 year later had my first version of RXB.

 

2. Why ?

After purchase of the manuals I decided I would program in GPL as only about 9 people really knew how to do this in the TI community in 1984.

I wanted to be one of these experts.

 

3. Who worked on it's development and interpreter ?

All I know is notes written in borders of my Manuals I purchased from Competition Computers.

There were clues to how some things worked and it was obvious the Assembly Programmers and GPL Programmer's did not spend much time communicating.

Proof is the number of routines in XB ROMs that does exactly what GPL MOVE command does and most of the time takes up more memory and is not faster.

Example is GPL MOVE command takes 9 bytes to move any type of RAM/VDP/GROM to any type of RAM/VDP/GROM, yet XB ROMs have routines that take

28 bytes to just set up and do that same thing and at best only slightly faster. Many could have been GPL command MOVE to do same thing and allowed much

more GPL and Assembly code in the XB module.

Another example is TI Basic and XB have different GPL GROM headers. Yet DSR headers are the same for Assembly or GROM but why is TI Basic is the oddball?

Well in the borders of the XB GROMs and ROMs you see digs at the other programmers like "Another Patch to fix VRAM access" or "How does this work?" or

"More duplicate code!"

 

4. What was the real purpose ?

GPL is the most compact code I have ever seen. 1 byte can reset computer, 9 bytes can move any size or any type of memory to any other.

GPL has direct IO (Input Output) access like CALL IO can talk to any chip in the TI99/4A computer, Sound chip, VDP chip, Speech Chip, IO Chip.

CALL IO command in GPL can set up play music in 7 bytes continuously, this would be impossible in Assembly.

Assembly requires a lot of memory to do anything, unless you use the OS ROM to do it, and the OS ROM in the TI99/4A is designed around GPL use.
Assembly is faster, but costly to use as it takes up much more RAM. GPL uses GROMS and each Cart has up to 40K, with 16 banks meaning 640K total.

This is not even counting how many ROMs you can include, but ROM Headers can not be read by OS to boot, but GROM Headers can do that.

 

5. How does it compare to other languages ?

Many years ago I wrote a Article called COMPARING LANGUAGES for Micropendium Magazine. Refer to that one if you want.

 

6. What can we do with it today ?

Well RXB is a good example, also I created a way to put EA support for Assembly into the TI Basic GROMS so you can from TI Basic with no EA cart run Assembly.

I converted GPL source for ET at Sea and others like Tursi modified that code and made a working game.

Most of the carts in the TI99/4A are GROM so still valid today.

 

7. Coding in GPL in the 1980's compared to 2020 the stark difference.

None I still use the RYTE DATA GPL ASSEMBLER today.

 

8. What commercial software was written in GPL ?

LOL well most of the cart ever made for the TI99/4A and we still do makes more carts most using GPL to load or run programs. FINALGROM as example.

 

9. Who were the important people around this language ?

For me creator of the GRAMKRACKER Miller Graphics that cracked the GPL code and created all types of devices and cart mods.

 

10. Links to important material.

 

https://www.youtube.com/channel/UCULwPKqrRFCtNv5_xMuOqQw?view_as=subscriber

 

My YOUTUBE channel including GPL Tutorials. 

 

GPL HOW 2 Series video

A complete series on how to program GPL (Graphics Progroamming Language) on the TI-99/4A.

Each tutorial has its own support package with example code, GPL assembler, etc.

Video tutorials done by Rich, the programmer of Rich Extended Basic.

(Author: @RXB)

 

GPLHOW2A - Introduction video / zip

GPLHOW2B - Sprite demo video / zip

GPLHOW2C - How to make a Screen Editor like TI Writer or Editor Assembler video / zip

GPLHOW2D - Editor Assembler TI BASIC support.video / zip

GPLHOW2E - DMII cartridge upgrades and how GPL works video / zip

GPLHOW2F - TI Basic to GPL. Converting a TI Basic program to GPL video / zip

GPLHOW2G - TI Basic CALL SOUND to GPL video / zip

GPLHOW2H - Simultaneous sound lists and interrupt timer in GPL video / zip

GPLHOW2I - XB2GPL demo of a XB game Baloons converted into a GPL program video / zip

GPLHOW2J - Update to GPLHOW2I and adds a automatic music to the game from the last demo video / zip

GPLHOW2K - How to make XB Program Image files into I/V 254 files video / zip

 

  • Like 6
Link to comment
Share on other sites

You can code GPL on a PC or Linux system today with the xdt99 suite from Ralph B - https://github.com/endlos99/xdt99.  And then just plop the binary onto an SD card, stick it in the final grom, and give it a test.  Or start up mame or classic99 from the command line loading your fresh cartridge image.  xdt99's gpl assembler allows use of macros, and long label names, which is easier for those of us who have grown up on languages that didn't 'run out of vowels' 

 

looks like some macro facility was there in the 990/10 DS system docs. 

 

Before the development model described by RXB, TI developers clearly also used a cross-assembler for GPL.  I've read other documents that indicate they had home computer system simulators on those 990 minicomputers. I would speculate that one of the benefits and motives for GPL besides compactness was abstracting the home-computer hardware away so that software development could take along with testing on the minicomputer. Much like is common practice today.  

 

-M@

  • Like 4
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...