Jump to content

Recommended Posts

Earlier this morning, as I currently have no work , I decided to let my step-son have a go at coding - on the TI99/4A with Classic 99, (running under WINE on Linux) .... I was sat beside him, using a Windows machine running TI99 in MESS.

 

We entered the same programs, as I was instructing him on simple programs such as loops and printing .... one thing I noticed was that an old revision of Classic99 (from 30th Jun 2012) running under Wine on Xubuntu 12.04 actually runs at EXACTLY the same speed as the TI99 under MESS on windows .... I'm more than happy with that !!

 

Jack is nine years old and was impressed with how easy it was to get a graphical character to run across the screen, to make sounds, and to 'bump' into things that are on the screen..... he said that he had a much more interesting time with me, coding, than he did when he was on the computers at school.

 

There was a time when schools actually taught BASIC .... but they don't anymore in the UK as far as I know ... and I think that is wrong because it's not just about learning a computer language it's about learning to think logically ... to structure things. They teach 'em how to dance instead now.

 

He's asked me to learn him more coding tomorrow ... he can do all the coding with me he wants ..... two TI99's running virtually next to each other .... father and son at the helm .... After coding, I'm going to see what he can do with Parsec .... man, that game was hard as a kid , in fact it still is now, 25 years or so later and I still can't get past level four !!!!

 

Anyone who wants to join in on my rambling feel free to do so ...... discuss anything remotely TI related. :)

Edited by Retrospect
  • Like 5
Link to comment
https://forums.atariage.com/topic/215241-retrospects-ramblings/
Share on other sites

Just been playing around with an old game of mine, o-x-o .... it's just a tic-tac-toe game nothing special, it was written in Extended Basic about a year ago .... anyhow, I've listed the code under TI99DIR and saved it to a textfile, edited the statements so that any logic in a THEN statement branches off to a different line, and used Harry Wilhelm's Compiler 2.1 since the original game used sprites for it's display. I altered the sprites a little, mad them somewhat fatter. The code for the "AI" ... (if you can call it that) was not so much complex, more a lot of if's and then's ... so as you can imagine I had a lot of fun making that work around the compiler ... anyhow, I've put the game here for anyone who may want to try it ....

 

It's very fast by the way .... impressively fast but then again the logic in the game has been tidied up somewhat.

 

OXORETRO.zip

 

post-34058-0-81211300-1375761141_thumb.png

 

Just to warn you, you might want to turn down the volume on you're computer, I forgot about the dreadful noise this game makes when you reset the board.

I meant to edit it out , but must have forgot to do that and I can't be bothered now. 'Cos I'm lazy like that.

Edited by Retrospect

Thanks for sharing your thoughts and game, Retrospect. I'm afraid kids are nowadays more interested in their mobile devices than in learning how a computer works. I love BASIC; must be because it's the first programming language I ever learnt! I do 4GL programming for a living and I always joke with my sons that I really miss the use of the 'sacred' GOTO instruction. :)

Thanks for sharing your thoughts and game, Retrospect. I'm afraid kids are nowadays more interested in their mobile devices than in learning how a computer works. I love BASIC; must be because it's the first programming language I ever learnt! I do 4GL programming for a living and I always joke with my sons that I really miss the use of the 'sacred' GOTO instruction. :)

 

You're right, the majority of kids are not interested in how we used to do things, how we used to play, they want something like Bubble Witch Saga and they want it on they're mobile device .... I caught my girlfriend chuntering and muttering to herself the other day, whilst tapping furiously on her mobile phone , a Samsung Galaxy of some nature, I asked her what she was doing and she told me "I'm trying to download a film to my 'phone!" .... I said to her ... "If someone had said that in the 80's they would have been locked up under the mental health act .... get it on youtube on the bloody computer!" ... she won't .... anything she can tap the screen with .... ehhhhh ..... I refuse to succumb to the modern era where technology is concerned (at the moment - that may one day change) ... because, quite simply, nothing really surprises me anymore. If I see a game on an Xbox and it has 64,000 things going off at once my immediate thought is; "well, im not surprised, look at the great big cpu it's got" .... whereas, if someone makes a game for the TI99 and it's got lovely colours, great sounds and all the bells and whistles, I say well done - that is harder to achieve on what is now a vintage computer than it would be on some 'dev-pack' for a modern PC or console. I would love to see a TI-99 emulator running on a Samsung device , just to piss the girlfriend off..... she sighs when she hears the TI's BEEP at start-up, 'cos she knows for the next hour or more, all she will hear is the constant tapping of the keyboard and not "Would you like a cup of tea darling" ..... suits me .....

  • Like 3

Earlier this morning, as I currently have no work , I decided to let my step-son have a go at coding - on the TI99/4A with Classic 99, (running under WINE on Linux) .... I was sat beside him, using a Windows machine running TI99 in MESS.

 

I would be *very* curious to know how you enticed him into actually coding? I have two kids, a boy(9) and girl(11) and any time I mention "learning to code" they run for the hills. I'm not sure where that comes from, like they were born with some internal phobia of "coding". I usually get the same reaction from any kids I ask (kids of friends, nephews, nieces, etc.), a look of horror and "why would I want to do that?"

 

I can't figure out how to instill the same sense of excitement I had when I got my 99/4A back in 1982 and taught myself BASIC from the blue book that came with the system. Maybe it is your approach of sitting down with them side-by-side. I'll try that and see if I can keep them interested for more than five minutes.

 

My other problem is a lack of "plan". Programs that are simple and short enough for them to code, yet still have enough action to keep them interested. Text-based games lose their appeal really quick with kids these days, it the face of movie-like games and vast environments. I think the only way to compete is to get them hooked on the rush of actually making it themselves. "I did that!" is very powerful... If I could just get them that far.

 

There was a time when schools actually taught BASIC .... but they don't anymore in the UK as far as I know ... and I think that is wrong because it's not just about learning a computer language it's about learning to think logically ... to structure things. They teach 'em how to dance instead now.

 

They don't even teach our kids to dance, it is almost taboo now. Dumb. When home computers exploded in the mid 80's, the schools went from zero computers to having full labs and mandatory programming classes. That lasted a few years, then seemed to implode as fast as it started. Now there is nothing. My kids are getting "technology classes" in elementary school which consists of learning how to use Microsoft Office... It drives me right up the wall.

 

He's asked me to learn him more coding tomorrow ...

 

Congratulations! Maybe we can come up with some methods or introduction and various programs that keep our kids interested. Heck, we might even get them swapping programs! That might be an interesting lure.

 

GOTO is seriously under-rated and oft mis-maligned.

 

Agreed. This is due to "ROM BASIC" variants doing away with the logical constructs that promote good flow and that actually do exist in the original Dartmouth BASIC. Same with line numbers, they didn't originally exist in BASIC. However, all higher level logical constructs use GOTO (unconditional jump) under the hood. It comes down to the programmer and good practice, not the language itself. I've seen a rat's nest of function calls that create the same mess as GOTO abuse, written by "professionals" no less...

 

Being able to indent is also very important to understanding a program's structure. That is something I wish you could do on the old consoles with ROM BASIC.

 

  • Like 1
Being able to indent is also very important to understanding a program's structure. That is something I wish you could do on the old consoles with ROM BASIC.

 

After I had experience with GFA BASIC on the Atari ST, I dreamed of a similar BASIC for the TI or Commodore 64. I pondered for a while the implications of an environment like GFA BASIC where you have a GUI-based IDE and the need for implementing an "immediate mode" in a CLI-type of environment. I think I came up with a fairly good way of dealing with this, but I never had the programming skills in 9900 or the give-a-crap to do it on the 64.

  • Like 1

I like the idea of getting our kids interested in computing. I recently gave my extra console to my three year old son - he's really been liking the 'number count up' on Early Learning Fun, but he's still a couple years away from coding ;). I think the idea of sitting down and doing it with them is far better than handing them a book and a console and saying "here you go - have at it".

  • Like 2

I have had several children take to my old TI console quickly and enthusiastically. I plan with my own children to let them have a unit they can play the various educational games I am collecting over time, including getting them exposed to LOGO at an early age.

  • Like 1

While my children were on occasion curious about what I was doing on the TI, they never had any urge to sit at the keyboard and do anything with it despite my repeated encouragements :( I tried to engage them with Basic and Logo, to no avail. For them, and my son in particular, designing some structure in Minecraft is probably as close to "programming" he ever got. I was amused when I overheard him and his friends talk about creating a game for Android last year, and needless to say this "project" went nowhere :D

That said, there is a programming language called Scratch developed by MIT which utilizes "conceptual blocks" which interlock with each other to create a fully interactive program. I gave it a try and it's actually pretty fun and super easy to learn as well as visually appealing, particularly to the younger generation. So if your young one is balking at using an old antique computer, perhaps he/she could be cajoled into using a modern one with Scratch running...

  • Like 1

Matthew, I'm sure we can swap some small programs between us, keep our young ones interested .... at least for a while anyway! :)

 

I've been tinkering with MESS on my windows machine, and I managed to get a cassette to save a TI BASIC program, it was just a small program to play various musical notes corresponding with QWERTYUIOP keys .... it displayed simple graphics above the letters which changed when you pressed whichever key.... anyhow, previous to this I had failed miserably at saving and loading cassettes..... (I know, you're all thinking "cassettes? Is he mad?" .... I like the noise they make ok) .... anyhow I realised the key to doing it is to quickly get out of the MESS GUI and back into the TI proper, it saved my cassette and I was enthralled to listen to the screeches and squeels when I loaded it back ... took me back to my youth .... listening to a tortured pig noise for five minutes before I got DATA ERROR on my screen :D

 

edit: just tried loading the cassette again (after closing MESS and reopening it sometime later) it won't work, internal error it's saying :/

 

It would be lovely if Classic99 could support .CAS files or even .WAV because with a .WAV we could get really tricky and save it out through the sound card on the PC to a cassette recorder and make a real tape. I'd love that. That way, it would be even closer to the real thing.

 

Went on Parsec this morning to try and beat my legendary score of 64,000 or so points (Level 4, this horrid thing shaped like an Amercian Football Helmet fired shit-loads of balls at me and took about 3 seconds to wipe me off the cosmos)

Curious thing happened ; I was on level 2 trying to avoid the flying saucers (Va-va-va) and I was at the very top of the screen .... I wasn't expecting to blow up with the message "Collision with ground" ... anyone else had that? :)

Edited by Retrospect

anyhow I realised the key to doing it is to quickly get out of the MESS GUI and back into the TI proper, it saved my cassette and I was enthralled to listen to the screeches and squeels when I loaded it back ... took me back to my youth .... listening to a tortured pig noise for five minutes before I got DATA ERROR on my screen :D

 

edit: just tried loading the cassette again (after closing MESS and reopening it sometime later) it won't work, internal error it's saying :/

 

This DATA ERROR, did it occur when you tried to load a program that you previously saved by MESS? Or was it a program that you read from a WAV file that you created from a real cassette?

 

The cassette handling in MESS has been working flawlessly for me, so either this is a regression, or something else went wrong. I was even able to get my 30 year old cassettes read (from the "Test Trainer" (language training with cartridge and data cassettes)), so it should work basically. Real cassette recordings should be cleaned with some audio tool like audacity; this proved to be very helpful (remove noise, increase volume, equalize amplitude etc.)

 

Also, the "internal error", did it say anything more?

 

(In general, if anyone observes these kind of issues, please report to me, so I can try to fix that.)

  • Like 1

This DATA ERROR, did it occur when you tried to load a program that you previously saved by MESS? Or was it a program that you read from a WAV file that you created from a real cassette?

 

The cassette handling in MESS has been working flawlessly for me, so either this is a regression, or something else went wrong. I was even able to get my 30 year old cassettes read (from the "Test Trainer" (language training with cartridge and data cassettes)), so it should work basically. Real cassette recordings should be cleaned with some audio tool like audacity; this proved to be very helpful (remove noise, increase volume, equalize amplitude etc.)

 

Also, the "internal error", did it say anything more?

 

(In general, if anyone observes these kind of issues, please report to me, so I can try to fix that.)

 

It was a cassette that I created in MESS for saving TI BASIC to .... it saved, and i re-loaded it within the same session on MESS .... and it loaded alright that time. After I closed MESS and came back later to re-load the cassette it said it had failed to mount it , or something, and internal error? I checked to see if it was MESS itself by using a TRS-80 Model 1 emulator, but that loads cassettes fine. (the cassettes were .CAS files that were already on my computer, not saved within MESS )

OK, just tried to save a TI BASIC file to CS1, and this worked correctly. The resulting WAV file is about 1 min long. Some things that came to my mind:

 

- During emulation, NEVER keep the on-screen menu (where you have the tape controls) visible during reading or writing. You should select Rewind, Stop, Play, Record, and then immediately exit the menu, even when you know you will have to return there soon. The problem is that the menu seemingly has a very bad impact on performance. The longer the menu is displayed, the worse are the average speed numbers.

 

- For some unclear reason (at least for me), the cassette uses stereo recording and playback. Only Channel 0 will be read by the emulated computer. To make things worse, channel 1 is shifted by some seconds, so this may sound like a canon. Or similar. OK, in principle.

In the "Slider controls" you can set the volume of CH.1 to 0. This has no effect on a correct reading or writing, though, it's just the sound output that is more familiar.

 

- The internal error may indeed occur on reading (cassimg.c:570), but as I'm not the expert on the cassette support in MAME/MESS, I don't know when this occurs, and how I can trigger it. Maybe listen to it in a media player, check whether it sounds good.

 

If you continue to have problems, please mail me the WAV file or upload it somewhere and give me the link.

  • Like 1

OK, just tried to save a TI BASIC file to CS1, and this worked correctly. The resulting WAV file is about 1 min long. Some things that came to my mind:

 

- During emulation, NEVER keep the on-screen menu (where you have the tape controls) visible during reading or writing. You should select Rewind, Stop, Play, Record, and then immediately exit the menu, even when you know you will have to return there soon. The problem is that the menu seemingly has a very bad impact on performance. The longer the menu is displayed, the worse are the average speed numbers.

 

- For some unclear reason (at least for me), the cassette uses stereo recording and playback. Only Channel 0 will be read by the emulated computer. To make things worse, channel 1 is shifted by some seconds, so this may sound like a canon. Or similar. OK, in principle.

In the "Slider controls" you can set the volume of CH.1 to 0. This has no effect on a correct reading or writing, though, it's just the sound output that is more familiar.

 

- The internal error may indeed occur on reading (cassimg.c:570), but as I'm not the expert on the cassette support in MAME/MESS, I don't know when this occurs, and how I can trigger it. Maybe listen to it in a media player, check whether it sounds good.

 

If you continue to have problems, please mail me the WAV file or upload it somewhere and give me the link.

 

One thing I do know is it only happens when you save to cassette, come out of MESS altogether, go back into it later and then try to load the .CAS file .... if you save it and load it back in the same session there's not a problem, as I always escape the options GUI anyhow.

It was just that very feature about six years ago that made me care for the TI MESS emulation. I did a SAVE CS1, then later an OLD CS1, and when the DATA OK appeared, I rolled on the floor, laughing. Beside that, I found the TI emulation in MESS in a pitiable condition in that time. So I started to fix it step by step (keeping track of that on ninerpedia).

  • Like 1

One thing I do know is it only happens when you save to cassette, come out of MESS altogether, go back into it later and then try to load the .CAS file ...

 

Why ".cas"? When you call "mess ti99_4a" with the option "-listmedia" you can see that the cassette expects ".wav" files. Would be too easy if it's just the suffix ... but maybe, try.

I would be *very* curious to know how you enticed him into actually coding? I have two kids, a boy(9) and girl(11) and any time I mention "learning to code" they run for the hills. I'm not sure where that comes from, like they were born with some internal phobia of "coding". I usually get the same reaction from any kids I ask (kids of friends, nephews, nieces, etc.), a look of horror and "why would I want to do that?"

 

I can't figure out how to instill the same sense of excitement I had when I got my 99/4A back in 1982 and taught myself BASIC from the blue book that came with the system. Maybe it is your approach of sitting down with them side-by-side. I'll try that and see if I can keep them interested for more than five minutes.

 

My other problem is a lack of "plan". Programs that are simple and short enough for them to code, yet still have enough action to keep them interested. Text-based games lose their appeal really quick with kids these days, it the face of movie-like games and vast environments. I think the only way to compete is to get them hooked on the rush of actually making it themselves. "I did that!" is very powerful... If I could just get them that far.

 

 

 

They don't even teach our kids to dance, it is almost taboo now. Dumb. When home computers exploded in the mid 80's, the schools went from zero computers to having full labs and mandatory programming classes. That lasted a few years, then seemed to implode as fast as it started. Now there is nothing. My kids are getting "technology classes" in elementary school which consists of learning how to use Microsoft Office... It drives me right up the wall.

 

 

 

Congratulations! Maybe we can come up with some methods or introduction and various programs that keep our kids interested. Heck, we might even get them swapping programs! That might be an interesting lure.

 

 

 

Agreed. This is due to "ROM BASIC" variants doing away with the logical constructs that promote good flow and that actually do exist in the original Dartmouth BASIC. Same with line numbers, they didn't originally exist in BASIC. However, all higher level logical constructs use GOTO (unconditional jump) under the hood. It comes down to the programmer and good practice, not the language itself. I've seen a rat's nest of function calls that create the same mess as GOTO abuse, written by "professionals" no less...

 

Being able to indent is also very important to understanding a program's structure. That is something I wish you could do on the old consoles with ROM BASIC.

 

I think the real problem with all programming is the absolute lack of explaining what the program is doing.

Comments today in source code is so bad as to just frustrate anyone.

The old way of explaining every line has given way to a 2 line comment for a 40 line subprogram. (if you get that much)

  • Like 1
It would be lovely if Classic99 could support .CAS files or even .WAV because with a .WAV we could get really tricky and save it out through the sound card on the PC to a cassette recorder and make a real tape. I'd love that. That way, it would be even closer to the real thing.

 

I want that too.. it's on my list. But it's pretty far down and my progress through the list has slowed a lot in the last years. :/

  • Like 1

The old way of explaining every line has given way to a 2 line comment for a 40 line subprogram. (if you get that much)

 

I still do it the old way. It's the only way when working with assembler (and, I presume, GPL) to remember what the hell you did, and, crucially, why you did it that way some six months later!

 

See here for an example. :)

  • Like 1

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