RetroRetrospective

RetroRetrospective – Fun today with yesterday’s gear……..
Archive for the ‘RetroChallange’ Category

Well here we are again. I’t’s RetroChallenge time and my project will be a strategy game in the 1980s style in the likes of SSI or Avalon Hill. So why the picture of ol’ George Washington?  He’s going to be the central character of the game, the Commander-in-Chief has to rebuild the Continental Army, garner support of the States and their  Militias, battle internal strife of  those that wish to see the the newly founded Union bought down with the assistance of foreign powers. The ink on the 1783 Paris Treaty is barely dry, can George Washington save the nation? Of course there’s a twist, I’m writing the game 😉 1786! Awaits.  

Way back in the day on of my favourite programming tools was Nibble BASIC from the Nibble Magazine.  It allowed you to write Applesoft programs without line numbers, and added additional commands such as If/ElseIf/Else, and Loop/EndLoop, as well as Goto and Gosub labels rather than using line numbers. I added extra commands such as Repeat/Until and While/EndWhile, and “Turtle” like graphic commands. In a previous RetroChallenge I was going to re-write Nibble BASIC in itself, but my project this time is to write an external “compiler” to take an enhanced Applesoft like script and convert it to run on an Apple][. My target script is a version of the traditional “Hello World” program below: # RetroChallenge 2016/10 # Hello World Program my String$  = “Hello World” my Counter% = 10 my Count%   = 1 my Co%      = 2 my Characters_Per_Line = 40 home for i = 1 to Counter%    Co% = centre_text(Characters_Per_line,String$) next  Print “String$ [“;String$;”]” PRINT “Counter%>”;Counter% ?     “Count%  >”;Count% print “Co%     >”;Co% sub centre_text    my line_size = shift    my text$     = shift    my start_character = int(len(text$)/2))    htab start_character : print text$ return(start_character) So, in a nutshell, declared variables with full name support, not just up to the first two characters, called subroutines passing and returning  values (no recursion support) , and case insensitive commands. If time permits, I’ll add additional Applesoft commands to the parser.

. . . Also known as Retro Procrastination: Things Achieved: Sorted out back section of the 8Bit Bunker Laid 2 boxes of carpet squares (10 sqm) in tidied up area Setup Lounge on carpeted area Setup very retro CRT TV to watch the tennis Cleared and setup second desk to provide work-space for  RetroChallenge programming Things Not Achieved: RetroChallenge programming Stay tuned for further Retro Procrastination Updates.

Thought I’d get a jump on the rewriting of S-Basic in S-Basic by dumping the S-Basic Applesoft code to a text file, then reformatting it as S-Basic, then running it through S-Basic5.3 on my disk image. Great idea, but . . . . . The code is just too unstructured.  Too many unexpected terminations within a routine using a GOTO that drops you part way into another routine.  Arrrrrrrrgh! I love structure, indenting, flow control, so looks like I’ve got to do it myself then. So back to my original plan of writing from scratch using the Applesoft listing as a guide only.

OK, so it’s summer here in Australia, so what is this “Winter Warmup” thing.  2014WW is the Retrochallenge and to quote the site: “In a nutshell, the RetroChallenge is a loosely disorganised gathering of RetroComputing enthusiasts who collectively do stuff with old computers for a month. The event is very much open to interpretation… individuals set there own challenges, which can range from programming to multimedia work; hardware restoration to exploring legacy networking… or just plain dicking around. It really doesn’t matter what you do, just so long as you do it. While the RetroChallenge has its competitive side, it’s not really a contest… it’s more like global thermonuclear war — everyone can play, but nobody really wins.”