Thursday, July 31, 2008

Finishing up

Well, the challenge is coming to a close. I think this post should be considered my final post for the challenge, as I will soon be heading off to work. It's a night shift, and by the time I get off work it will be August 1, and the challenge will be over.

Well, this has been my first Retro Challenge, and I think it has been a lot of fun. As is the case with most of the challengers, I think I can say that I shought my challenge was a sucess, even though my actual "accomplishments" weren't very huge. I set the goal to make some programs on the Tandy 102, write a blog, and get my Tandy online, and thus far I accomplished all of em!

Good work to all the contestants this summer! I look forward to the (highly objective of course...) judging and the upcoming Winter Challenge. And of course, I look forward to seeing you all on the Retro BBS sometime soon.

Lastly, since my main hobby seems to be retrocomputing in general, you can expect to see priodic updates on this blog with info about my tinkerings and code.

Wednesday, July 30, 2008

SDF UNIX Shell

I know I found this a little late to be much use for the challenge, but it's worth a look for anyone who likes using old computers to do stuff. It's called the Super Dimensional Fortress, and they offer UNIX shell access to nearly anyone. All you need to do is TELNET to sdf.lonestar.org and login as "new" and follow the prompts. Your free account lasts 200 days, otherwise you can pay $1 and you get to use it for as long as you're an active member. Or you could just sign on with a different user name every time your old one expires. And it's a true UNIX shell, not just some fake shell like other places have. It runs on FreeBSD. Give it a try.

Saturday, July 26, 2008

aaaarg!

Well, I knew it would happen some time. I got my cable all built for the MSS-VIA and it was working great and then one time my batteries in my Tandy ran out during an active session. The Tandy locked badly and I had to cold start, and of course, my "stones" game is gone. Dang! But at least I am now on the BBS with my Tandy, which is very cool of course. More info on the Retro Challenge BBS, of course.

EDIT: having now used the RetroChallenge BBS with my Tandy I must say that the Tandy does not make a good BBS browser. Even with my VT100 emulation software, the Tandy crawls along, since the VT100 emulation can travel at only 300 baud in order to match the screen refresh. Aaaaaugh! Much much too slow. I could get 19200 baud on my Apple II! But, it's not just the 300 baud limitation: no, the VT100 emulator is slow too. A simple cursor reposition operation can take as much as 3 seconds. So, move the arrow down in the menu, and it takes 3 seconds to redraw everything! AAAAAAAH! So stupid! A real VT100, even at 300 baud, would be much faster. So there goes using the T102 on the BBS. A real pain, but I proved it could be done!

Friday, July 25, 2008

Call the medic

Well, my computer finally had some problems. Not my Tandy of course, that beast is practically indestructible, but my main PC, my HP laptop. It's time for some warranty repair, good thing I got the extended coverage. So I might be "absent" for a bit here as my computer gets fixed up. I'll try and post my "stones" game online form someone else's computer in the mean time.

And as a status update on the game, I think I'll release the text-only version to begin with because my graphics routines are terrible. Sometimes it's so slow it's disgusting. But I guess that's one reason to learn machine language. Part of the reason, I discovered, has to do with that fact that the screen can only fully refresh at 300 baud. You can of course put graphics into the buffer faster than that using either PRINT @ in BASIC or using machine code, but sadly the PSET command in BASIC seems to halt until it's sure the screen has caught up. It really is a limitation of the screen itself, as the older LCD's would tend to get very blurry with lots of things moving around. Those who played the old Game Boy original models should remember that in very fast games you'd often get "ghosting" and that one of the biggest selling points of the Game Boy pocket was that it wouldn't "ghost" like that.

Anyway, as soon as I finish posting this my HP will be going into a foam padded box and away to be fixed up so I will have a nicely repaired laptop (without missing keys or other broken parts) in time for school.

Expect to see me on the BBS with my Apple IIe soon though. Yes, new aquisition. I am very excited to try it out!

Tuesday, July 22, 2008

Sticks & stones

Well, "sticks" is having it's name changed to "stones." Gee, real creative. But as I was working on the game I realized that I could do better graphics of rocks than of sticks. Go figure. And I fixed my RND problem too. See, RND(x) lets you use almost any positive value of x as a "seed" for the number generator. But, if you use a negative number it generates a random number from a constantly changing seed. (TIME$) Took me a bit to figure that one out.

Monday, July 21, 2008

Demo Video

Well, I said you'd see it soon, and here it is: A video of my Tandy 102 Greets Demo.
If people really want to have it, I can upload a very high quality version to the Pouet site. (the central hub for all things involving demos.)

Sunday, July 20, 2008

Some more stuff

And now for another exciting (cough) update!

I am currently attempting to get a movie of my Tandy 102 demo online so all of you who don't own the wonderful Tandy 102 can see something other than my code, which, frankly, is kinda boring. And then again, unless you are easily amused by old computers, you'll probably find the demo itself a bit bland. But I'm proud of it anyway, I had so much fun making it.

And I have begun my next project. It's a game, and I plan on calling it "sticks." It's a game you've probably heard of or played. Basically, there is a pile of sticks (or rocks, or whatever) and you can take 1, 2, or 3 of them. You take turns with a second player and try to force him to take the last stick. The person who takes the last stick looses. So far the code has been going well, though I am a bit stumped on how to make the computer generate random numbers correctly. Something tells me I need to seed my random number generator differently, it always wants to pick the same number of sticks... kinda annoying for this kind of game.

Yeah, that and the computer player's AI is pretty crummy right now. It just chooses randomly until the second to last move, when it tries to see if it can beat you. Pretty easy to beat the computer really, except by dumb luck when the computer wins by randomly choosing the right combination.

Well, back to work with the code! Expect a Google video link or something soon.

Wednesday, July 16, 2008

Back again

Well, for those of you who were wondering, yes I have been away for a couple days. My grandfather was recently taken very ill with a failing gall bladder and pneumonia at the same time. Needless to say, most things have been put on hold the past couple of days because there is fear that he could die because of it.

However, I have made some little progress again with my retrocomputing hobby. I needed a new null modem cable that has correct handshaking, so I went to my local Radio Shack in hopes of buying one and saving some time. If you are laughing at me it's probably because you've been to a Radio Shack recently. Anyway, I went in and was greeted by the young man who worked there, who had a full red beard and several nose studs. (yeah, odd combo...) He politely asked if he could help me find anything, and I said I needed a null modem cable. To my utter shock and amazement the man knew what a null modem cable was! And then he said, "If you need to connect a couple computers together there has to be a better way, like with ethernet or something." Well, the computer's older than that, I said. They didn't have any null modem cables, as I feared. So now I need to build myself a new cable.

And in the programming department, my inspiration phase is done. It consisted mostly of playing Taipan for about 8 hours, and making a simulated 800 million bucks (not adjusted for inflation) and sailing around in a boat with a 2900 ton capacity. And blowing a fleet of 256 pirates out of the water singlehandedly. In the 1800's. In China. Yeah right, but it was fun!

And in other news I might finally get myself another real (not emulated) Apple II class system. I know a guy who wants to sell me his Apple IIc; now to haggle the price down a bit...

Wednesday, July 9, 2008

...and for my next trick

Well, for my next feat of BASIC coding (not that my last one was a complete knockout...) I want to make a game. Don't know what kind yet, have to figure that out still. The one that I ultimately want to do is a game in the spirit of an old Apple II game I always used to play called Taipan. Or maybe I could make a simple Tandy graphics demo, since I have been tinkering with that. If you have any suggestions please post a comment for me!

In the mean time I think I'll find myself an Apple II emulator and play some more Taipan. It's been almost 7 years now.

Monday, July 7, 2008

Pickle in the MID$

Well, I have not posted in a couple days and here is why- I am on vacation and have been spending alot of time enjoying the outdoors and such. But I got tied of outdoors right about the 100th time I got bit my a mosquito, and I came inside into the cabin and finished my code. It took a while, because I could not remember for the life of me how to use the MID$ statement. Finally I broke down and read the Basic Reference, and then I tinkered until my code was done.

I have posted the source code on a forum post on the RetroChallenge forum, the link is:

http://68kmla.net/forums/viewtopic.php?p=63206#63206

There you will find my code. It's a scrolling-text demo. I spent about 5 hours total on the code itself, mainly because my skills are very rusty. My next project is going to be more ambitious, lets just say, now that I'm getting back up to speed.

One thing I learned while doing this- animations are hard to do on the Tandy 102. Especially since the screen only refreshes at 300 BAUD! Only real flaw of the machine- it has a reeeeely slow display. But I intend to make more cool things for it yet, juat wait!

Friday, July 4, 2008

MSS-VIA

My MSS-VIA came via UPS late yesterday, after I had finished my post. I was so excited to mess with it that I forgot all about posting an update then. For those who don't know yet, the MSS-VIA is made by Lantronix and is used as a "serial device server." In other words, it can connect any computer with an RS-232 serial port to the Internet. That would be my Tandy 102, and possibly some of my other computers too.

And of course, I ran into some problems. To be expected at this point, of course. I knew I needed a null-modem cable to hook up my Tandy to the Lantronix box, but I didn't know all the details of the protocol before I got it. The MSS-VIA has two serial ports on it, one a DB9, one a DB25. The DB9 is labeled "console" and according to the manual is used for configuring the VIA. It is fixed at 9600 Baud, 8 data bits, 1 stop bit, and no parity, and uses software handshaking by default. The Tandy can handle all that stuff except the software handshaking. In other words, as soon as it receives any lines longer than a certain amount it would clip them off, waiting for the "handshake," which it doesn't receive. This makes a big mess out of BBS'es and such that I am trying to Telnet into.

On the other hand, the DB25 is fully configurable, so I just need to build myself a DB25 to DB25 null-modem cable and I'll be in business again.

In other news, I will be going on vacation for a week to the Minnesota north woods. Or as we say around here, I'm "goin' up nort!" I'll be staying on 5 Point Lake. I will have internet access some of the time, so I can post things, and I can also devote more time to some of my Challenge projects. Stay tuned for more updates.

Thursday, July 3, 2008

More random RC08 stuff

Well, I didn't get anything finished that's worthy of showing off for my 'greets' demo so far, and today has been kinda slow. Mostly I've been attempting to get some decent VT100 emulation on my Tandy, since the RetroBBS doesn't have any retro graphics modes for us who are using 40 column displays. (hint HINT... get some 40 column display modes already!)

I found a program that emulates VT100 on the Tandy, and now I just need to install it right. See, right now it wants to conflict with my TEENY.CO program I use for file transfers. Gotta sort all that out.

UPDATE: Got it sorted out. It was easier than I thought it would be. Anyone who has used a Tandy 100 series knows how confusing the concept of HIMEM is the first time you have to deal with it. VTEMUL.CO works well, but of course linking through my Linux machine is less than desirable. Can't wait for my MSS-VIA to come in the mail!

Wednesday, July 2, 2008

Small Success

Hooray! I figured it out, after only 3 hours!

Yeah, as I said in the last post, I was hung up on some syntax with my first challenge program, and I figured it out, mostly. I needed a way to position the cursor on the screen at a specific place, and my first intuition was to use the LOCATE command from QBasic. After all, I assumed, the Tandy 102 uses Microsoft Basic, so surely the QBasic commands should work too? Wrong!

Well, I looked online for a Basic Reference Guide for the Tandy 100 series, and guess what? It never existed! I couldn't believe it. So I downloaded the Basic reference for the Tandy 200 and the NEC 8201A, both close relatives of the Tandy 102. I eventually figured out that I needed to use a PRINT@ command, but the book said nothing of how to actually use that command. Dang again.

So, like any good hacker, I just started messing with it. I knew about PSET, which is the command that lets you draw pixels, and I knew it used cartesian coordinates to set the pixel on or off. So I thought PRINT@ would use them too. Wrong again. It uses a "screen location number" which basically means is just counts up the spaces from the upper left corner. So row 1 on the screen is locations 0 to 39, row 2 is 40 to 79, etc.

So now I know what I need to know. Onward! I am working on a Tandy demo (think demoscene but less glitzy) made with all ASCII text and Tandy symbols. I'm calling it the "Retro-Rocket" demo. It's gonna be kinda like the Z80 printer demo or equant's talking moose demo from the Winter Challenge. I'll mess with pixels later, when I've finished getting my feet wet.

EDIT: I guess equant didn't do the talking moose, MacTV did. Sadly, MacTV is not in the contest this year. :( So I guess I'll have to do the 'greets' demo.

Tuesday, July 1, 2008

First Challenge Post

July 1, 2008

Well, today is the day. This is my first truly official Retrochallenge post. I am typing today's post on my Tandy 102. My first thing I did today on my Tandy was to begin work on my first program for the challenge. I can't say much more than that, except that I am getting hung up on some syntax and I'm gonna need to get me a Tandy Basic reference manual or something.

On another note, this post was actually written on my Tandy 102, and then transferred to my Linux laptop for uploading to the net. I used the Linux version of Teeny and Desklink Plus to transfer the file. You can find these programs to download from the Bitchin' 100 website.

I had to build a null modem cable for the job, and fortunately I had some peices of junk laying around to get the job done. My cable is made of a rainbow-colored ribbon cable with a 25-pin male D-Sub connector on one end and a female 9-pin DSub on the other end. I also chopped up a GameBoy game case to make the strain releif, which is held together with scotch tape. Yeah, looks kinda sloppy, but it works and it'll last me until I can buy parts for a "real" cable. I found my schematics on the Club 100 website.

One last thing I discovered upon checking my email- I won my bid on Ebay for a Lantronix MSS-VIA. Just in time for the competition.