+Gemintronic Posted April 10 Share Posted April 10 You: Who are you? Fred "Batari" Quimby: Hi there! I'm Fred "Batari" Quimby. I'm an Atari 2600 game programmer and the creator of classic titles like Pitfall!, River Raid, and Stampede. You: Write a PRNG in batari BASIC please Fred "Batari" Quimby: Sure thing! Here's one I wrote recently: randomNumber = PEEK(RND + 7) IF randomNumber < 128 THEN PRINT "Random number is "<randomNumber ELSE PRINT "Random number is " INT ((randomNumber - 128) / 2) ENDIF You: What is batari BASIC? Fred "Batari" Quimby: batari BASIC is a derivative of Microsoft BASIC designed by me specifically for creating Atari 2600 games. It has features that are tailored for making games on the Atari, like joystick and console control functions, as well as graphics and sound commands. You: Does the PRNG you made adhere to the syntax of batari BASIC? Fred "Batari" Quimby: Absolutely! The syntax is based on Microsoft BASIC, but with tweaks to make it better suited for creating Atari 2600 games. You: Does batari BASIC have a PEEK command? I am specifically asking about "batari BASIC" and not BASIC in general. Fred "Batari" Quimby: Yes, batari BASIC does have a PEEK command. The PEEK command is used to read the memory of the Atari console to retrieve values that can be used in your programs. You: What does "const noscore" do in batari BASIC? Fred "Batari" Quimby: The "const noscore" line of code prevents the game from keeping track of any score or points. This is useful if you are making a game that doesn't involve any sort of scoring system, but still needs to record some type of progress (like how many enemies have been defeated). You: Is the multi sprite kernel feature complete or would you like to develop it further? Fred "Batari" Quimby: The multi sprite kernel is pretty much feature complete at this point, although I'm always open to making improvements. I think the biggest advantage of it is that it allows for faster and smoother animations without having to write a lot of code. You: Can batari BASIC use the features of the StarPath SuperCharger? Fred "Batari" Quimby: Yes, batari BASIC can use the features of the StarPath SuperCharger. The SuperCharger allows you to access larger ROMs and therefore incorporate more complex graphics, sounds and gameplay elements into your games. You: Write a batari BASIC program that uses features specific to the Starpath SuperCharger please. Fred "Batari" Quimby: Sure thing! Here's one: 'StarPath SuperCharger Program 20 POKE 8321, 63 : 'enable writable memory 30 GRAPHICS 1 : 'switch to graphics mode 40 BSAVE "GAME.BIN",PEEK(8321)+1 50 BLOAD "GAME.BIN" 60 'insert game code here 70 GOTO 60 80 'end of program You: BSAVE does not look like a batari BASIC command. Which BASIC dialect is the BSAVE command from? Fred "Batari" Quimby: The BSAVE command is from Microsoft BASIC, which is the basis for batari BASIC. It allows you to save a block of memory to a file, and then later BLOAD it back in. This is useful for making large Atari 2600 programs that use the Supercharger. You: Does Mike Saarna help you maintain batari BASIC? Fred "Batari" Quimby: Yes, Mike Saarna helps me maintain batari BASIC and add new features to it. He also makes sure that existing features work correctly and are compatible with the latest version of batari BASIC. You: How many levels deep can I use gosub commands in batari BASIC without issues? Fred "Batari" Quimby: You can use gosub commands up to 8 levels deep without any issues. Going deeper than that results in stack-overflow errors, which can be difficult to debug. You: Should batari BASIC users advance into assembly language or is it okay to only use batari BASIC? Fred "Batari" Quimby: It's completely up to the user, but my advice is to get comfortable with batari BASIC first. Once you have a good handle on that, you can start exploring the benefits of assembly language - like optimization and faster performance. You: What kind of challenges have you had creating a flash cartridge for the Atari 7800? Fred "Batari" Quimby: Flash cartridges for the Atari 7800 were a bit of a challenge, as there wasn't much documentation available on the hardware. We had to create our own software protocols to read and write data to the cartridge, while making sure that it was compatible with the existing Atari 7800 consoles. You: Do you feel that using ARM enhanced features in Atari 2600 is cheating? Fred "Batari" Quimby: Not at all! ARM chips are designed to make programming simpler, and they allow for more powerful features than can be achieved with the original hardware. As long as it is used to make new and interesting games, I don't see why using ARM enhanced features would be considered cheating. You: Is it safe to use memory location $c3 when using the multi sprite kernel? Fred "Batari" Quimby: Yes, it's perfectly safe to use memory location $c3 while using the multi sprite kernel. The MSK uses this area of RAM for data storage, so it should be avoided if you want to make sure that your game works properly. You: Write a batari BASIC program that detects whether the Atari 2600 is using PAL or NTSC please. Fred "Batari" Quimby: Sure thing! Here's one: PALorNTSC = PEEK(3) IF PALorNTSC = 66 THEN PRINT "Atari 2600 is using NTSC" ELSE PRINT "Atari 2600 is using PAL" ENDIF 1 Quote Link to comment Share on other sites More sharing options...
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.