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


  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Atari VCS
    • 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


There are no results to display.

There are no results to display.


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

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start










Custom Status



Currently Playing

Playing Next

Found 87 results

  1. Hi all! Finally I published the new FastBasic 4.5 release!! From the 4.5 beta, I added: - The "ADR()" function and the "&" operator now allow taking the address of a variable, so this code will print 123: " A = 1 : DPOKE &A, 123 : ? A ". - The "EXEC" statement can be abbreviated to a "@", this makes calling procedures more natural, this will also print 123: " PROC Test A : ? A : ENDPROC : @Test 123 " This in addition to the added features of the 4.5 beta: - Parameters for the PROC/EXEC, see the test-release docs, - Arbitrary characters in string constants by using the hex value, like: PRINT "Hello"$9B"World", - 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" After a lot of optimizations, I managed to keep the integer IDE at 8192 bytes and the floating-point IDE at 9457 bytes. EDIT: Current release is 4.5.2, adds a few bugfixes and minor optimizations, now the integer IDE is 8166 bytes. As always, you can download the ATR, the manual and the cross-compiler from github: https://github.com/dmsc/fastbasic/releases/ Have Fun!
  2. A while back I ported over my Mille Borne to AppleSoft BASIC on the Apple II line. I posted it on the Apple II section of Atariage for anyone who was more Apple II savvy to modify and the offer was accepted and a github improved version was created: https://github.com/micahcowan/a2millebornes/ Now I'm finally getting around to posting the new github v1.5. Some nice improvements were made such as inverse video to text based card game. v1.5 github posted below, enjoy. A2-mb15.dsk
  3. CyranoJ


    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. JagStudio 1.1 has been released! We are now feature complete with Raptor 2.0.20. If you already have JagStudio installed, then to upgrade; - Backup your existing JagStudio folder. - Extract the new zip. - Copy the new JagStudio folder over the top of your existing one. (Obviously this will undo any changes you might have made to the example projects, but you can always copy those from your bakup). Head on over to https://jagstudio.reboot-games.com for the download, online docs and details. 1.1 Change log; * Added Angle calculation and direction vector. See example BASIC project 'calcangle' * Added Collision List. See example BASIC project "collisionlist". * Added Z-Sorting for Sprites based on a sprite property. See example BASIC project "zsort". * Added New "fader" BASIC project. Example on how to do CLUT fades. * Added Clock functions. See new clocktest project (BASIC). * Added Raptor Sprite Shift. Eg. rapSpriteShift(xshift, yshift, sprBug1, 3) - See project "spriteshift" (BASIC). * Added Dynamic object scale - See project "shootbang" (BASIC). * Added Simplified version of zeroPlaySample. Now you just pass the start and end addresses - the length and rounding are worked out for you. Eg. zeroPlay(channel,start_address, end_address, frequency, params). * Added Simple way to stop sound on a channel when using Zero player. Rather than the old way of calling zeroPlaySample with 0's. Eg. zeroClearChannel(channel) * Updated All documentation with some further clarity and the new functions. * Fixed BCX Print generating a \n * Fixed Fix build.bat so it creates a <projectname>.s in the build folder for C projects. * Fixed Fix build.bat so it can send ABS files to the JagGD. * Fixed Fix comment in object template for scale max to 228. * Fixed xdivs, xdivu, xmuls, xmulu where sometimes they would use an address register and fail compilation. Have fun and happy coding!
  4. SupeReversion This is a Reversi game I got from some magazine a while back. It's probably one of the best looking Reversi games on any 8-bit computer with it's 3-D style board. I made some modifications such as changed how the pointer works, displays in several random colors, boots from Altirra disk and improved the game play a bit. To play press Option or Select to change player then Start key to start. There is a flashing square you move in 4 directions to the spot where you want to place your piece using the joystick. Press the joystick button to set then piece down. You can play human v. computer, human v. human and even computer v. computer. Enjoy SuperReverse-ALT.atr
  5. Here is the Star Trek game I posted in the very 1st post of this project blog. There it was a completion of several of the games I had posted as a kid to the TI99IUG. But it's such a neat little game I decided to make it it's own post. It's a real snap shot of the BASIC/XB program that was done back in the 80s. I made some minor updates but it's still essentially the same. It's a TI-BASIC program that was converted to TIXB. Some cleaver graphics and sound. Instructions included in the program. It self starts in XB. TREKXB.dsk
  6. Here is the Uno+ TI-99/4a Extended BASIC version of the Atari Microsoft BASIC Uno+ that was an updated Uno that had been ported from the original TI-99/4a in that had been created using the KXBII Extended BASIC programing package. Got that. Anyway, here is the game and a fun one it is. It has color, it has sound, it has speech, it plays a fairly fast game and includes several of the variations of Uno. You can also save your games parameters to disk so that you wont have to type them in each time. To Play: the bottom 4 lines are the letters for your cards marked by color; red, yellow, green and blue. last line is Spl which is the change color cards with C (change color) or F(play draw 4 change color). the types of cards beside the colors are 0-9 D=draw 2, S=skip and R=reverse. under Spl are C=change color and F=draw 4. when the human plays you choose SORT, PLAY and TAKE. SORT just sorts your cards. TAKE will take a card from the pile. PLAY will play 1 of your cards. in Play you type the card you want to play by following the prompts. the game plays a standard game of Uno except; Uno call is automatic and has 1 in 12 chance of 'forgetting to call a Uno penalty which is also automatic. The original version was the simple standard rules of the game. But the real fun of Uno is the various versions of the game that one can play. So I went back to program and added several of the additional game versions to spice up the game, and a little sound and speech too. There are six new versions of game play: 2S as pick 2? - this version has the 2 card as aTAKE 2 for ALL players. Play a 2 and all the other players will have to take 2 cards. 7S swap cards? - Play a 7 and you can swap your cards with any other player. Take till play? - when you have to take a card you must KEEP taking cards until you get to one that is playable. DRAW4 only? - you can't play a DRAW4 until it's the only card playable. Good Take must play? - When you TAKE a card, if that card is playable, you must play it. NOTE: If TAKE card is playable you get a beep then the game rolls you back to the SORT, PLAY, TAKE screen. The other 3 computer players play a very good game. I programed in that sometimes they will mess up, but not often. I found I win about 1 in 4 or 5 games, which is a good average. The game disk auto-boots a loader program which in turn boots the Uno+ game. Anyway, enjoy the game. unoplus.zip
  7. Hello Atari 8-bit fellows! In the 80s, it was not uncommon to find ZX Spectrum programs (etc, ...) on Flexidisc, cassette, radio broadcast, etc... However, I thought there was NOTHING for my Atari 800XL. Nothing until I read the latest issue of the French magazine "Canard PC Hardware" n°49, July-Aug 2021 (this mag is about the latest hardware for PC enthusiasts). It contains an article about programmes released on vinyl back then (in the 80s). And I discovered this LP by "Adolphson-Falk" called "Över Tid Och Rum" which contains (ONLY on the vinyl version, track is omitted on the CD) a track that is actually an Atari BASIC program. Link to the record: Adolphson-Falk - Över Tid Och Rum | Releases | Discogs Link to an article on the subject: Decoding the Adolphson-Falk data signal – Logic Applied knowledge base (I'm attaching the .CAS file) I would like to submit this information for inclusion in a future version of the FAQ, hence my question: Except for this disc, does anyone know of any other media (LP/MC/CD/etc...) that contains an audio track that is actually an Atari BASIC program (for 8-bit, obviously)? I hope you're okay if your findings are quoted in a forthcoming FAQ update... Thank you in advance for your contributions and comments, Kind regards, Laurent Adolphson-Falk - Över Tid Och Rum (atari basic on vinyl LP).cas
  8. updated my Awari game for the Color Computer. You can now choose the background color to standard green, inverse green and orange. Simple addition to a simple little fun game. AwariV2.zip
  9. Here is MilleBorne version 3 for the Tandy Color Computer. There is a some improvements from the one I posted to colorcomputerarchive.com (v2), such as redrawing the screen faster and some bug fixes. still use 51 column utility for a wider longer screen. It made the translation of the program from other computers much easier. RUN"MB" to play. MBV3A.zip
  10. I put together a description of implementing fine horizontal scrolling in BASIC with assembly code executed during the vertical blank. This is a pretty high-level description and is directed at those learning this for the first time. A simple demo is provided with BASIC code and assembly code explained. An ATR file is provided. Fine horizontal scrolling has a lot of moving parts and can be hard to understand for those who have not yet mastered it. I hope someone finds this take on it helpful. Comments welcome! Fine horizontal scrolling post from Atari Projects
  11. I recently acquired a TRS-80 PC-2 Pocket Computer and cassette interface in good shape and it appears to be functioning correctly. The LCD screen works well and it appears to switch modes from PRO to RUN correctly. The computer also has an 8k expansion card in it and when I type MEM it typically reports that there is 24576 memory free. I am new to this line of pocket computers and have a few questions that I cant seem to resolve. Like I mentioned, the computer was reporting around 24576 memory but now only says 0. I have removed the batteries, push the reset button etc. but it continues to show 0 for memory and I do not know how to correct this or if I am just unaware of what to do? Also, even when it was showing the higher amount of memory available, I would switch to PRO mode to key in BASIC commands but it never seems to retain them. I would key in the line numbers with simple commands such as 10 PRINT "A" and then I would hit enter which should have placed the line in memory but it does not. I switch to RUN mode and type RUN but nothing happens. In PRO mode I try to use LIST or the up and down arrows to see the line numbers but nothing shows. Just curious if anyone can shed some light on these issues or have experienced them. Any comments are greatly appreciated.
  12. 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!
  13. I have encountered some strange behavior while writing some Atari BASIC code. This little code snippet reads 34 bytes from Sector 1 of a disk and then prints them out. The code works under Altirra 3.90 as seen in the first picture but fails under A800WinPlus 4.x in the second picture. They are both trying to read the same disk but only one emulator is running at a time. I know someone out there will look at this and know exactly what the problem is but I cannot see it. Any ideas? det_sd.bas
  14. 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
  15. 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
  16. 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!
  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. 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
  19. 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
  20. 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!
  21. 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
  22. 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?
  23. 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
  24. 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.
  25. 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
  • Create New...