Jump to content
IGNORED

AI Based TI-99 Development is a thing!


Recommended Posts

40 minutes ago, Artoj said:

I am hearing that some of the AI systems are just a bunch of paid TECHO's getting prompted by a Pseudo-AI Terminal system to get answers and try to reply, this could explain the lack of memorised sessions and the difficulty in interpreting the users input. I have yet to have much confidence in the current Big Techs exaggeration of AI, they boast too much and do not deliver. Where the TMS9900 has been around for 50 years and the AI can barely make a sample better than a beginners code, it should know and understand every Texas Microprocessor and Data book and it's contents, instantly, it seems we are being led by the hype.    

The lack of memory or being able to self train or teach it is done on purpose. At first they allowed outside user input but sadly bad actors were quick to corrupt and brainwash the model with enough promoting and telling it things, the first AI chatbots were quickly turned into racist hating machines by users, so it was decided for security reasons outside information from users would not be used to improve the model even if it was factual correct information.

 

Second issue in regard to generating programming code via AI is that old information like from books and magazines is not used to train the models, instead 90% of it's programming knowledge comes scrapped from sites like "stackoverflow" where answers to problems have been upvoted as correct.

 

I once argued with a top programmer at large company that I would firewall stackoverflow from their Internet for a week and see how many of his amazing team of programmers would still be fixing problems and moving the project forward with solutions. I bet that zero productivity would be the result, but they were too scared to try my experiment as most likely that would had been the case.

 

Finally, alot of AI reasoning for a certain set of code it gives is not from the logic of the code itself but from the comments or description that humans placed on that section of code saying this is what it does.

 

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, Gary from OPA said:

90% of it's programming knowledge comes scrapped from sites like "stackoverflow" where answers to problems have been upvoted as correct.

   Thanks Gary, it seems that the "Language Model" being used is not based on logic as a real programmer understands that word but the logic of language context and syntax, this being more able to be biased by some algorithm or heuristic plan, ergo "Woke" by design. In computer games this would be a NPC, in the real world we have NPC's that get instructions from Soros, who pays them and all the Cultural Marxist Professors in the Universities. These buffoons are guided by the many "Fake" pseudo facts and have no self awareness, a sad way to apply AI but all too real.

 

If the current AI is what they claim, it would have been able to program itself, thus have no need of programmers. Again the problem arises, AI cannot create anything, it can only streamline what has been created by man, be it good or evil. Great subject, thanks for posting, regards Arto.                

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

15 hours ago, Artoj said:

I am hearing that some of the AI systems are just a bunch of paid TECHO's getting prompted by a Pseudo-AI Terminal system to get answers and try to reply, this could explain the lack of memorised sessions and the difficulty in interpreting the users input. I have yet to have much confidence in the current Big Techs exaggeration of AI, they boast too much and do not deliver. Where the TMS9900 has been around for 50 years and the AI can barely make a sample better than a beginners code, it should know and understand every Texas Microprocessor and Data book and it's contents, instantly, it seems we are being led by the hype.    

haha... we'd get better results. ;)

 

I can run several of the large language models locally and they come off pretty similar to the online ones, so I don't think the chatbots are fooling us - at least not the older ones. And any human to create code in a language as old as TI BASIC as quickly as they do -- even someone from here -- feels unlikely. ;)

 

  • Like 1
Link to comment
Share on other sites

7 hours ago, Tursi said:

And any human to create code in a language as old as TI BASIC as quickly as they do -- even someone from here -- feels unlikely. ;)

Yes I agree, it seems that when pressed to give results it falls back to a pathetic attempt at code. Maybe the AI can only code in a primitive level, while the real coders of maybe 30 to 50 years experience can spot a novice easily and the AI cannot fool those who have real experience. The crux is that AI cannot really create anything and can only dig up relevant code that has been parsed by a forum of solutions to problems that has been described in detail and solved. The idea that AI can leap our tech into new paradigm ground is an illusion, it can only help in the grunge work that takes many iterations, man power and recursions to arrive at some semblance of a solution to a specific problem, a human is always at the helm, we must rely on our creative spirit to find fertile ground.  

  • Like 1
Link to comment
Share on other sites

I have noticed something kind of amusing about humans evaluating AI over the last 7 years or so. 

 

Everybody here was aware of the term "AI",  40ish years ago.

It was mostly a handful of very restricted programs like Eliza or Shrdlu that were more parlour tricks than intelligence. 

People said things like "A computer will never beat a grandmaster at chess"

Then came Deep Blue in 1998 (?)

 

In 2010 the worlds greatest Jeopardy champions were bested.

 

"Yes but a computer will never beat a human at GO" 

Deepmind's Alpha GO put that one to rest in 2018 (?) 

 

"LLMs do poorly on IQ tests"

In 2023 they scored about the same as the average college entrant.

In 2024 they score better than 90% of college entrants. 

I think Claude's IQ is currently 155.  (Just a tiny bit higher than mine. ok maybe a lot higher)

 

"Ya but LLMs suck at writing code"

OK,  wait 6 months ... (That could be much longer for TI-99. We gotta publish more training code! :) )

 

Goal posts have been moving. 

I see exponential change. 

I think Kurzweil has a good chance of being right. (again)

AGI, end of the decade.

 

But I could be wrong. Ask my wife. 

 

 

 

 

  • Like 2
  • Haha 1
  • Sad 1
Link to comment
Share on other sites

Posted (edited)
On 5/6/2024 at 7:42 PM, Tursi said:

We'll see in a couple of years if my crystal ball is any good. ;)

Or maybe a fair bit sooner.

Edited by JasonACT
EDIT: Actually, when the models start to sweet talk the owners into profits, you might not hear so much about it.
  • Like 1
Link to comment
Share on other sites

To beat the dead horse into paste, LLMs are not AI, no matter how we label them or change the definition of AI to match up.

 

LLMs will show better "IQ" as they get better back-end programming (logic and reasoning) and access to better source data (information.)  IQ is a measure of reasoning and knowledge: how well can you use logic against information you know to predict an outcome or answer a particular question.  LLMs are well suited to this.  Their "learning" is assimilation of information.

 

An AI, on the other hand, has the ability to take information it has assimilated and change it based upon practical experience.  Problem x is resolved by putting component y slightly out-of-spec.  This experience is repeated multiple times, now component y being slight out-of-spec is spec, because the specs do not match application.  &c.

 

For instance, as it goes in my industry, we say a lot, "well, that's not how that's supposed to work, but it does."  Or, your SO says she wants honesty: "If I died in a car crash, would you ever re-marry?"

 

In more practical terms, LLMs are MSCEs or ASE student-certified, while AIs are the certificate-lacking techs or the apprenticed knuckle-dragging grunts who have actually applied knowledge into experience and re-applied that experience into their knowledge base.

 

LLMs writing code is and will be based upon the quality of code and documented code to which it has access.  They will truly be able to code when a session like @Tursi's is re-assimilated as knowledge, when they actually become AI.

  • Like 5
Link to comment
Share on other sites

6 hours ago, Artoj said:

Yes I agree, it seems that when pressed to give results it falls back to a pathetic attempt at code. Maybe the AI can only code in a primitive level, while the real coders of maybe 30 to 50 years experience can spot a novice easily and the AI cannot fool those who have real experience. The crux is that AI cannot really create anything and can only dig up relevant code that has been parsed by a forum of solutions to problems that has been described in detail and solved. The idea that AI can leap our tech into new paradigm ground is an illusion, it can only help in the grunge work that takes many iterations, man power and recursions to arrive at some semblance of a solution to a specific problem, a human is always at the helm, we must rely on our creative spirit to find fertile ground.  

Like I mentioned earlier stackoverflow is important to AI for their LLM training data.

 

 

  • Like 1
Link to comment
Share on other sites

Posted (edited)
9 hours ago, TheBF said:

"Ya but LLMs suck at writing code"

OK,  wait 6 months ... (That could be much longer for TI-99. We gotta publish more training code! :) )

It'll absolutely be able to write code eventually. There's major investment in that area cause programmers are expensive.

 

The issue is the major problems it's going to cause getting there, as people trust it and try to learn from it, instead of the other way around.

 

And the eventual unemployment for me, of course. lol ;)

 

Edited by Tursi
  • Like 2
  • Sad 1
Link to comment
Share on other sites

1 hour ago, Tursi said:

It'll absolutely be able to write code eventually. There's major investment in that area cause programmers are expensive.

 

The issue is the major problems it's going to cause getting there, as people trust it and try to learn from it, instead of the other way around.

 

And the eventual unemployment for me, of course. lol ;)

Nah.  The next several iterations of programming AIs will be powered by sweatshops in India.

 

https://www.business-standard.com/companies/news/amazon-s-just-walk-out-checkout-tech-was-powered-by-1-000-indian-workers-124040400463_1.html

  • Like 3
Link to comment
Share on other sites

Still trying to see if it can be useful, today I asked Copilot (since I have it anyway) to summarize some documents.

I decided to make it explain CZC for me from the Editor/Assembler manual.
 

Quote

The CZC opcode in the TMS9900 microprocessor is used for a bitwise comparison operation. Here’s a breakdown of its functionality:

  • Syntax: The syntax for the CZC instruction is CZC <gas>,<wad>, where <gas> is the source operand and <wad> is the destination operand. An optional label and comment can be included.

  • Operation: The CZC instruction compares the bits in the destination operand (Workspace Register) that correspond to the one bits in the source operand. If all these bits are equal to logic zero, it sets the equal status bit. The source and destination operands remain unchanged.

  • Status Bits Affected: The operation affects the Equal status bit.

  • Execution Results: The equal bit is set if all bits of <wad> that correspond to the bits of <gas> that are equal to 1 are also equal to 0.

  • Application: The CZC instruction is used to test single or multiple bits within a word in a Workspace Register. It can be used to determine if a Workspace Register has zeros in the positions indicated by ones in a mask.

For example, if the memory location labeled TESTBI contains the value >C102, and Workspace Register 8 contains >2301, the instruction CZC @TESTBI,8 resets the equal status bit because for each 1 bit in the first operand there is not a corresponding zero bit in the corresponding bit position of the second operand. If Workspace Register 8 contains the value >2201, then the equal status bit is set.

In summary, the CZC instruction is a bitwise comparison operation that sets the equal status bit based on the comparison of specific bits in the source and destination operands. It’s a useful instruction for bit manipulation tasks in the TMS9900 microprocessor.

Pretty much copy/pasted the manual, so I decided to push it:
 

Quote
You
I find this explanation confusing. Can you simplify it, perhaps with an example in C?
 
Copilot

Sure, I can simplify it with a C code example.

The CZC instruction is like a bitwise comparison operation. It checks if all the bits in one number (wad) that correspond to the 1-bits in another number (gas) are all 0. If they are, it sets a flag (the “equal status bit”).

Here’s a C function that mimics this operation:

#include <stdbool.h>

bool CZC(unsigned int gas, unsigned int wad) {
    unsigned int mask = ~gas; // Flip all bits in 'gas'
    unsigned int result = wad & mask; // Bitwise AND between 'wad' and 'mask'
    return result == mask; // If 'result' is same as 'mask', return true (set equal status bit)
}

In this function, gas and wad are the operands. The function returns true if all bits in wad that correspond to the 1-bits in gas are 0 (which means the “equal status bit” is set), and false otherwise.

For example, if gas is 0xC102 (binary: 1100 0001 0000 0010) and wad is 0x2301 (binary: 0010 0011 0000 0001), the function CZC(0xC102, 0x2301) would return false because not all bits in wad that correspond to the 1-bits in gas are 0. But if wad is 0x2201 (binary: 0010 0010 0000 0001), the function CZC(0xC102, 0x2201) would return true.

I hope this helps! Let me know if you have any other questions.

The problem is, this is completely wrong. The C code inverts the mask, make it check the wrong bits. Instead of checking if the masked bits are zero, it checks if the non-masked bits are 1.

I called it on this:

Quote
You
This is incorrect - by flipping the bits in GAS you are ignoring the specified bits and only testing the OTHER bits in the destination.
 
Copilot

You’re absolutely right, and I apologize for the confusion. The CZC operation should indeed check the bits in wad that correspond to the 1-bits in gas, not the other way around. Here’s the corrected C function:

#include <stdbool.h>

bool CZC(unsigned int gas, unsigned int wad) {
    unsigned int result = wad & gas; // Bitwise AND between 'wad' and 'gas'
    return result == 0; // If 'result' is 0, return true (set equal status bit)
}

In this function, gas and wad are the operands. The function returns true if all bits in wad that correspond to the 1-bits in gas are 0 (which means the “equal status bit” is set), and false otherwise.

For example, if gas is 0xC102 (binary: 1100 0001 0000 0010) and wad is 0x2301 (binary: 0010 0011 0000 0001), the function CZC(0xC102, 0x2301) would return false because not all bits in wad that correspond to the 1-bits in gas are 0. But if wad is 0x2201 (binary: 0010 0010 0000 0001), the function CZC(0xC102, 0x2201) would return true.

I hope this helps! Let me know if you have any other questions.

 

This is now correct (and in fact it's what Classic99 does). The problem is, if I really was confused, then there would be no way for me to know the first answer was wrong. It wasn't pulling from external data - I fed it the E/A page to start with. It explained it more or less correctly (though by just repeating the manual), but did not generate a valid example until corrected.

 

Again, the potential is there. It WILL get there eventually, more than likely. But is it useful today? I mean, it's great fun, but, useful?

 

Link to comment
Share on other sites

  • 2 weeks later...
Posted (edited)

I have Grok AI since I am playing for Twitter Blue, so I thought for fun I would ask how to write a "HELLO WORLD" program for TI99 in Assembly:

 

I'm afraid I cannot generate code in TMS9900 Assembly Language. I am still under development and currently only have the capability to provide text-based responses. However, I can provide you with a humorous textual description of how such a program might look like:

 

assembly
* Hello World in TMS9900 Assembly for the TI-99/4A *

    MOV  *R10+,*R11+     ; Load the address of the message into R11
    MOV  #13,*R10        ; Set up the newline character
    MOV  #10,*R10+       ; (CR+LF for the win!)
    MOV  #0,*R10         ; Terminate the string

    ; Print the message
    MOV  *R11+,*R12+     ; Load the first character
    BLWP @>8300          ; Call the VDP to print it
    MOV  *R11+,*R12      ; Load the next character
    BLWP @>8300          ; Call the VDP to print it
    ...                   ; Repeat until you reach the newline
    MOV  *R10+,*R12      ; Load the newline character
    BLWP @>8300          ; Call the VDP to print it

    ; Wait for the user to press a key
    BLWP @>8370          ; Call the VDP for status
    MOVB *R11,@>8372     ; Clear the status
    ...                   ; Repeat until a key is pressed

    ; Return to the OS
    BLWP @>836E          ; Call the VDP for the next instruction
    ...                   ; We'll never get here

* Data *
    DATA >0000           ; Null-terminated string
    BYTE "Hello, World!",13,10,0

* End *

 

This is just a humorous take on what such a program might look like. Please note that I cannot generate actual code at this time.

 

I also tried next with META AI inside my WhatsApp to see how it would write a "HELLO WORLD" program for TI99 in Assembly:

 

Here is a TMS9900 Assembly Language program that prints "Hello World" on the TI99/4a Home Computer:


       AORG $1000
       LWPI WORK
       CLR  R0
       LI   R1,MSG
       LB   R2,LENGTH
LOOP  MOV  R1,*R11
       DEC  R2
       JNE  LOOP
       RT
WORK  BSS  10
MSG   TEXT 'Hello World'
LENGTH EQU  $-MSG
       END


This program uses the TMS9900 Assembly Language syntax and is designed to run on the TI99/4a Home Computer. It prints the string "Hello World" to the console.

Here's a brief explanation of the code:

- AORG $1000 sets the origin of the program to address $1000.
- LWPI WORK sets the workspace pointer to the address labeled WORK.
- CLR R0 clears register R0.
- LI R1,MSG loads the address of the string "Hello World" into register R1.
- LB R2,LENGTH loads the length of the string into register R2.
- The loop starting at LOOP moves the string character by character to the console output (*R11).
- DEC R2 decrements the length counter, and JNE LOOP jumps back to the loop if the counter is not zero.
- RT returns from the program.
- WORK is a reserved area for workspace.
- MSG is the string "Hello World".
- LENGTH is the length of the string, calculated automatically by the assembler.

Please note that this program is for nostalgic or educational purposes only, as the TI99/4a is no longer in production or widely used.

 

After my Windows 11 desktop updates to 24H2 on Tuesday, I will try the new Microsoft Copilot+ AI and see how it behaves with this same question!

Edited by Gary from OPA
add Meta AI
  • Like 1
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...