Jump to content
IGNORED

Was GPL a mistake?


Willsy

Was GPL a mistake?  

22 members have voted

  1. 1. TI BASIC is coded in GPL, an interpreted language. BASIC programs are double interpreted, hence slow. Was it a mistake to implement BASIC in GPL, and did it play a part in the TI

    • Yes, GPL is a terrible idea. What were they thinking?
    • It's a cool idea, but handicaps the machine
    • I love GPL, bring it on!

  • Please sign in to vote in this poll.

Recommended Posts

Since I know little about GPL itself, I can't really say whether or not GPL itself was a mistake. Writing BASIC in GPL instead of assembly *was* a mistake, as was using proprietary GROMs.

 

Yes, writing BASIC in GPL really was a big mistake. It made it very, very, slow.

 

I will soon be doing an own thread about my effort to call GPL from assembly language with only 256 bytes of scratchpad memory to your disposal. It's really an interesting thing to see what tricks can be used to jump into the GPL interpreter and safely return to your assembly

language program. Dunno, if I'll succeed in doing so, but I guess it will make an interesting read anyway :)

Link to comment
Share on other sites

I work at Texas Instruments, so I'm really getting a kick out of these replies... (Ok, enough of the FARK memes.)

 

Actually, I really do work at TI, and was hired in by one of the VDP designers. (He added the bitmap mode to the TMS9918A.) He went on to be the senior logic designer for the TMS9995 and architect of the TMS99000, if memory serves.

 

Anyway, he's also mentioned that the Home Computer guys wanted a processor that ran a version of GPL natively. Such a processor would have been much faster at running GPL programs than the TMS9900, but it's unclear if its peak performance would have been higher than the TMS9900's. I guess it depends on whether the GPL processor kept its workspace onchip or not (eliminating all those memory cycles), and if the GPL processor ended up being 8 or 16 bit. I imagine it would not have included the higher-level GPL routines. (ie. no "keyboard scan" instruction or "coinc" instruction. Block moves/block fills, maybe.)

 

Another coworker of mine also worked with the Home Computer. He said one of the motivations behind GPL was to simplify access to the memory behind the VDP and in GROM, to make it appear more unified to the average programmer.

 

Both have mentioned the Z-80 machine.

  • Like 1
Link to comment
Share on other sites

I work at Texas Instruments, so I'm really getting a kick out of these replies... (Ok, enough of the FARK memes.)

 

Actually, I really do work at TI, and was hired in by one of the VDP designers. (He added the bitmap mode to the TMS9918A.) He went on to be the senior logic designer for the TMS9995 and architect of the TMS99000, if memory serves.

 

Anyway, he's also mentioned that the Home Computer guys wanted a processor that ran a version of GPL natively. Such a processor would have been much faster at running GPL programs than the TMS9900, but it's unclear if its peak performance would have been higher than the TMS9900's. I guess it depends on whether the GPL processor kept its workspace onchip or not (eliminating all those memory cycles), and if the GPL processor ended up being 8 or 16 bit. I imagine it would not have included the higher-level GPL routines. (ie. no "keyboard scan" instruction or "coinc" instruction. Block moves/block fills, maybe.)

 

Another coworker of mine also worked with the Home Computer. He said one of the motivations behind GPL was to simplify access to the memory behind the VDP and in GROM, to make it appear more unified to the average programmer.

 

Both have mentioned the Z-80 machine.

Very cool. Nothing new as such, but interestingly, more or less, confirming some old "rumours".

 

:)

Link to comment
Share on other sites

Actually, I really do work at TI, and was hired in by one of the VDP designers. (He added the bitmap mode to the TMS9918A.) He went on to be the senior logic designer for the TMS9995 and architect of the TMS99000, if memory serves.

Karl Guttag perhaps?

 

Anyway, very cool that you lurk around here. Since you still work for TI, do they limit your participation in these kinds of forums? If you can talk about it, what do you do at TI? Chip designer maybe? :) Any chance of getting some 9918A or 9900 design details or secrets? Since I'm working on implementing a 9918A (and eventually 9900) in an FPGA, I'd love to get my hands on some low level info or HDL (was there such a thing as HDL back then?)

 

Matthew

Link to comment
Share on other sites

Actually, I really do work at TI, and was hired in by one of the VDP designers. (He added the bitmap mode to the TMS9918A.) He went on to be the senior logic designer for the TMS9995 and architect of the TMS99000, if memory serves.

Karl Guttag perhaps?

As a matter of fact, yep. :) Karl hired me straight out of school, and I've been there ever since. I came in long after the VDP era (I joined in 1996), but there are plenty of veterans around.

 

 

Anyway, very cool that you lurk around here. Since you still work for TI, do they limit your participation in these kinds of forums?

Well, I can't talk about new stuff in development. All of this old stuff is soooo old, I don't think anyone cares. Most of the TIers that do know about this stuff are surprised a kid like me knows any of this. Karl lit up when I started talking VDP and 9900 with him when he interviewed me at college. Could have something to do with how I got the job. ;)

 

 

If you can talk about it, what do you do at TI? Chip designer maybe? :)

I'm not actually a chip designer, though I work closely with them. My job title these days is architect. I'm part of the C6000 DSP team and have been involved with the C6211, C6416 and C64+ architectures.

 

 

Any chance of getting some 9918A or 9900 design details or secrets? Since I'm working on implementing a 9918A (and eventually 9900) in an FPGA, I'd love to get my hands on some low level info or HDL (was there such a thing as HDL back then?)

I don't have any HDL and wouldn't be able to share it if I did. I doubt they had such tools back then; Verilog and VHDL were standardized in the 80s, and this design is from around 1977. Karl did give me a dump of VDP and 9900 related stuff awhile back. Included in there is a scan of his proposal to add the bitmap mode to the 9918A, among other things.

 

BTW, are you the "Matthew" referred to in the "Answers to Matthew's questions" doc I got from Karl? If so, howdy! :D I'm Joe Zbiciak!

Link to comment
Share on other sites

Hey Joe! Yes, I am that "Matthew". :) I think there is only one of me related to the 99/4A stuff and I don't usually use "handle" if I can help it. Any place you see "matthew180", that is usually me too.

 

I sent Karl some questions a year or so ago and he was very happy to talk about the 9918A. He is pretty passionate about his work, and it is really fun for us 99/4A users to have access to people like you and Karl!

 

So what is the difference between "architect" and "chip designer" then? I'm curious to know what level you work at. Do you get into the HDL stuff and such?

 

Oh, something else that I got a chuckle from lately. I've been trying to get my hands on the MSP430 LaunchPad (everyone is sold out!), and when I read the datasheet I could not help but feel I was reading the datasheet for the 9900... ;) Any chance the people who worked on the 9900 also worked on the MSP430? It seems like the modern incarnation of the 9900.

 

Matthew

Link to comment
Share on other sites

Hey Joe! Yes, I am that "Matthew". :) I think there is only one of me related to the 99/4A stuff and I don't usually use "handle" if I can help it. Any place you see "matthew180", that is usually me too.

Awesome. Howdy!

 

I sent Karl some questions a year or so ago and he was very happy to talk about the 9918A. He is pretty passionate about his work, and it is really fun for us 99/4A users to have access to people like you and Karl!

Well, half the stuff I know about my TI-99/4A I learned 20 years ago when I was a mere teenager, pouring over datasheets and my SAMS Photofacts schematics and the various Compute! guides. The other half I learned from Karl after I joined TI. ;)

 

Sad to say I haven't applied my 9900 knowledge since before college. I ended up getting sucked into Intellivision instead. (The TI-99/4A was my first computer and the Intellivision was my first video game system.)

 

So what is the difference between "architect" and "chip designer" then? I'm curious to know what level you work at. Do you get into the HDL stuff and such?

I don't actually write any VHDL or Verilog, but I write some of the detailed specs for those who do. (I occasionally have to read VHDL or Verilog, but not write it.) I also work with the software guys to make sure whatever I architect is reasonable to work with and meets the application needs, sometimes negotiating design vs. programming tradeoffs between the two camps. On the C64+ DSP family, I primarily specified the cache, memory protection and security systems.

 

Although I have my BSEE, my background leans more toward software. That doesn't mean I haven't done the occasional hardware project.

 

Oh, something else that I got a chuckle from lately. I've been trying to get my hands on the MSP430 LaunchPad (everyone is sold out!), and when I read the datasheet I could not help but feel I was reading the datasheet for the 9900... ;) Any chance the people who worked on the 9900 also worked on the MSP430? It seems like the modern incarnation of the 9900.

It doesn't seem terribly likely, although I'm not really sure who's over in that group. When I read up on the MSP430 it reminded me more of the CP-1600 than the TMS9900. The reality I think is that all three share a common conceptual ancestor in the PDP-11. I mean, take a look at this PDP-11 code fragment:

              JSR   R0,FOO
              .WORD A
              .WORD B
              MOV   R1,C
       ...
         FOO: MOV   @(R0)+,R1
              ADD   @(R0)+,R1
              RTS   R0

If you rename "JSR" to "CALL" and "RTS" to "RET", I think that may actually compile as MSP-430 code. :D I believe the PDP-11, TMS-9900 and MSP-430 all have the single-instruction copy-indirect-with-increment capability too, don't they? (ie. "MOV *R1+, *R2+" on the 9900, "MOV @R1+, @R2+" on the other two.)

 

Edit: I am in no way an expert on MSP-430 nor do I have any inside knowledge of it. I just remember reading up on it awhile back, thinking I might use it for one of my personal projects.

Edit #2: Pursuant to Edit #1, I see that the MSP-430 doesn't allow autoincrement on the destination. Ah well.

Edited by intvnut
Link to comment
Share on other sites

It doesn't seem terribly likely, although I'm not really sure who's over in that group. When I read up on the MSP430 it reminded me more of the CP-1600 than the TMS9900. The reality I think is that all three share a common conceptual ancestor in the PDP-11. I mean, take a look at this PDP-11 code fragment:

              JSR   R0,FOO
              .WORD A
              .WORD B
              MOV   R1,C
       ...
         FOO: MOV   @(R0)+,R1
              ADD   @(R0)+,R1
              RTS   R0

 

That is pretty amazing. I have never seen PDP-11 code, but it looks like it influenced a lot of the processors that came out around that time, and it still having an impact. It is a nice simple syntax and has certainly stood the test of time.

 

Matthew

  • Like 1
Link to comment
Share on other sites

On the subject of the MSP-430, -at least what software side is concerned-, I was toying with the idea of writing an assembler that reads MSP-430 assembly source code

and outputs TMS9900 object code. Reason for doing that is because of the MSP-430 C compiler.

 

I was looking for information on the SuperSpace II cart a week or so ago, to see what the specs were, and I found this ad. Note the mention of a C compiler! I tried to order, but the phone number didn't work. ;)

 

Matthew

post-24952-128572714963_thumb.png

Link to comment
Share on other sites

On the subject of the MSP-430, -at least what software side is concerned-, I was toying with the idea of writing an assembler that reads MSP-430 assembly source code

and outputs TMS9900 object code. Reason for doing that is because of the MSP-430 C compiler.

 

I was looking for information on the SuperSpace II cart a week or so ago, to see what the specs were, and I found this ad. Note the mention of a C compiler! I tried to order, but the phone number didn't work. ;)

 

Matthew

 

My 12 year old self would have LOVED that. Of course, I couldn't afford a disk unit. I made do with a Mini-Memory cart and the Line-by-Line assembler loaded from tape.

 

As far as a C compiler goes... it looks like Dave Pitts is working on a GCC port. I dunno if it was ever completed or how functional it is/was, but I did stumble across that recently while reacquainting myself with the 99/4A.

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...