Jump to content

Search the Community

Showing results for tags 'basic'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Star Wars - The Original Trilogy's Star Wars Talk
  • PlusCart User's Bug reports
  • PlusCart User's Discussion
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion

Blogs

There are no results to display.

There are no results to display.

Calendars

  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 76 results

  1. i saw this video on youtube https://www.youtube.com/watch?v=0yKwJJw6Abs and i thought, i can totally do that on the TI.. so.. 10 D$="FF" :: FOR D=65 TO 65+8 :: D$="00"&D$ :: CALL CHAR(D,D$) :: NEXT D :: FOR B=1 TO 10 :: PRINT "F";"E";"D";"C";"B";"A";"A";"B";"C";"D";"E";"F";"G"; :: B=1 :: NEXT B i had to print each character individually to get the required screen movement.. Here's xbasic, and compiled.. WAVE is normal extended basic, -X is compiled but loads in extended basic, and -E is EA5 load. looks pretty slick compiled some small screen glitches likely because I'm running classic99 in Wine on a linux pc.. WAVE-X WAVE-E WAVE
  2. Hi All! As @777ismyname said, I just published a test version for the new FastBasic release. Please, help me testing it so I can make a new release in time for the BASIC 10 liner contest There is a big new feature: parameters for the PROC/EXEC, like this example: exec Test 1, 2 for i=1 to 4 exec Test 5 - i, i next proc Test a b ? "Testing: "; a, b endproc Notice that in the EXEC the parameters are separated with commas, but in the PROC the corresponding variables are separated with spaces. Also, the variables in the proc are not "local" like most languages, as all variables in FastBasic are global and the parameters are simply variables, the above code is basically equivalent to: a=1 : b=2 : exec Test for i=1 to 4 a=5-1 : b=i : exec Test next proc Test ? "Testing: "; a, b endproc Also, in the Atari IDE the parser does not verify that the number of arguments passed to the EXEC is the same as received by the PROC, I plan to add a check to the floating-point version in a future version. In addition to the above, there are other changes to the language: - You can include arbitrary characters in string constants by using the hex value, like: PRINT "Hello"$9B"World" . So, now you can easily include he EOL character in strings directly, and in the cross compiler you can write Atari characters in strings simply by the ATASCII code. - Added PAUSE without a parameter, this is the same as PAUSE 0, "wait for vsync". - PROC has a shorter abbreviation: PR., - The parser is more robust to syntax errors, I discovered some erroneous inputs that could slow down the parser a lot. Many improvements to the editor: - Much faster COPY/PASTE operations, - Restores left-margin value on exit to DOS, - Remove P/M graphics when returning to the editor from user programs. And improvements to the cross-compiler: - Better error messages from some syntax errors, and fixes in parsing of big numbers. - Check for PROC and EXEC parameters mismatch. - An option to write an expanded and indented listing from an abbreviated listing, "-l" Adding the support for PROC parameters while keeping the integer IDE under 8kb was a lot harder than expected, but I finally managed to squeeze a few bytes from the editor and made it fit, currently the "FBI.XEX" file is 8189 bytes! As always, you can download the ATR, the manual and the cross-compiler from github: https://github.com/dmsc/fastbasic/releases/tag/v4.5-rc I plan to do a few extra commits before the release, but nothing big. Have Fun!
  3. CyranoJ

    JagStudio

    JagStudio is an advanced development suite for the Atari Jaguar that allows you to code using Assembler, BASIC or C and is based around Reboot's powerful RAPTOR API. Regardless of your programming capabilities, Beginners to Advanced coders can utilize this flexible package that will fully suit the needs of anyone looking to program exciting new games for the Jaguar. The benefits of using JagStudio are the Hardware Abstraction Layers (HALs) and the combination of external modules available to use. This allows you, the developer, to get on with writing your games while taking advantage of the Jaguar's powerful chipset without worrying about tedious, underlying mundane routines. The same results that once took days or weeks to achieve can now be done in a matter of minutes, thanks to the power of JagStudio! You are one click away from 64-bit creativity! The current release of JagStudio along with any previous versions can be obtained at its homepage: https://jagstudio.reboot-games.com Some of the features of JagStudio are: Code in your language preference of Assembly, BASIC or C. (Assembly and C are currently in Beta... help us make them better!) Commands have been renamed (from rB+) to reflect the individual modules they control and prefixed as such: rapPrint, u235PlaySample, etc. RAPTOR API Debug Function brings useful program variable visibility to the forefront, aiding ease of game development. GameDrive support along with MRQ file creation. ROM builder now adds FAST GPU depack by default for quicker startup times. Ability to build and split ROMs up to 6MB into HI/LO for EPROM burning. Updated both RAPTOR and U235 Sound Engine APIs to current versions, bringing additional benefits of both in a single updated package. Added universal JagPad Input - A single call that works with either U235 or ZeroSquare sound engine so projects can be easily converted between the two should your needs change. Many enhancements and bug fixes to the original rB+ code (eg, you can now include files >4mb, all files unpacked using GPU by default) All documentation and examples have been updated with a simple rB+ to JagStudio conversion guide to bring your old projects over to the fully updated JagStudio. Includes project examples for all supported languages (Assembly, BASIC and C) for anyone looking to get started quickly. We plan on keeping this alive and active, with ongoing improvements and new features and look forward to seeing what you all make with it. If you have any questions, please feel free to ask in this newly created sub-forum. Happy coding, everyone! The JagStudio Team. @CyranoJ @Sporadic @Clint Thompson A huge "Thank-You" to ggn for creating rB+ upon which all this is based. Please do not pester him with support requests for JagStudio.
  4. SuperBlitz with throttle control This enhanced military sim now let's you control the illusion! Featuring an improved Martial soundtrack, lighting strikes and Anti Aircraft missile systems. SuperBlitz is a rewrite of my 80's SuperBlitz port of Blitz that was sold on Disk and Tape and later a magazine type-in, the full history is in this thread: 10 Line Blitz is a new Atari game for the SuperCharger with many enhancements over 9 Line Blitz! 😎 Features: Algorithmic Music Composition - Changing musical scores and sound Fx, interactive and computer generated during gameplay. Ramping Difficulty - Game starts out easier to play than 9 line Blitz Optical Illusion - Optical illusion effect which vanishes as difficulty ramps! Advanced Play - BW switch Read hardware recommended and a classic Television, if using an emulator make sure to turn off phosphor effects and merge frames! BASIC just like you remember it back in the day! - This game was written in vintage BASIC using 10 lines of 120 characters or less: 0 data city 5,9,6,9,7,6,7,5,9,5,5,5,5,6,6,7,5,8,5,8,7,5,8,8,5,5,6,6,7,5,7,8,9,8,8,7,8,9,5,6,8,5,9,6,6,7,5,7,5,5,8,5 1 if g=0 then for j=0 to 9:player1(j)=189:player0(j)=pl(j):rowcolors(j)=178:next j else goto3:data pl 0,224,127,231,252 2 for j=20 to 71:k=j-20:k=city(k):for i=k to 9:vwpixel(j,i,on):next i,j:player0y=96:player0x=84:y=11:g=1:COLUP1=99 3 if f<player0y/52 and SWCHB|247=255 then f=f+1:goto 9 else AUDC1=7:AUDF1=BITIndex/5:AUDV1=BITIndex:f=0:rem Theme Music 4 COLUBK=0:AUDV0=0:scrollvirtualworldtoggle=1:BITIndex=BITIndex+1:missile0x=missile0x+2:data P 192,128,0 5 if joy0fire=1 and y>8 then AUDF0=12:AUDC0=9:SUSTAINFORFRAMES=15:x=BITIndex+9:i=96-player0y:i=i/10:y=1+i:remPlayahTune 6 if y<10 then vwpixel(x,y,bindplayer1):COLUP1=M(y):y=y+1:data M 99,84,180,164,50,68,196,148,244,84,36,9:rem Do Rainbow 7 if y<10 and vwpixel(x,y,poll)>0 then vwpixel(x,y,flip):player1x=0:player1y=0:AUDC0=y:y=21:AUDF0=4:AUDV0=15:rem Hit! 8 if BITIndex>71 then BITIndex=0:player0y=player0y-2 else missile1x=missile1x+1:missile1y=missile1y+3:rem 10LINEBLITZ 9 if CXP0FB>126 or player0y=0 then CXCLR=0:g=0:for i=0 to255:AUDF0=i:AUDV0=i:COLUBK=$34:next else missile0y=missile0y+2 The BASIC compiler for the SuperCharger is available free on my site here Have Fun! EDIT New version: 10LINEBLITZ II Waves and Mission What's new? rem --- 10LINEBLITZ II - Waves and Missions rem --- Insignia on your Plane is revealed after you complete your Night Mission! rem --- Multiple Waves over differently colored Sky's and Cities rem --- More optical illusions: Some color combinations create unreal artifacting such as textured bricks - complete several rounds and describe what you encounter! rem --- note: Classic hardware and a CRT required to experience artifacting textures and additional illusions rem --- unique features rem --- Each Wave achieved keeps it's colors in Attract mode rem --- Unlimited continues to complete the Missions until powering off SuperBlitz Throttle Control: SUPERBLITZ.bin 10LINEBLITZII (code in post 7) 10LINEBLITZII.bin Original version of 10LINEBLITZ: 10LINEBLITZ.bin
  5. An #Atari8bit IRC client in...#BASIC? With #FujiNet, this is possible thanks to the N: device providing an easy interface to the network outside. This IRC program has been in development for roughly a week, and it's amazing!
  6. I finally managed to finish the DLI work, so here is the new FastBasic version, ready for the 2020 tenliners! You can now create a DLI with a simple syntax, capable of changing registers at multiple locations in the screen. The full documentation is in the manual at https://github.com/dmsc/fastbasic/blob/master/manual.md#display-list-interrupts , but here is a little sample of the DLI support, showing how to multiplex two P/M to create 4 moving two-color sprites: ' Player shapes DATA p1() BYTE = $E7,$81,$81,$E7 DATA p2() BYTE = $18,$3C,$3C,$18 ' Players horizontal positions DATA pos() BYTE = $40,$60,$80,$A0 ' Players colors DATA c1() BYTE = $28,$88,$C8,$08 DATA c2() BYTE = $2E,$80,$CE,$06 ' Our DLI writes the position and ' colors to Player 1 and Player 2 DLI SET d3 = pos INTO $D000, pos INTO $D001, DLI = c1 INTO $D012, c2 INTO $D013 ' Setup screen GRAPHICS 0 : PMGRAPHICS 2 ' Setup our 4 DLI and Players FOR I = 8 TO 20 STEP 4 POKE DPEEK(560) + I, 130 MOVE ADR(p1), PMADR(0)+I*4+5,4 MOVE ADR(p2), PMADR(1)+I*4+5,4 NEXT ' Activate DLI DLI d3 ? "Press a Key" ' Move objects! REPEAT PAUSE 0 pos(0) = pos(0) + 2 pos(1) = pos(1) + 1 pos(2) = pos(2) - 1 pos(3) = pos(3) - 2 UNTIL KEY() ' Disable DLI and ends DLI Attached is the resulting XEX, this is the resulting screen: The new release is over github, download at: https://github.com/dmsc/fastbasic/releases/tag/v4.3 Have Fun! dlitest.xex
  7. I recently got a beige non-QI TI-99/4a system with a speech synth and several cartridges, including Extended BASIC and Editor Assembler. The joysticks I have are worn out and don't work. I was able to revive the Mitsumi mylar keyboard. I don't have a PEB or memory expansion or disk drive. I'd like to do some BASIC and assembler coding on the system, as well as play some games. What should I be looking for? Stuff I'm considering to do or purchase... - Cassette cable and recorder - Atari joystick adapter interface - Is there a preferred model? Most that I see don't have any kind of case on them. - Memory expansion - What is the go to for adding more memory to this system? - Disk drive, or disk drive emulator - I have a Gotek drive in my Amiga. My Coco has an SDC cartridge. My Atari connects to my Windows PC to retrieve files. How can I emulate a disk drive on the TI-99/4a? - I'm currently connected to a TV using a component video cable. Are there any video upgrades for the TI-99/4a to use VGA, component or HDMI? - I have an MX-80 parallel printer. Can I connect this to the TI-99/4a? Is it worth the hassle? - Is there an assembler/editor that works on a TI system without a disk drive? How about without the 32K expansion? I've done some searching online, and checked out some of the online vendors and eBay. Most of the info I find is outdated and I'm not sure which of the upgrades are good for a system today. Any and all info is appreciated!
  8. #FujiNet #Atari8bit I have made a cheat sheet showing how to use the N: device in BASIC to open, close, send, receive, etc. The page is here: https://github.com/FujiNetWIFI/fujinet-platformio/wiki/N%3A-Game-Developer-Cheat-Sheet
  9. #Atari8bit In this video, I show how to write the core logic for a light cycle game. The result is a simple racing against opponent barrier game that is controlled by two joysticks, and will be modified for network in part 2.
  10. #Atari8bit In this video, I show how to take an existing game, "Roman Checkers" (Sears, 1979), one of the earliest BASIC games, and convert it to play over #FujiNet using the N: handler and standard I/O statements.
  11. Just wondering - the technology used for Adventure was simple enough that just about any 8-bit home computer or newer should be capable of emulating it. I'm wondering if anyone has done it in BASIC (maybe compiled, or with some minor ML routines, or using some BASIC expansion library, for more speed etc.) ? It would be cool to have such a code base to work with, making it easy to modify and create custom adventures...
  12. Hello, everyone. @jamm has checked in the bits of code to support what we call "App Keys" on the #FujiNet. More documentation info can be found here: https://github.com/FujiNetWIFI/fujinet-platformio/wiki/SIO-Commands-for-Device-ID-%2470 as commands $DB to $DE These provide a key/value store for applications to store and retrieve configuration information on the FujiNet. Since these are implemented as SIO calls, and are outside of the purvey of the N: device, they need to be accessed as direct SIO calls, so a solution needs to be made that can be easily embeddable in BASIC. The idea is to embed machine code in strings, something like: OPENKEY$="..." CLOSEKEY$="..." READKEY$="..." WRITEKEY$="..." For Open/close, you'd have use a 6 byte string, e.g. KEY$, containing the app key to open/close. For Read/Write, you'd have a 66 byte output, VAL$, containing the 64 byte contents to return. How can we make it so that we can do: KEY$="......":X=USR(ADR(OPENKEY$)) X=USR(ADR(READKEY$)):? VAL$ VAL="New Value":X=USR(ADR(WRITEKEY$) Thoughts, guys? -Thom
  13. Mille Borne is a French card game of auto racing currently being sold by Parker Bros. The actual card game can be played with 2-6 players but the computer game is 2 player only; you vs. computer. The object of the game is accumulate enough mile cards to make it to the finish line. But there are hazards along the way that will keep you from that goal. If you haven't ever played the game refer to the manuals I have included with the game .zip file. in this computer version there are a few differences. a.) to start the game you can choose a long game (standard 1000 miles/5000 total) or short game (700 miles/3000 total). b.) when playing a safety or Coupe Fourre you don't get an extra turn. (it was too much trouble to implement). I think everything else is the same. some history on the program. This game is a translation of a game I have had on the Atari 8-bit forever. I have no idea where it came from on the Atari. I would love to credit the programmer but have no idea who he or she is. On programming the game. As I said, this is a translation from Atari 8-bit BASIC. At first I thought that it would be a direct translation but the differences in how the strings work on the Atari BASIC to convert to TI-XB turned out to be too time consuming. So, basically, I just rewrote the TI-XB with guidance from the original program. Some of the code looks a little, out of place. this is usually the code I pulled directly from the Atari BASIC. This probably makes the code a little slower than if I had programmed it in TI-XB from scratch but I didn't want to spend an additional week to just fine tune for a few seconds of speed. Anyway, enjoy the game. UPDATE: forgot to mention, I have a small simple routine that redefines the character set to true lower case. only takes about 3 seconds to load in XB. should even work in console BASIC. just cut a paste into your program. millborn.zip
  14. Another Extended BASIC game for the Ti-99/4 line; Star Merchant. Back in the 80's there were several variations of this game where you traded merchandise between star systems. The game dates back to at least August 1981 when Creative Computing published the game but probably goes back even further to the mainframe era. I seem to remember playing something like this on the TI mini-frame in school. Simple game, you buy merchandise in one star port the 'Warp' to another star port and try sell it at a profit. The version I am posting is a modification of a Atari 8-bit version that Creative Computing sold through a 3rd party. I again use Harry Wilhelm wonderful 40 column routine as I used with the Civil War program. Only difference is I'm using the inverse utility in T40 to livin' up the text. Translating from the Atari 8-bit was fairly straight forward for this program (not like the Mille Borne which took and almost total rewrite). The two things that were the big difference was, of course, string usage and the fact that with the Atari you can have a variable line number in a ON GOTO and ON GOSUB statement (can't with the TI ExBASIC). Included is a copy of the manual for T40, the auto LOAD .dsk of the game and a copy of the original text from Creative Computing Aug, 1981 where the game was printed. Enjoy, HLO star-mech.zip
  15. I have updated three of my programs for the TI99: MilleBorne, Yahtzee and Uno. for MilleBornes I cleaned up the code for the AI opponent & made it faster. for Yahtzee I remade it without TML to speed the program up by factor of 2. Drawing the fancy color fonts in TML slows down the program because TML has to essentially draw each font on the screen in high rez. Redoing the program for just using DISPLAY AT speeds things up a lot. for Uno I also remade the program without the fancy color fonts of Kull XB. Same reason Kull XB is slow like TML as it draw the color fonts in high rez. Also cleaned up the code and it moves along rather respectfully now. for the new mile bornes use MILLEV2. for new Uno use just UNO file and for Yahtzee use the (misspelled) YATHZEE. I have also included the other BASIC programs I have posted over the months in the .zip. for manuals check put previous post of the games. mygames.zip
  16. Hi all! I have a new beta (test) version of the next FastBasic release (4.4), I need your help testing the IDE - specially the editor, as it has many changes under the hood to make it smaller. The changes in this version are: - Adds BREAK key handling to the IDE - this was long overdue, now you can press BREAK key to return to the IDE from your program. - Adds COPY/PASTE to the editor, you need to press CONTROL-M to "mark" a line in the editor, then when you press CONTROL-C that line is copied after the current one. Pressing CONTROL-C multiple times copies multiple lines. Changes to the language: - Adds "CLR" statement, that un-dimension arrays and sets all variables to 0. Changes to the cross-compiler: - Allows to compile to code that can be put in a cartridge - by removing all uses of self-modifying-code and adding a stub to copy the zeropage interpreter from ROM to RAM at startup. - Allows accessing to DATA's from external assembly files. - The CC65 tools are included in the distribution, you don't need to install CC65 to use the cross-compiler anymore. Have Fun! EDIT: See newer beta version at: fastbasic-v4.4-beta-macosx.zip fastbasic-v4.4-beta-win32.zip fastbasic-v4.4-beta.atr fastbasic-v4.4-beta-linux64.zip
  17. What do you guys think are some of the best games made in the last few years that were done in 100% (or nearly 100%) BASIC? Any version of BASIC for the TI. Compiled BASIC OK. By "best games" I mean the ones you enjoy playing the most and/or show off impressive features.
  18. I just finished programming a music program into my Commodore 64 in BASIC. I ran it before saving, and it worked fine. I saved it and turned the computer off, then back on and loaded it, then typed 'list' to make sure all the lines of the program were there. They were. So I ran it. All that I could hear was (the best way I can describe it) a clicking sound rather than the musical melody that was there before saving and loading. The program ran for it's regular cycle and exited like it was supposed to, but the sound was messed up. I tried this a few times with the same results. Thinking that perhaps my sound chip was burned out, I loaded games on both cartridge and floppy disk. They worked fine. So my next step was to type the program again, save it under a different name and on a different disk, and run it. Same results.The last thing I did was turn the computer off and back on, then type the program into it again. I ran it without saving and it worked fine. Bad drive maybe? It's just weird that I can load it and the program shows all the lines, but it won't work right. And only after loading it from a 5.25 floppy. Any ideas or thoughts? Just so you know, I am doing this on original hardware. I am using an actual breadbox C64 with a 1541 disk drive and disks that were brand new in the packages(DD Fujifilm). They formatted just fine too. Any advice you can give would be appreciated. Thanks guys!
  19. We would love it if you could check out our Applesoft / Integer BASIC interpreter, DiscoRunner. Unlike most interpreters, we've closely simulated the graphical and sound capabilities of the Apple II, allowing most BASIC listings to run faithfully (it comes with almost a thousand of them!) It has some rudimentary 3D camera support; later versions will add more complex 3D and digital sound capabilities. You can download it for Windows, Mac and Linux at http://discorunner.com Please let us know what you think of it so far! Thanks, April and Melody Ayres-Griffiths
  20. I'm extremely new to actually using the CoCo 2 and basic code in general. So I found some sample basic code in an old december issue of The Rainbow that does a little Xmas demo and i'm wondering if there is a way to type it in on my modern computer(this one is a Macbook Pro, but I can also run windows so i'm fairly platform agnostic) in a text editor and convert that file to a cassette image or a disk image I can load on the CoCo? Does this even make sense?
  21. Over on the Atari 8 bit forums, they are having a contest where they challenge programmers to "write a game in ten lines of basic"! http://atariage.com/forums/topic/234337-basic-ten-liners-contest-2015/?hl=+basic%20+contest I wondered if I it was possible to write an IntyBasic Game in 10 lines.... Only one way to find out! So I gave it a try.... The result is snake! (Click to animate) Here is the whole program: start: cls : for i = 0 to 19 : poke $200+i,(56*+1 : poke $200 + (20 * 11) + i,(56 * +1 : if i < 11 then poke $200+(20 * i),(56 * +1 : poke $213 + (20 * i) , (56 * + 1 ' line 1 next i : food = 0 : score = 0 ' line 2 dim snake(180) ' line 3 for i = 0 to 179 : snake(i) = 0 : next i : snake(0) = 130 : snake(1) = 131 : slen = 1 : #sdir = 1 : poke $200 + 130,(56 * + 2 : poke $200 + 131, (56 * + 2 ' line 4 loop: wait ' line 5 if food = 0 then food = RAND : if (food > 240) OR (peek($200 + food) <> 0) then food = 0 else poke $200+food,(38 * + 5 ' line 6 if cont1.left then #sdir = -1 else if cont1.right then #sdir = 1 else if cont1.up then #sdir = -20 else if cont1.down then #sdir = 20 ' line 7 if (frame AND $0f) = 0 then #adrs = snake(slen) + #sdir + $200 : if (peek(#adrs) AND $07f8) = (56 * then goto game_over else poke #adrs,(56 * + 2 : if #adrs = (food + $200) then slen = slen + 1 : snake(slen) = #adrs : food = 0 : score = score + 1 else poke $200 + snake(0),0 : for I = 0 to slen : snake(i) = snake(i+1) : next i : snake(slen) = #adrs ' line 8 goto loop ' line 9 game_over: print at 25, "game over" : print at 44, "score = " : print <3> score : wait : if cont2.key = 12 then goto game_over else goto start' line 10 Here is a longer, more readable version (essentially the same program spread over more lines with some comments...) rem snake program rem copyright 2015 rem Catsfolly CONST bluex = (56 * + 1 CONST redx = (56 * + 2 CONST greenf = (38 * + 5 CONST backtab = $200 dim snake(180) ' snake data (offset from start of backtab for each snake piece start: cls ' clear the screen for i = 0 to 19 poke backtab+i,bluex ' draw the top border poke backtab + (20 * 11) + i,bluex ' draw the bottom border if i < 11 then poke backtab+(20 * i),bluex : poke backtab + 19 + (20 * i) , bluex ' top and bottom borders next i food = 0 ' food position. 0 means no food on screen score = 0 ' score rem init snake for i = 0 to 179 : snake(i) = 0 : next i ' clear offsets (probably not necessary…) snake(0) = 130 : snake(1) = 131 ' put first 2 segments in the center of the screen slen = 1 ' there are two segments, number 0 and 1 #sdir = 1 ' direction is "1" (add one to the current address to get to the next square) poke backtab + 130,redx ' draw the first two segments poke backtab + 131, redx loop: wait rem if there is no food then try a random number. If the random number < 240 and the location at backtab rem + the number is blank, then draw the food there and set food to the random number if food = 0 then food = RAND : if (food > 240) OR (peek(backtab + food) <> 0) then food = 0 else poke backtab+food,greenF rem set the direction variable based on the controls (uses exact directions, so probably unplayable with a rem real intelliision controller if cont1.left then #sdir = -1 else if cont1.right then #sdir = 1 else if cont1.up then #sdir = -20 else if cont1.down then #sdir = 20 if (frame AND $0f) <> 0 then goto loop ' slow down the action #adrs = snake(slen) + #sdir + backtab ' get the address of the next square for the snake if (peek(#adrs) AND $07f8) = (56 * then goto game_over ' if its an x, goto game over poke #adrs, redx ' put an x at the new square rem if the new square is where the food was, make the snake longer, set food to zero, and inc the score rem otherwise clear the first square of the snake, and shift the addresses down in the array if #adrs = (food + backtab) then slen = slen + 1 : snake(slen) = #adrs : food = 0 : score = score + 1 else poke backtab + snake(0),0 : for I = 0 to slen : snake(i) = snake(i+1) : next i : snake(slen) = #adrs goto loop game_over: print at 25, "game over" print at 44, "score = " print <3> score : wait if cont2.key = 12 then goto game_over else goto start The game checks for exact up, down, left, and right values on the controls, so it might be difficult to play on real hardware. Here are the files: snake.bas snake_readable.bas snake.rom How about you? Why not take a break from your mega-epic-kroztastic-supergame project, and write a game 10 lines of basic? Catsfolly
  22. I have been a pixel designer for about 10 years now and will guarantee to give your 2600 game the best graphics I possibly can. Any and all graphics in game I am willing to flesh out. Any serious offers can email me at [email protected] and we can talk further in depth. Thank you.
  23. Hi everyone, For various fun reasons, I am trying on an 800xl (in Altirra first) to create a GRAPHICS 8+16 kind of display list with a few extra rows - 208 total would be perfect. I'm not worried about either screen position, or VBI running out of time. Ideally, I would like to be able to then PLOT 319,207, (but poking into screen memory would be ok too) - but I've got something wrong before I get to that stage... My dodgy BASIC effort is attached - I'm moving RAMTOP to 112 first, calling GRAPHICS, and putting this DL into the top of page 6: 112,112,79,0,112 [two 8*blank lines instead of 3, then LMS to 112*256, with a graphics 8 (+15) line] 15 [* 99] - [99 graphics 8 lines. Hence, my total, 100 * 40 bytes, is less than 4k. 79, 0, 128 [Another graphics 8 with LMS, for the next chunk] 15 [* 99] - [another 99 graphics 8 lines - again, less than 4k.] 79, 0, 144 [And another graphics 8 LMS...] 15 [* 7] - 7 more graphics 8 lines makes 208 in total,. 65, 0, 6 [JUMP back to the start] I'm not quite sure what I'm getting in the end - probably about half a screen worth of GRAPHICS 8 that seems much higher than it should be, so I think I must be missing something fairly simple. Can anyone point me in the right direction? Learning display lists properly is probably about 30 years overdue... Thanks, Wes EDIT: Oh, there's a hideous and embarrassing typo - I've poked 561 twice, instead of 560 and 561... (groan) Let me fix that and see where things are! gr8big.lst
  24. Hey all, I'm sorry if this has been answered elsewhere but I'm a bit stumped: I'm using a simple inkey$ to jump out of DO LOOP which has the user press the <spacebar> when they are ready to move on and it works nicely, except for the fact I can't find a way to clear the keyboard buffer? If the user has stabbed away the keys earlier on then it whizzes through the stops quick-fast O_0. Back in BBC BASIC it was a *FX command to clear various buffers, including the keyboard, but I can't find a way in GFA? I've tried the CLEAR command, which didn't seem to do what I needed. Any ideas?
  25. Note: a new version is available over this post. Hi all As a new-year present, I released a new version of FastBasic. It's only a minor bugfix release from last one: - Fixes a bug with floating-point comparisons - Adds more usage information to the cross-compiler. - Fixes display corruption in the editor. - Allows comments after any statement. As always, the full source is over github, and you can download the release at https://github.com/dmsc/fastbasic/releases/full manual at https://github.com/dmsc/fastbasic/blob/master/manual.md and sample programs are included in the ATR or in the source at https://github.com/dmsc/fastbasic/tree/master/samples/int and https://github.com/dmsc/fastbasic/tree/master/samples/fp Over github I included the cross-compiler for Linux, Windows and macOS, but I only tested the Linux and Windows ones. For usage instructions of the cross-compiler, see at https://github.com/dmsc/fastbasic/blob/master/compiler/USAGE.md fastbasic-r2.atr
×
×
  • Create New...