Jump to content

Search the Community

Showing results for tags 'raptor basic+'.

  • 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
    • Atari VCS
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
    • Atari Portfolio
  • Classic Consoles
    • Classic Console Discussion
    • ColecoVision / Adam
    • Intellivision / Aquarius
    • Bally Arcade/Astrocade
    • Odyssey 2 / Videopac
    • Vectrex
    • Nintendo Entertainment System (NES) / Famicom
    • Super Nintendo Entertainment System (SNES) / Super Famicom
    • Sega Genesis
    • 3DO Interactive Multiplayer
    • Dreamcast
    • SMS High Score Club
    • TG-16/PC Engine High Score Club
  • Classic Computing
    • Classic Computing Discussion
    • Apple II Computers
    • TI-99/4A Computers
    • Commodore 8-bit Computers
    • Commodore Amiga
    • Tandy Computers
  • Modern Consoles
    • Modern Gaming Discussion
    • Sony Playstation 5
    • Xbox Series S/X
    • Atari VCS (Redirect)
    • Nintendo Switch
    • Microsoft Xbox One
    • Sony PlayStation 4
    • Microsoft Xbox 360
    • Sony Playstation 3
    • Nintendo Wii / Wii U
  • Gaming General
    • Gaming General Discussion
    • Arcade and Pinball
    • Emulation
    • Hardware
    • Prototypes
    • Gaming Publications and Websites
    • International
  • Marketplace
    • Buy, Sell, and Trade
    • Auction Central
    • Wanted
    • Free Games and More
    • User Feedback Forum
  • Community
  • Community
    • Events
    • Show Us Your Collection!
    • Member Blogs
    • High Score Clubs
    • Poll Forum
    • Contests
    • User Groups
    • AtariAge News Discussion
    • User Submitted News
  • Game Programming
    • Homebrew Discussion
    • Programming
    • Hacks
  • Site
    • Announcements
    • Forum Questions and Answers
    • AtariAge Store Discussion
    • Site and Forum Feedback
    • Rarity Guide
    • Archived Forums
  • 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 General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's CDFJ+
  • 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 Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • Dirtarians's General Discussion
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Robin Gravel's new blog's The Flintstones Comic Strip
  • 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
  • Atari Video Club's Concerto Games
  • Atari Video Club's AVC Games
  • 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
  • The Homebrew Discussion's Topics
  • Hair Club for Men's Bald? BEGONE!
  • Alternate Reality's Topics
  • Board games, card and figure games's Topics
  • please delete's Topics
  • StellaRT's Topics

Blogs

  • BinaryGoddess' Blog
  • Albert's Blog
  • MegaManFan's Blog
  • Ed Siegler's Blog
  • FireTiger's Blog
  • Atari Rescue Group's Blog
  • EricBall's Tech Projects
  • liquid_sky's Blog
  • Cybernoid's Blog
  • Lost Blog
  • shep's Blog
  • Trey's Blog
  • Boo
  • Kepone's Blog
  • Beware of Kiwi
  • Fun in the beer mines
  • PacManPlus' Blog
  • Atari 8-bit Moria port
  • Tim's Blog
  • Mindfield's Chewy-Centered Blog
  • The Long Dark Teatime of the Soul
  • TP's Blog
  • Adam Sessler's Brutally Honest Blog
  • Shut Up and Play Yer Atari
  • None
  • Atarinvader's Blog
  • Atari 8-bit archiving
  • Brunobits' Blog
  • ATARIeric's Blog
  • wrenchien's Blog
  • Trade-N-Games' Blog
  • wapchimp's Blog
  • Shared Words
  • Bastard's Blog
  • homerwannabee's Blog
  • Haydn Jones' Blog
  • The World According To Yuppicide
  • How I did It
  • Buck's Blog
  • atwwong's Blog
  • 1
  • sandmountainslim's Blog
  • Atari Jaguar Projects + More
  • StanJr's Blog
  • Schmutzpuppe's Blog
  • Bullitt's Blog
  • panda_racer's Blog
  • Inky's Blog
  • Lauren's Place
  • DanBoris' Tech Blog
  • atariauctions' Blog
  • Planet Bob
  • CSIXTY4.com
  • Robin Gravel's Blog
  • lestergame
  • Duke 4ever's Blog
  • Atari Haiku Blog
  • An7ron
  • glitch's Blog
  • Coleco-Atari Era
  • Kenfused's Blog
  • Ralph3's Blog
  • nester's one star gaming
  • Halt and Catch Fire
  • lizard's Blog
  • Laner's Classic Gaming Blog
  • Page 6
  • keilbaca's rants
  • SirWilliam's Blog
  • Birdie3's blog
  • MattG/Snyper2099's Blog
  • madmjennifer's Blog
  • Ablogalypse Now
  • Endless Quest
  • Greenious' Blog
  • wookie's Blog
  • Justclaws' Blog
  • VTAtari's Blog
  • SID CROWE TESTING THE blog softwareeee
  • Dutchman2000's Blog
  • Famicoman's Blog
  • scogey's Blog
  • Retro Gaming Obscuria
  • atarifan49's Blog
  • Chronogamer
  • flavoredthunder's Blog
  • Shernand's Blog
  • Robert M's Blog
  • albaki's Blog
  • BTHOTU's Blog
  • Zach's Projects
  • BuzzTron-451's Blog
  • The Occasional Coder
  • Joystick Lunatic Software on AtariAge
  • Zander's Blog
  • The randomness that is Mr. 8-bit/16-bit.
  • bluetriforce's Blog
  • ubikuberalles' Blog
  • Worm Development Blog
  • Eight Bit's Blog
  • mos6507's Blog
  • phaxda's Blog
  • potatohead's Blog
  • Mountain King's Blog
  • The Southsider
  • The World is Flat?
  • brianwolters' Blog
  • Bidouille's Blog
  • Zybex/Atariware Blog
  • JagDiesel's Palace 2
  • Sega_master's Blog
  • Deep into the Mind Game
  • Bob's Blog
  • Rockin' Kat's Blog
  • Push Me, Pullman
  • (Insert stupid Blog name here)
  • dgob123's INTV Blog
  • Random Terrain's Tetraternarium
  • Odyssey Development Corner
  • Pacmaniax
  • GPD Comics Blog
  • sergiomario's Blog
  • prorobb's Blog
  • Days Atari Events
  • gamester1's Blog
  • Shannon's Blog
  • Mord's Blog
  • liquidcross.com - blog
  • MIPS HEAVY INDUSTRIES
  • MayDay Today
  • javiero's Blog
  • Great Exploitations
  • Monster Angriff's Blog
  • Draikar's Blog
  • Random Acts of Randomness
  • TROGBlog
  • hex65000's Blog
  • Being Of The Importance Of Shallow Musing.
  • daclmi's Blog
  • 2600 in 2006
  • Sayton's Blog
  • For whom it may concern
  • Osbo's Blog
  • ataridude81's Blog
  • Wiesbaden Gaming Lab
  • SpiceWare's Blog
  • The Upward Spiral
  • Web-Frickin'-Log
  • Starosti 8bitového grafika
  • WWW.BUYATARI.TK
  • commodore & atari :)'s Blog
  • Dusk2600's Blog
  • GAMEBOT
  • Lynx 20 years
  • Songbird Productions
  • SpaceInvader's Blog
  • Retro point of view
  • VampyricDreams666's Blog
  • le geek's nonsense
  • Hardcore's Nostalgia
  • 4old-times-sake's Blog
  • shadow460's Blog
  • AtariJr's Blog
  • Memoirs of an X register
  • maximebeauvais' Blog
  • atari2600land's Blog
  • .:maus:.
  • PAM1234's Blog
  • Nabuko's Den
  • Paranoid's Blog
  • Culmins Development's Blog
  • Atari Joe's Flippin' Sweet Blog
  • When Robots Attack
  • Flack's Daily Smack
  • Jboypacman's Blog
  • neonesmaster's Blog
  • Classic Stories
  • Bruce Tomlin's Blog
  • Beetle's Blog
  • 5-11under's Blog
  • EricDeLee's Blog
  • TunnelRunner's Blog
  • jaymz887's Blog
  • fojy-harakiri's Blog
  • Shroo-man's Blog
  • Ataria51's Blog
  • Mr. Pac-Man's Blog
  • JellE's Dwelling
  • Gaming With Rogmeister
  • Pengwin's Blog
  • neotokeo2001's Blog
  • Arcade's Blog
  • R. Jones' Blog
  • payman84ce's Blog
  • Awed Thoughts
  • super mario 64 level editor
  • Christos' Blog
  • atari_collector's Blog
  • imtron's Blog
  • My Vintage Game collection
  • classicgamingguy's Blog
  • HP Atari King of Michigan's Blog
  • Unknown arcade titles from Fighter17
  • Ain't got time for no Jibbajaba
  • Wickeycolumbus' Blog
  • Ramblings of a moron
  • HatNJ's Blog
  • BlogO
  • ELEKTROTECK
  • bf2k+'s Blog
  • ParaJVE's Blog
  • Cody Rushton's blog
  • It's my life!
  • Bakasama's Blog
  • Dennis V's Blog
  • RaRoss' Blog
  • Collecting Demos
  • Dave Neuman's Blog
  • Borntorun's Blog
  • warren798's Blog
  • Tweety's Blog
  • -^CB^-'s Game Reviews
  • seekingarobiejr's Blog
  • revival studios
  • bust3dstr8's Blog
  • Rom Hunter's Blog
  • Shark05's Blog
  • Lord Helmet's Blog
  • ryanez1's Blog
  • kit's Blog
  • Burma Rocks
  • Bubsy Bobcat Fan Blog
  • Habaki's Blog
  • Dan's Road to 2600 nirvana
  • wccw mark's Blog
  • Hornpipe2's Blog
  • Phantom's Blog
  • Piggles' Blog
  • Dino Dash Derby
  • games_player's Blog
  • 1982VideoGames' Blog
  • Cabbage Patch Kids! Lookin' Great!
  • Confessions of an Aging Gamer...
  • theking21083's Blog
  • retrogeek's Blog
  • Liveinabin's scribbles
  • Cimerians' Blog
  • CollectorVision Blog
  • Ransom's Random Posts
  • www.toyratt.com's Blog
  • RonPrice's Blog
  • s0c7's Blog
  • doyman's Blog
  • DJTekid's Blog
  • EG's code blog
  • kiwilove's Blog
  • 8 Bit Addiction
  • Playing With History
  • simonh's Blog
  • Zereox's Blog
  • Draconland
  • chris_lynx1989's Blog
  • Phuzzed's Blog
  • 7800 NZ's Blog
  • Gamera's Reviews: E.T Coming Soon!
  • Iwan´s Irrational!
  • seemo's Blog
  • The Eviscerator Series
  • Noelio's Blog
  • 480peeka's Blog
  • For Next
  • Take 'Em To The Woodshed
  • bankockor Blog
  • Kelp Entertainment
  • 2600 Fun Blogs
  • PinBlog
  • IHATETHEBEARS' BLOG
  • Atari Fan made Documentary
  • Flashjazzcat's Blog
  • THE 1 2 P's Demo/Import/Gaming Blog
  • STGuy1040's Blog
  • enyalives' Blog
  • Mirage1972's Blog
  • blogs_blog_286
  • The Word Of Ogma
  • GC's blog
  • nanobug's monument of geekiness
  • dogcorn's Blog
  • I Can't Think of a Catchy Title
  • please help and share story
  • ivop's Blog
  • what is the chicago basment
  • Cheat Blog
  • zeropolis79's Blog
  • My video game library
  • the.golden.ax's "Oh my Blog"
  • ValuGamer
  • wolfpackmommy's Blog
  • Z80GUY's Blog
  • jwierer's Blog
  • kroogur's Korner
  • Verbal Compost
  • Frizo's Collecting Adventure!
  • Old School Gamer Review
  • ...
  • Rybags' Blog
  • BDW's Blog
  • tweetmemory's Blog
  • toptenmaterial's Blog
  • grafix's Bit Mouse Playhouse
  • S1500's Blog
  • hackerb9's blog
  • EricBall's Tech Projects (PRIVATE)
  • MagitekAngel's Blog
  • I created this second blog on accident and now I can't figure out how to delete it.
  • keilbaca's Blog
  • TestBot4's Blog
  • Old School Gamer Review
  • The Mario Blog
  • GideonsDad's Blog
  • GideonsDad's Blog
  • GideonsDad's Blog
  • Horst's Blog
  • JIMPACK's Blog
  • Blogpocalypse
  • simonl's Blog
  • creeping insanity
  • Sonic R's Blog
  • CebusCapucinis' Blog
  • Syntax Terror Games
  • NCN's Blog
  • A Wandering Shadow's Travels
  • Arjak's Blog
  • 2600Lives' Blog
  • 2600Lives' Blog
  • Kiwi's Blog
  • Stephen's A8 Blog
  • Zero One
  • Troglodyte's Blog
  • Austin's Blog
  • Robert Hurst
  • This Is Reality Control
  • Animan's Blog Of Unusual Objectionalities
  • Devbinks' Blog
  • a1t3r3g0's Blog
  • The 7800 blog
  • 4Ks' Blog
  • carmel_andrews' Blog
  • iratanam's Blog
  • junkmail's RDE&P Blog
  • Lynxman's FlashCard Blog
  • JagMX's Blog
  • The Wreckening
  • roberto's Blog
  • Incagold's Blog
  • lost blog
  • kurtzzzz's Blog
  • Guitarman's Blog
  • Robert @ AtariAge
  • otaku's Blog
  • otaku's Blog
  • revolutionika's Blog
  • thund3r's Blog
  • edweird13's Blog
  • edweird13's Blog
  • That's what she said.
  • Hitachi's Blog
  • The (hopefully) weekly rant
  • Goochman's Marketplace Blog
  • Marc Oberhäuser's Blog
  • Masquane's AtariAge Blog
  • satan165's Dusty Video Game Museum
  • lazyhoboguy's Blog
  • Retail hell (The EB years)
  • Vectrexer's Blog
  • Game Maker to Game Dev
  • Retro Gaming Corporation
  • Hulsie's Blog
  • Tr3vor's Blog
  • Dryfter's Blog
  • Why Are You Even Reading This?
  • Xuel's Blog
  • GamingMagz
  • travelvietnam's Blog
  • pacmanplayer's Blog
  • TheLunarFox's Blog
  • caver's Blog
  • Atari 2600 for sale with 7 games 2 controllers
  • A Ramblin' Man
  • toiletunes' Blog
  • Justin Payne's Blog
  • ebot
  • Markvergeer's Blog
  • GEOMETRY WARS ATARI 2600
  • LEW2600's Blog
  • Pac-Man Vs Puck-Man's Blog
  • Bri's House
  • Les Frères Baudrand's Blog
  • Secure Your E-Commerce Business With ClickSSL.com
  • raskar42
  • The P3 Studio
  • Bydo's Blog
  • defender666's Blog
  • TheSSLstore - SSL certificates Validity
  • Chuplayer's Blog
  • pacman100000's Blog
  • POKEY experiments
  • JPjuice23's Blog
  • Gary Mc's Blog
  • arkade kid's Blog
  • MaXStaR's Blog
  • SUB HUNTER in A8
  • ScumSoft's Blog
  • The Social Gamer
  • Ping. Pong. Ping. Pong.
  • kgenthe's Blog
  • mapleleaves' Blog
  • Dallas' Blog
  • bfg.gamepassion's Blog
  • Esplonky's Blog
  • Fashion Jewellery's Blog
  • Gabriel's Blog
  • CJ's Ramblings
  • Dastari Creel's Blog
  • dobidy's Blog
  • dragging through the retro streets at dawn
  • Please Delete - Created by Accident
  • Nerdbloggers
  • Algus' Blog
  • Jadedrakerider
  • Appliciousblog.com
  • frederick's Blog
  • longleg's Blog
  • Brain droppings...
  • Sandra's blog
  • Bastelbutze
  • polo
  • VectorGamer's Blog
  • Maybe its a Terrible Tragedy
  • Guru Meditation
  • - - - - - -
  • The 12 Turn Program: Board Game Addiction and You
  • Tezz's projects blog
  • chonglily's Blog
  • masseo1's Blog
  • DCUltrapro's Blog
  • Disjaukifa's Blog
  • Vic George 2K3's Blog
  • Whoopdeedoo
  • ge.twik's Blog
  • DJT's High Score Blog [Test]
  • Disjaukifa's Assembly Blog
  • GonzoGamer's Blog
  • MartinP's Blog
  • marshaz's Blog
  • Pandora Jewelry's Blog
  • Blues76's Blog
  • Adam24's AtariAge Blog!
  • w1k's Blog
  • 8-bit-dreams' Blog
  • Computer Help
  • Chris++'s Blog
  • an atari story
  • JDRose
  • raz0red's Blog
  • The Forth Files
  • The Forth Files
  • A.L.L.'s Blog
  • Frankodragon's Blog Stuffs
  • Partyhaus
  • kankan313rd's Blog
  • n8littlefield's Blog
  • joshuawins99's Blog
  • ¡Viva Atari!
  • FujiSkunk's Blog
  • The hunt for the PAL Heavy Sixer
  • Liduario's Blog
  • kakpu's Blog
  • HSC Experience
  • people to fix atari Blog
  • Gronka's Blog
  • Joey Z's Atari Projects
  • cncfreak's Blog
  • Ariana585's Blog
  • 8BitBites.com
  • BrutallyHonestGamer's Blog
  • falcon_'s Blog
  • lushgirl_80's Blog
  • Lynx Links
  • bomberpunk's Blog
  • CorBlog
  • My Ideas/Rants
  • quetch's Blog
  • jamvans game hunting blog
  • CannibalCat's Blog
  • jakeLearns' Blog
  • DSC927's Blog
  • jetset's Blog
  • wibblebibble's Basic Blog
  • retrovideogamecollector's Blog
  • Sonny Rae's Blog
  • The Golden Age Arcade Historian
  • dianefox's Blog
  • DOMnation's Blog
  • segagamer99's Blog
  • RickR's Blog
  • craftsmanMIKE's Blog
  • gorf68's Blog
  • Gnuberubs Sojourn Dev Journal
  • B
  • iesposta's Blog
  • Cool 'n' Crispy: The Blog of Iceberg_Lettuce
  • ahuffman's Blog
  • Bergum's Thoughts Blog
  • marminer's Blog
  • BubsyFan101 n CO's Pile Of Game Picks
  • I like to rant.
  • Cleaning up my 2600
  • AnimaInCorpore's Blog
  • Space Centurion's Blog
  • Coleco Pacman Simulator (CPMS)
  • ianoid's Blog
  • HLO projects
  • Retro Junky Garage
  • Sega Genesis/Mega Drive High Score Club
  • Prixel Derp
  • HuckleCat's Blog
  • AtariVCS101's Blog
  • Tales from the Game Room's Blog
  • VVHQ
  • Antichambre's Blog
  • REMOVED BY LAW AUTHORITY
  • Synthpop Universe
  • Atari 5200 Joystick Controllers
  • Top 10 Atari 2600 Games
  • Is Atari Still Cool?
  • Buying Atari on Ebay
  • matosimi's Blog
  • GadgetUK's Blog
  • The StarrLab
  • Scooter83 aka Atari 8 Bit Game Hunters' Blog
  • Buddpaul's Blog
  • TheGameCollector's Blog
  • Gamming
  • Centurion's Blog
  • GunsRs7's Blog
  • DPYushira's Entertainment Blog
  • JHL's Blog
  • Intellivision Pierce's Blog
  • Manoau2002 Game and Vinyl Blog
  • Diamond in the Rough
  • Linky's Blog
  • flashno1's Blog
  • Atari 2600 Lab
  • jennyjames' Blog
  • scrottie's Blog
  • Draven1087's Blog
  • Omegamatrix's Blog
  • MegaData Manifesto
  • Selling Atari on Ebay.
  • Unfinished Bitness
  • TI-99/4A Stuff
  • eshu's blog
  • LaXDragon's Blog
  • GozAtari8
  • Bio's Blog of Randomness
  • Out of the Pack
  • Paul Lay's Blog
  • Make Atari 2600 games w/o programming!
  • Rudy's Blog
  • kenjennings' Blog
  • The Game Pit
  • PShunny's Blog
  • Ezeray's Blog
  • Atari 2600 game maps
  • Crazy Climber Metal
  • Keith Makes Games
  • A virtual waste of virtual space
  • TheHoboInYourRoom's Blog
  • Msp Cheats Tips And Techniques To Create You A Better Gamer
  • Tursi's Blog
  • F#READY's Blog
  • bow830
  • Gernots A500 game reviews
  • Byte's Blog
  • The Atari Strikes Back
  • no code, only games now
  • wongojack's Blog
  • Lost Dragon's Blog
  • Musings of the White Lion
  • The Usotsuki Crunch
  • Gunstar's Blogs
  • Lesles12's Blog
  • Atari Randomness
  • OLD CS1's Blog
  • waterMELONE's Blog
  • Flickertail's Blog
  • Dexter's Laboratory Blog
  • ATASCI's Blog
  • ATASCI's Blog
  • --- Ω ---'s Blog
  • mourifay's Blog
  • Zsuttle's gaming adventures
  • Doctor Clu's Space Shows
  • TWO PRINTERS ONE ADAM
  • Atari Jaguar Game Mascots
  • Learning fbForth 2.0
  • splendidnut's Blog
  • The Atari Jaguar Game by Game Podcast
  • Syzygy's Story Blog
  • Atarian Video Game Reviews
  • Caféman's Blog
  • IainGrimm's Blog
  • player1"NOT"ready's Blog
  • Alexandru George's Blog
  • BraggProductions' Blog
  • XDK.development present Microsoft Xbox One Development
  • Song I Wake Up To
  • Jeffrey.Shamblin's Blog
  • Important people who shaped the TI 99/4A World
  • My blog of stuff and things
  • David Vella's Blog
  • Osgeld's Blog
  • CyranoJ's ST Ports
  • InnovaX5's Blog
  • Star_Wars_Collector
  • Alp's Art Blog
  • Excali-blog
  • STGraves' Blog
  • Retro VGS Coleco Chameleon Timeline
  • Geoff Retro Gamer
  • Geoff1980's Blog
  • Coleco Mini
  • Coleco Mini
  • 7399MGM's Blog
  • 7399MGM's Blog
  • doubledragon77's Blog
  • Ballblogɀer
  • pitfallharry95's Blog
  • BawesomeBurf's Blog
  • Fultonbot's Atari Blog
  • Dmitry's Blog
  • Kaug Neatos Crash Bandicoot Bandwagon
  • lexmar482's Blog
  • vegathechosen's Blog
  • Atari 2600JS
  • Doctor Clu's Dissertations
  • schmitzi's Blog
  • BNE Jeff's Blog
  • AverageSoftware's Development Blog
  • FireBlaze's Blog
  • Atarimuseum.nl
  • Vorticon's Blog
  • TurkVanGogH GameZ's Blog
  • bow830's Blog
  • Arcade Attack - Retro Gaming Blog
  • MrRetroGamer's Blog
  • GG's Game Dev, Homebrew Review, Etc. Log
  • dazza's arcade machine games
  • Alcor450's Blog
  • The Outback
  • -^CroSBow^-'s Hardware Videos
  • Captain's Blog
  • Memoirs of a Novelty Account
  • newcoleco's Random Blog
  • Second-Hand Shop
  • Doctor Clu's BBS Trotter
  • Lunar eclipse of the mind
  • simon2014's Blog
  • PhilipTheWhovian's Blog
  • Troff the Shelf
  • jacobus Indev
  • Pac & Pal for the Atari 2600 fan project
  • drawscreen then reset
  • Retrogaming Ramblings
  • G-type's Blog
  • Blog o' Buttons
  • DarQ Massacres' Atari 2600 collection
  • FireStarW's Blog
  • Bobbety_F's Blog
  • Rose-Tinted Recollections
  • Young Guy Experiencing Atari
  • Gray Defender's Blog
  • atasciiview
  • 2600 games worse then E.t
  • ZippyRedPlumber's Blog
  • game_escape's Blog
  • Jackel192's Blog
  • The UAV Blog
  • MykGerard
  • OS9Dude's Blog
  • FPGA video game console
  • darryl1970's Blog
  • Funkmaster V's Gettin' Hip with tha Atari 7800
  • AtariMI1978's Blog
  • AtariMI1978's Blog
  • vidak's Blog
  • 8-bit Computer System Colors in Food Coloring
  • WebSiteRing
  • The Best Assembly Computer
  • As time goes by ...
  • Atari 2600 Collection Bulk Box/ Cartridge Sale
  • T.R.A.S.H Blog
  • goodlasers' Blog
  • GauntletKing2878's Blog
  • My Inner Geek
  • A Raccoon's Retrocade Romp - AA Edition
  • homeboy's Blog
  • ThatAtomCat's Blog
  • Hawk's Blog
  • Bryan's Random Stuff
  • Developing Atari Programs on the Atari 800
  • Eltigro's Blog
  • Memories Limited to 640KB
  • my journey to completing the entire Atari libaray
  • Roblox
  • Question for Homebrew publishers
  • zilog_z80a's Blog
  • Return of the Bobcat
  • deepthaw's Blog
  • Little bit of this and little bit of that
  • Shannon's Blog
  • DoctorSpuds Reviews Things
  • Atari Portfolio Page On Facebook
  • azure's Blog
  • The Atari Kid
  • Alien Isolation Blog
  • Atari_Ace's Blog
  • AtariAdventure's Blog
  • AtariCrypt
  • acsabo's Blog
  • Bioshock Text adventure
  • AtariAdventure Reviews
  • Infinite Warfare Specialist
  • Karl's Blog
  • Bjorkinator's Babbles
  • DZ-Jay's Random Blog
  • CX40Hero's Blog
  • Heroes & Shadows Dev Blog
  • Empty
  • GoldLeader's Blog
  • Adventures in CC65
  • CS2X C# on Atari
  • pboland's Blog
  • Matts's Blog
  • orrko8791's Blog
  • orrko8791's Blog
  • Revontuli's Blog
  • Not Steve's Blog
  • Not Steve's Blog
  • SPACE ROANOKE
  • My life
  • skycop's Blog
  • cessnaace's Blog
  • Omegasupreme's Blog
  • Atari 2600 A/V Mods Wiki
  • Mike Harris' Blog
  • Skwrl63's Blog
  • sometimes99er
  • Mallard Games Development Blog
  • Regaining an Obsession
  • Psi-5
  • The Atari Journals
  • Herovania
  • TBA
  • Bluejay Records Co.
  • Running On Fumes
  • Mozartkügel's Midnight Retro Development
  • Alcadon
  • baktra
  • Flojomojo's Simple Mind
  • MarkO
  • Lazydead's Loose Ends
  • OldSchoolRetroGamer's Bloggy Nonsense
  • Magmavision After Dark
  • My Homebrew Devlog
  • BUBSY Blogs [blank]
  • Too young for Atari, too old for XBox
  • KC-ACE Blog
  • Brown Altitude Bar
  • Bubsy TV Pilot Wiki
  • Poltergeist
  • Projektstunde
  • bluejay's corner of random shit
  • SpornyKun
  • alex_79's Blog
  • Atari Label Reproduction/ Relabeling
  • Ephemeral
  • My opinion and story about Atari 2600
  • Sony PlayStation 5/PS5™ Development Kit (Dev Kit) for SALE
  • Delete
  • Superkitten
  • Doublediwn
  • Reindeer Flotilla
  • Intellivision hacks (.cfg files)
  • My Experience Learning 68k Assembly
  • My Atari Projects
  • Writing is hard
  • My Atari 2600 Collection
  • Jodi C. Kirby's blog
  • Power outage a few days ago
  • Sony PlayStation 5/PS5™ Development Kit (Dev Kit) for SALE
  • xNeoGeo1982Blogx
  • The Ivory Tower Collections 7800s
  • Incognito Atari 800 step by step pictorial install tutorial/guide including ATR swap button mod
  • Cree's Stories
  • Testing
  • NeonPeon's (Mark W's) Adventures in programming for Vectrex
  • Stories from the -: ITC :-
  • Gameboy & dress up games
  • BRP's random dev journaling
  • My PC-Engine/TurboGrafx-16 Projects
  • Ivory Tower Technical Notes
  • Programming a game..
  • Games People Play
  • Atari 8-bit Memories, Ideas, and Active Projects
  • WEATHER REPORT
  • Biff's Blasts
  • Programming Journey
  • CREE BENNET DOESN'T CARE
  • Mark W Plays Old Games on a Thursday
  • 35 Years, 9 Months and 16 Days in the Life Of...
  • IntellivisionRevolution's Blog
  • Atari BBS Gurus's News
  • On Duty's Blog
  • The official Robin Gravel's club's Archive
  • Bowling's Blog
  • Lawnmover's Blog
  • Null's null
  • Null's Blog
  • KC-ACE Reboot's KC-ACE Reboot Blog
  • Wizzy's Concept and Theme
  • Wizzy's Form
  • Wizzy's Moodboard
  • Wizzy's Space
  • Wizzy's Magical objects
  • Wizzy's Progress
  • Wizzy's At home
  • Wizzy's Halloween
  • Wizzy's Equipping
  • Wizzy's Mentor
  • Wizzy's World
  • Wizzy's Trials
  • Wizzy's Characters
  • Alternate Reality's Blog

Calendars

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

Product Groups

  • Subscriptions

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 6 results

  1. Hi guys, I decided to show what I have made so far with JagStudio. Inside the .zip file, I have included a title screen demo, and a shooter demo. I am also working on platformer and overhead demos as well. Pardon the lack of actual screenshots, but I don't know how to take them in Virtual Jaguar. My JagStudio Demos 4-21-2021.zip
  2. I've been meaning to make such a post for quite a while now but I always either put it off or thought it'd be too much work. Whatever the reasons, it simply never got done. So I thought I'd try to make an effort towards it and enrich it if people still have questions or some steps are missing/confusing. Don't forget to click on the pictures to show them full size. Windows guide Step 1: obtaining rb+ Even from the start there are multiple choices: you can either download the latest version from github or bitbucket, or download the latest installer. The difference between the installer version and latest is that the installer is generally lagging in features but is more stable and as bug free as possible. I'll cover the latest version for now and the installer at a later point. If you're proficient with git you can always clone the repository instead of downloading it, so keeping up to date will simply require a pull/merge action (also it's much faster to do pull/merges than downloading the archive from scratch every time just to update a few files, as is usually the case when updates are pushed). Otherwise, go to your favorite site: github or bitbucket. For github just press the "clone or download" button and "download zip" at the pop up. Save the zip file. Once the download is done, you can unzip the file pretty much wherever you like (and have permission to). You'll then have a lot of files inside a folder called "bcx-basic-jaguar". You can rename that folder too of course. Step 2: first steps You're now ready to start using the Basic! Open a Windows command prompt, cd to the location you unzipped the folder (for example type "cd c:\rb+" if you unzipped to c:\ and renamed the folder to rb+) and build a sample project by typing "build nyandodge". The project should build and virtualjaguar should appear on screen with the game running: [EDIT] If you're running 32bit Windows, you'll need to replace virtualjaguar.exe (inside the "bin" folder) with a 32bit version, latest releases are here. Thanks to neo for the heads up! (for what it's worth, I'm not using Windows command prompt, but instead I've switched to using cmder which is a reskinned ConEmu with some added stuff - so many choices again! Again, it's not mandatory to use conemu/cmder, simple cmd.exe will do the trick.) If you want to create a new project just go to the console again and type "build <myproject> new", replacing <myproject> with the name of your project (no spaces in the name please!). Building the project should give you something like this: Now you can navigate to the "projects" folder, open the folder that matches the name of your project, open <myproject>.bas and start editing the file! Keep the console open so you can rebuild the project every time you wish so. Step 3: streamlining If you stopped reading the guide on step 2 and started trying things out you'll soon realise that it switching between editor and console to edit and build can become tedious. So let's make this less painful! (note that all these steps are not mandatory, you can configure your own environment as it suits you if you think this is clunky). First of all, go and download Notepad++. It's free, open source (not that we care much!) and it's got a lot of neat features built in. After installing and running it, it's time to customise it. Open the plugin manager from the menu: Go to the "installed" tab and check if "NppExec" plugin is installed. If not, go to "Available" tab, find the plugin and install it. [EDIT] There are high chances you won't be able to see an available plugins list, and NppExec won't be available to you. If this happens then read neo's post and download the plugins manually. Let's add some syntax highlighting. Enable "Visual Basic" from the Language menu. It's not 100% matching the syntax of rb+ but it's good enough! [EDIT] Alternatively you can use OMF's syntax highlighting efforts. To install (thanks to Gemintronic for the test and guide): In Notepad++ go to "Define your language..." and use the [ Import ] button on the .xml file omf made In the "User Defined Language" window select Reboot Basic Plus and SAVE AS the language. I called it "rB+" Now in the languages menu drop down list you'll see "rB+". Select that like it's hot. Now, let's add the magic bits! Bring up the "execute" dialog from plugins->nppexec->execute menu or hit f6. Add the following 3 lines to the command prompt: npp_save CD $(CURRENT_DIRECTORY)\..\.. build.bat $(NAME_PART) This will save the current opened file, go to the rb+ top directory and build the code. A small window will also pop up at the bottom of the notepad++ window, informing you of the build process. So you can catch any errors or warnings there. After the first time you do this you should be able to hit ctrl-f6 to build instantly without having to open the dialog box again! Success! Finally, if you want to change the shortcut keys, go to the shortcut mapper dialog: Then click on "plugin commands" tab, scroll down till you find "execute" and "direct execute previous", click those, then "modify", then choose your favorite key or key combo (personally I use F7 for direct execute previous and never bother with execute). Done! Addendum 1: vim setup Well, you can't just hate something that originates from the Atari ST, can you? (if you don't believe me, just check out wikipedia) Love it or hate it vim is one of the most used editors on the planet, but there's so many extensions and "cool" stuff you can do with it that it bewilders a lot of people. Still, if you can stick to learning 10-15 shortcuts and tricks that's all you're going to need in your lifetime. So let me show you how you can build rb+ stuff with it like we do with Notepad++. First of all, vim auto detects the file syntax from the extension, so we were lucky to use the .bas extension! It uses some flavour of basic which is "good enough" for our purposes. However if anyone wants to try customising the syntax highlight - good luck and please share the results with the rest of us! Here's how it looks on my machine: Now vim being an old dinosaur does actually have support for compilation from the editor and opening a window with any errors and jumping into them. We just have to ask it politely! So open your vimrc file (this can be in various locations, on linux it should be ~/.vimrc, on Windows it's usually on c:\users\<username>\_vimrc) and add the following: """""""""""""""""""""""""""""""" " Lifted from https://hero.handmade.network/forums/code-discussion/t/709/p/4135 and hacked around a bit by ggn " Ensure the buffer for building code opens in a new view set switchbuf=useopen,split comp gcc " Build helper function function! DoBuildBatchFile() " build.bat set makeprg=build " Make sure the output doesnt interfere with anything " (ggn): the ! is needed so copen won't open a window with the first " warning/error silent make! " Open the output buffer "copen cwindow echo 'Build Complete' endfunction "Go to next error nnoremap <F6> :cn<CR> "Go to previous error nnoremap <F5> :cp<CR> " Set F7 to build. nnoremap <F7> :call DoBuildBatchFile()<CR> """""""""""""""""""""""""""""""" So what does that do? Firstly it defines some mumbo jumbo vimscript function to tell it to execute a file called build.bat - this should be on the same directory vim was run from, so typically the directory your .bas file exists. Then it maps key F7 to do run build.bat and if any errors occur, open a window to show them. (that window can be opened using :copen regardless). In the case of errors, F5 and F6 will jump to the previous and next site of error. Beware though, this will jump at the translated .c file, not our .bas file! So there might be some initial confusion about this at first but it is usuable with a bit of practice . Before trying this out though you also need to create a build.bat file. Here's what I use: cd ..\..\ call build myproject And that's it. Of course you can extend this to have multiple build.bat files and map different keys to run them - for example you might want a clean build, or build+send to skunkboard, or just build (BOSSMODE). Addendum 2: 4coder setup 4coder is an up-and coming editor developed by a single person (Allen Webster). While it's focused on C/C++ so far it has been my main editor for a few months now. I quite like the smooth scrolling, quite sensible defaults, and keybindings, although learning to select/copy/paste can be bewildering at first! Also it's commercial with a demo version free to try which is currently what I use. It still has a few nuiances which I've pointed out to the author and it's nice to see they'll get addressed so I'll quite possibly buy this soon. Anyway, it turns out it's quite easy to use with rb+. There's no syntax highlight for it yet (although it really doesn't bother me) but you can automate your builds easily. It turns out that the editor actually has a built-in shortcut to call a "build.bat" as the author is a fan of this method! So simply use the sample build.bat I mentioned above in the vim section and hit alt-m. That's it! Done! That's the end of the guide for now. If things are missing or are still not clear, leave a comment below and I'll address and update this post when possible.
  3. Raptor Basic+ is 1 year old today! And to celebrate its birthday, we thought we'd make a small retrospective with past, present and future products made using it. But first... Premise It was a no brainer. After releasing Raptor, our bare metal library that handles jaguar objects, we realised that it would be much better if we provided people with more ways to interface with it than just plain assembly (actually we knew about this way before the release but for various reasons it never materialised). After a couple of iterations with playing with Pascal and ehbasic (which we got up and running and named it Raptor Basic) we ended up trying BCX Basic. This looked much more promising! After 12 days of intense hackery (read more about it here) we got it up and running and just in time for Christmas! Anyway, enough blabla, let's quickly move on to... Projects This is not an exhaustive list, but tries more or less to be in chronological order. Doger Binary: doger.abs Oh look, it's a game! And it stars Doge! Awwww! Started as a tutorial game that's essentially frogger with doge as the main sprite, this is actually very fun to play! I've showcased it at a few parties and people would not leave the joypad until they finished the game. I think that's a very good indication that something good is happening there! Yeah yeah, tutorial schmutorial - this is fun! Doesn't this just screams of fun to you? Cloudy with a chance of metaballs Pouet link: http://www.pouet.net/prod.php?which=65610 Youtube: This is a demoscene production which ranked #1 at Outline 2015, where we entered it in the wild compo. 6 differnt productions were entered and about 110 people cast their votes, so it wasn't just ourselves voting - thanks to the people at the party! This is probably the first release that showed the potential of rb+, giving Raptor and the hardware a run for its money! How the stars look after a few beers (no, not really) Foxy lady! That's the hardware jumping for joy for running rb+ code! The classic interference effect from early 90s demos that stressed the contemporary hardware back then, done with a few lines of basic code (instead of tens of hundreds of assembly)! The Atari ST used up all available CPU time to to do plasma effects. The amiga needed a separate coprocessor. The jaguar? 10 lines of code again . Xor patterns? Impossibru! Metablobs. Needed tons of precalculation and very clever code. And then only about 3-4 of them could be displayed on screen. On the Jaguar? Again a few tens of lines of Basic code! This screen probably sets the record for most metaballs at 50/60fps on the Jaguar! [ And, to rub salt in the wounds, here's some grilles! A few dots and a wobbly background next. The real genius behind the demo: a doge wearing a tie! The end. Thank you, drive through. Particle playtime Grab the jagpad, press all the buttons, create psychedelic animations with particles! Binary: particles.abs Astro Storm A challenger appears! Out of seemingly nowhere Sporadic comes into the spotlight and lands this neat and polished game! You can check out its development here from its modest beginnings till the final version. Reboot salutes you, Rik! Download final here: http://atariage.com/forums/topic/247085-astro-storm-new-game-release/ A good production has to have a nice boot screen, right? Sporadic scores 10/10 on this! In-game shot. Just point at the rocks and blast them to outer space. Watch out for big alien ships attacking with different patterns! After 2 screens of rocks are cleared, you are transported to a first person flight sequence where you have to fly into the green zooming boxes and avoid the meterorites (like the one on the screenshot! Bank, you idiot!) Raycaster It's Doom on Basic!!11111onoeneenoneoneone Well, it's a raycaster engine. And it's dog slow. But that's really just a proof of concept with very unoptimised code and mathematics. Written by Sporadic again just for fun. I thought I'd leave this here! Binary: raycaster.abs μfly SH3 strikes back with another old favorite... Superfly DX! ...only it's not like that at all. The movement curve is totally different, the objects are aligned so they are a bit 3D, the scoring mechanism is different.... and everything's micro! It's still not complete but it's quite close. Binary and dedicated thread: http://atariage.com/forums/topic/241958-μfly-new-jaguar-game-release/ Check your screen's aspect ratio before playing the game - another free service by Reboot! RRRRRRRRRRRRRR That scroller definitely looks familiar! Watch out mr fly, an obstacle is almost upon you! Boingy uppy Around the time SH3 was making ufly I pointed him to an animated gif from the Intellivision forum that showed a simple jumping game (forgive me, but I can't find it to link it here). One thing led to another and SH3 ended up dusting off the old tool I wrote to create the backgrounds for Downfall Falcon and make this small experiment that got nowhere for the time being. Inspiration wanted for this! Youtube: Boioioioioing! Bexagon Complete role reversal! SH3 wrote the code and I made the graphics! As an idea it started from a Game&Watch demake of Super Hexagon SH3 noticed on my very low-key review blog (http://dbug.kicks-ass.net/RebootReviews/), it took life of its own after 1-2 hours! I'm sure this doesn't need introductions - it already looks spectacular (and I don't mind me saying this!) and plays great! I'm really excited about this and I can't wait till it's finished to be honest! Did I mention that Terry Cavanagh (the original creator of Super Hexagon) liked the video of the game? Youtube: Youtube: Kaboom Completely out of the blue Omf lands this learning exercise of his - a port of the classic 2600 game with the same name. Keep at it! Dedicated thread and downloads: http://atariage.com/forums/topic/243746-wip-kaboom/ The title screen. Press the button, You know you want to ! And the main playfield screen. You know what you have to do so get going! I can't believe it's not Outrun (working title - obviously!) Sporadic has been busy again! What started as a very low FPS thing that looked like this: got gradually pimped, drove the development of the language, and became this: Quite an improvement I'd say! Sporadic still plugs away at this so it's still an early WIP but it really looks promising. Go Rik! Game progress, downloads and discussion thread: http://atariage.com/forums/topic/247091-wip-not-outrun/ Christmas present! To celebrate rb+'s birthday, we thought it would be fitting if a new version was released. So here it is! v1.3 is ready for download on Github and Bitbucket. Grab the updated package and enjoy! 42 improvements and bug fixes have been committed since v1.2 - that's a good sign, right? . Also, we have a brand new demo released today! Sommarhack 2016 invite intro Dedicated thread and download: http://atariage.com/forums/topic/247113-new-release-sommarhack-invitro-wiggle/ Using the same set of commands introduced to help Sporadic accelerate his racing game, and after 5 minutes of me explaining how twister/rubber cube effects work, SH3 went and did this little invite intro for the Sommarhack party in Sweden! Thanks! It's been a year full of pleasant surprises. People stepping up and trying the language, asking questions, making suggestions, influencing the language, pressing for more functionality, making tools. Quite honestly this was totally beyond our expectations - quite frankly we didn't expect that anyone would pick this up. Not a lot of people did of course but I'd like to thank everyone for sticking with it and creating fun stuff. You make all the work put toward this language worthwhile! Here's to many more years of creativity! The future We are far from being done with this. Both the language and the Raptor API are in constant development and will continue to be as long as we can find the time and people ask for new features. There will be a Raptor update soon, so keep a look out for that!
  4. Willemsoord, The Netherlands, May 14th - 17th. Outline demo party \o/. Reboot was there and submitted a demo for the competitions. It competed in the "realtime wild demo" category, which means was against various other productions in diverse platforms. Our demo managed to rank first! Anyway, enough text, download the .ROM file . Note: it needs 60hz display so only pal60 or ntsc. Also make sure that if your emulator actually runs at 60fps or the syncing will be quite off - in our experience if virtualjaguar reports 62.something fps then the result will be wrong. Also you can visit the pouet and demozoo pages if you like. Finally, for the really lazy people (i.e. 99% of everyone ) here's a youtube video that has a capture from the real machine (try 720 or 1080p for 60fps, chrome or firefox should work): Hope you enjoy our modest contribution that was made in Raptor Basic+ by sh3!.
  5. A couple of days ago I had a question from someone who is getting to grips with Rator Basic+: "how can I write a text scroller?". I tried to explain the method of how to do it and he seemed to understand the principle but was a bit scared to code it (or shy. Or lazy perhaps? ). So I decided to give it a shot myself. After making it work I thought "hey, why don't I break down the listing and the method and explain it to all so people might pick up a few ideas?". And so I did! A few starting words For those who are jumping in now, let me state that Raptor is a library that acts like an abstraction layer between the hardware and your code. That is, instead of writing a few hundred lines of code, this is encapsulated into a library that can be called externally to do anything that has to do with the hardware. And that's what Raptor Basic+ acutally does. Internally the Basic itself is hardware agnostic, i.e. it calculates stuff and does loops etc, but the hardware could be firing the nuclear missiles for all it cares, it'll still sit there and flip the bits around and be happy by itself. Only a small part of the Basic acts as a liaison between itself and Raptor, which in turns acts as a liaison between itself and the hardware. So in the end we're accessing the hardware without lifting a finger! In any case, the Jaguar hardware is exceptionally good at shoving lots of rectangular areas onto the screen. These can be almost any size, can have a number of colours, can be on different coordinates, etc. Now let's think of a text scroller. Isn't it essentially letters (i.e. glyphs) juxtaposed in a sequence that forms the message we want to display? So what if we had a picture with all the glyphs and told the hardware to display some objects on screen that take a rectangular part of that picture? (forum software doesn't allow me to link images here for some reason. Please scroll to the bottom of the post and see the attached picture for a view of the font, then come back!) Wouldn't that show our message? And if we moved them to the left and make new objects appear as the leftmost scrolls out of existance? Wouldn't that actually constitute a scroller? (I hope you answered "yes" to that ) So that's what we do in a nutshell. I'll now present the end code in small pieces and explain what happens. Also a small tutorial on how to actually use RB+ to create a project, etc. The horror (i.e. details) Project creation First of all, let's create a blank project. This can be done by copying the files from the "template" folder somewhere and renaming that folder, or dropping to console and typing "build create project scroller". This will do everything necessary. To verify, type "build scroller". If all goes well, then you'll get a virtual jaguar session and the text " RAPTOR BASIC+ v0.1 - REBOOT ", " Derived from BCX BASIC v6 " - hooray, it builds. We're ossom! Object creation First of all, let's import the font so Raptor and basic can access it! We open assets.txt, and after reading the helpful message, we conclude that we must add this line to the file: ABS,font,gfx_clut16,ASSETS\GFX\vert32x32.bmpAs explained above, the idea is to have several objects floating about the screen. Raptor allows multiple object creation, so let's dive right in! Firstly we need to determine a few basic characteristics of the objects. The font we use above is 32x32 and it's stored inside a 16 bit bmp. If we open rapinit.s inside folder "scroller", we'll see this at the bottom of the file: ; Template ; dc.l 1 ; (REPEAT COUNTER) ; Create this many objects of this type (or 1 for a single object) ; dc.l is_active ; sprite_active ; sprite active flag ; dc.w 20,0 ; sprite_x ; 16.16 x value to position at ; dc.w 100,0 ; sprite_y ; 16.16 y value to position at ; dc.w 0,0 ; sprite_xadd ; 16.16 x addition for sprite movement ; dc.w 0,0 ; sprite_yadd ; 16.16 y addition for sprite movement ; dc.l 32 ; sprite_width ; width of sprite (in pixels) ; dc.l 11 ; sprite_height ; height of sprite (in pixels) ; dc.l is_normal ; sprite_flip ; flag for mirroring data left<>right ; dc.l 0 ; sprite_coffx ; x offset from center for collision box center ; dc.l 0 ; sprite_coffy ; y offset from center for collision box center ; dc.l 32/2 ; sprite_hbox ; width of collision box ; dc.l 5/2 ; sprite_vbox ; height of collision box ; dc.l BMP_PLAYER ; sprite_gfxbase ; start of bitmap data ; dc.l 4 ; (BIT DEPTH) ; bitmap depth (1/2/4/8/16/24) ; dc.l is_RGB ; (CRY/RGB) ; bitmap GFX type ; dc.l is_trans ; (TRANSPARENCY) ; bitmap TRANS flag ; dc.l 32*11/2 ; sprite_framesz ; size per frame in bytes of sprite data ; dc.l 32/2 ; sprite_bytewid ; width in bytes of one line of sprite data ; dc.l 3 ; sprite_animspd ; frame delay between animation changes ; dc.l 7 ; sprite_maxframe ; number of frames in animation chain ; dc.l ani_rept ; sprite_animloop ; repeat or play once ; dc.l edge_wrap ; sprite_wrap ; wrap on screen exit, or remove ; dc.l spr_inf ; sprite_timer ; frames sprite is active for (or spr_inf) ; dc.l spr_linear ; sprite_track ; use 16.16 xadd/yadd or point to 16.16 x/y table ; dc.l 0 ; sprite_tracktop ; pointer to loop point in track table (if used) ; dc.l spr_unscale ; sprite_scaled ; flag for scaleable object ; dc.l %00100000 ; sprite_scale_x ; x scale factor (if scaled) ; dc.l %00100000 ; sprite_scale_y ; y scale factor (if scaled) ; dc.l -1 ; sprite_was_hit ; initially flagged as not hit ; dc.l 1 ; sprite_CLUT ; no_CLUT (8/16/24 bit) or CLUT (1/2/4 bit) ; dc.l can_hit ; sprite_colchk ; if sprite can collide with another ; dc.l cd_keep ; sprite_remhit ; flag to remove (or keep) on collision ; dc.l single ; sprite_bboxlink ; single for normal bounding box, else pointer to table ; dc.l 1 ; sprite_hitpoint ; Hitpoints before death ; dc.l 2 ; sprite_damage ; Hitpoints deducted from target ; dc.l 32/2 ; sprite_gwidth ; GFX width (of data) So let's change some values to suit our needs! Uncomment all the source (which means remove the ';' characters at line start) and then do the following changes: - Our screen is 352 pixels wide, so we can show at most 352/32=11 letters. But hold it! What happens the message scrolls 10 pixels to the left and displays a part of the first letter and a part of a new letter? That makes 11+1=12 letters! so we need 12 objects. Wheee! dc.l 12 ; (REPEAT COUNTER) ; Create this many objects of this type (or 1 for a single object) - Initially no letters are going to be visible, we're going to scroll them inside the screen one by one. So all objects should be inactive. dc.l is_inactive ; sprite_active ; sprite active flag - Starting x is of course irrelevant. Let's also leave the default 100 for starting y. - We're going to be scrolling them 1 pixel left at a time. dc.w -1,0 ; sprite_xadd ; 16.16 x addition for sprite movement - Each glyph of the font is 32x32 pixels, so: dc.l 32 ; sprite_width ; width of sprite (in pixels) dc.l 32 ; sprite_height ; height of sprite (in pixels)- Our bit depth is 16bit: dc.l 16 ; (BIT DEPTH) ; bitmap depth (1/2/4/8/16/24)- Each glyph takes 32x32 pixels, and since it's 16 bit it consumes 2 bytes per pixel, so... dc.l 32*32*2 ; sprite_framesz ; size per frame in bytes of sprite data- And of course one line of the glyph takes 32x2 bytes. dc.l 32*2 ; sprite_bytewid ; width in bytes of one line of sprite data- Let's tell Raptor that we want it to remove any objects hitting the edge of the screen (see the code below for more details). dc.l edge_kill ; sprite_wrap ; wrap on screen exit, or remove- 16-bit objects don't have a palette, each object's pixel is just rgb values. dc.l no_CLUT ; sprite_CLUT ; no_CLUT (8/16/24 bit) or CLUT (1/2/4 bit)- Finally let's set the width again (because I dunno, Raptor wants it?) dc.l 32*2 ; sprite_gwidth ; GFX width (of data) And that's it mostly. The code Here's the code that drives the scroller. If you're not too sure what happens, feel free to skip it, read the explanations below and then come back to it! dim text as char ptr dim current_letter as integer dim length as integer dim current_object as integer text="HELLO THIS IS A QUICK TEST TO SEE IF THE SCROLLER WORKS HAVE FUN " length=len(text) ' string's length current_letter=12 ' next letter of the text going to be shown current_object=1 ' next object going to go off screen dim i as integer dim j as integer dim fontstart fontstart=(int)strptr(font) ' ' First letter ' rsetobj(1,R_sprite_x,352<<16) ' set letter's initial x if (char)text[0]<>32 then ' anything but space? rsetobj(1,R_sprite_gfxbase,fontstart+(text[0]-65)*32*32*2) ' set letter gfx else rsetobj(1,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endif rsetobj(1,R_sprite_active,R_is_active) ' activate the object ' ' Rest of the letters ' for j=2 to 12 for i=1 to 32 vsync next i rsetobj(j,R_sprite_x,352<<16) ' set letter's initial x if text[j-1]<>32 then ' anything but space? rsetobj(j,R_sprite_gfxbase,fontstart+(text[j-1]-65)*32*32*2) ' set letter gfx else rsetobj(j,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endif rsetobj(j,R_sprite_active,R_is_active) ' activate the object next j ' ' Main ' do vsync print rgetobj(current_object,R_sprite_x)>>16 if rgetobj(current_object,R_sprite_x)=(-32)<<16 then ' object out of visibility yet? rsetobj(current_object,R_sprite_x,352<<16) ' yes, reset its position if (char)text[current_letter]<>32 then ' anything but space? rsetobj(current_object,R_sprite_gfxbase,fontstart+(text[current_letter]-65)*32*32*2) ' set next letter's gfx else rsetobj(current_object,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endif rsetobj(current_object,R_sprite_active,R_is_active) ' activate the object current_object=(current_object % 12)+1 ' calculate next object going to wrap current_letter=current_letter+1 ' next letter from the text if current_letter=length then ' reached the end of the text? current_letter=0 ' yes, reset the pointer endif endif loop Now we set up 12 objects that can be made to show rectangles taken from that vertical strip of letters! Now, in order to be able to set the objects to point at letters, we need to know where in RAM our font is stored. This is done again automatically by assets.txt: it gives us a variable called "font" which has the starting address to the bitmap data. The following line of code gives us the value and stores it in a variable called "fontstart": fontstart=(int)strptr(font) The first letter So, let's make one letter fly across the screen! Since we already set up the speeds and stuff like that, we simply need to load up the glyph's address and make the object visible! If you check the code above, the message we want to display is stored in a string array called "text". First we want the letter "H" to show up and scroll. This is done using the following code: rsetobj(1,R_sprite_x,352<<16) ' set letter's initial x if text[0]<>32 then ' anything but space? rsetobj(1,R_sprite_gfxbase,fontstart+(text[0]-65)*32*32*2) ' set letter gfx else rsetobj(1,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endif rsetobj(1,R_sprite_active,R_is_active) ' activate the object Our objects that will hold the glyphs are numbered 1 to 12. The first line of that snippet tells raptor to set some stuff for object "1" (the first parameter). The stuff to set is the "x" position. Finally the value we want it to have is 352, which is the right edge of the screen. Remember that coordinates (0,0) are top-left of the screen, x increases as you travel to the right and y increases as you travel down (so it's not the cartesian system we know from geometry!). As for that weird "<<16", well... it's a bit complicated and has to do with how we represent decimal numbers using fixed point arithmetic. It's not something I'd like to go into for now, if someone wants it explained, leave a comment! Moving on, our scroller is simple, we either show capital latin glyphs or a space. Nothing else is allowed (it won't go down well, trust me!). Now, computers represent text internally using a table called "ASCII" (yup, it's an oversimplification but good enough for this text). Every byte of the "text" array holds an ASCII number that we need to read and translate to our own set of glyphs. It just so happens that in the ASCII table letters "A" to Z" start at number 65 and move onwards, and the space is actually number 32. Since our funky bitmap has first the 26 latin letters and the space at the end, we need to check what letter we're displaying and use a formula. If it's a space, we make an exception and use a hardcoded value. So let's go back to the glyph bitmap. As we wrote above, each letter takes 32*32*2 bytes in RAM. So if the data started at byte 0 then "A" would be in 0, "B" would be at byte 32*32*2, "C" at 32*2*3 and so on. But since in ASCII "A" is actually the number 65 we have to subtract 65 in order to get 0. And if we have "B" we have to make the subtraction 66-65 and then multiply by 32*32*2 in order to point at "B"'s bitmap data. Of course the font isn't located at address 0, it's located in address "fontdata" we calculated above. So if we put this all together we get the formula fontstart+(GLYPH-65)*32*32*2. GLYPH is the first letter of the text message, which we can get using text[0]. Finally, we know that the space character resides after the letters, so it's glyph #26, whic means 36*32*32+2, and that's the address we plug in when we have to display a space. And the last line of the snippet actually tells raptor to make our letter visible. Notice that we do that after we set the object's paramters in order to avoid any possible glitches (for example maybe we've set the object to show "A" - it might have showed "A" for one frame before switching to "H", not a good idea!). So, if you go to the full listing and insert the following code right after the snippet posted above: do vsync loopyou'll see the letter "H" scrolling in your screen in all its glory, huzzah! Moar letters! But wait, there's more! Now we want to display the rest of the characters! But we can do them all at once, we'll have to wait till it's time to display each one. The command to tell raptor to wait one frame before doing anything is called "vsync". Since our letters are 32 pixels wide, we need to wait 32 frames before showing the next character. The following code waits for 32 frames: for i=1 to 32 vsync next iNow, we could simply copy/paste the above code for the first letter and change "1" to "2" for the 2nd object, etc. But that's boring, and error prone. So let's make it a loop! for j=2 to 12 for i=1 to 32 vsync next i rsetobj(j,R_sprite_x,352<<16) ' set letter's initial x if text[j-1]<>32 then ' anything but space? rsetobj(j,R_sprite_gfxbase,fontstart+(text[j-1]-65)*32*32*2) ' set letter gfx else rsetobj(j,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endif rsetobj(j,R_sprite_active,R_is_active) ' activate the object next j so the object number is the variable "j" now, which runs from 2 to 12. I hope this is straightforward if you understood the above (if not, again leave a comment!). Now we're cooking with gasolene! We have all objects up and running! Even moar letters! But what happens when the first letter goes out of view? What we've done up till now make no provision to display the rest of the message! So let's rectify this. do vsync if rgetobj(current_object,R_sprite_x)=(-32)<<16 then ' object out of visibility yet? rsetobj(current_object,R_sprite_x,352<<16) ' yes, reset its position if (char)text[current_letter]<>32 then ' anything but space? rsetobj(current_object,R_sprite_gfxbase,fontstart+(text[current_letter]-65)*32*32*2) ' set next letter's gfx else rsetobj(current_object,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endif rsetobj(current_object,R_sprite_active,R_is_active) ' activate the object current_object=(current_object % 12)+1 ' calculate next object going to wrap current_letter=current_letter+1 ' next letter from the text if current_letter=length then ' reached the end of the text? current_letter=0 ' yes, reset the pointer endif endif loop Lots of magic stuff happening in there, so let's pick it apart. Firstly, this code is enclosed inside a do..loop block. This tells the 64 bit supermachine to execute this piece of code until Quake for Jaguar is released (i.e. probably a very long time!). The 'vsync' as we discussed above waits for a frame while Raptor moves all objects one place to the left. And we have nothing to do unless an object leaves the screen. This is done using the following line of code: if rgetobj(current_object,R_sprite_x)=(-32)<<16 then ' object out of visibility yet?This tells Basic to skip everything between "if" and "endif" if the condition isn't true. The condition firstly asks raptor to give the x coordinate of the object that's leftmost. This is initially the first object, i.e. 1. Since "leaving the screen" is actually the x coordinate becoming -32 (because then the hardware will try to draw an objec from -32 to 1 for x, which has no meaning as no pixels will be shown), that's what we compare the coorinate with. And of course we need that magic "<<16" which I'm going to LALALALAAAICANTHEARYOULALALALALA. So, if this happens, then we'd better do some stuff! First thing we're going to do is reset the x coordinate to rightmost edge of screen: rsetobj(current_object,R_sprite_x,352<<16) ' yes, reset its positionThen we need to display the next letter. Since this will not be a costant (the message is perpetually scrolling), we need to store it in a variable. We called this current_letter and has the initial value of 12, since we've already shown letters 0-11 of the message (yes, 0 actually counts as a number in text strings).(for the same reason the object we're checking for and resetting is stored in a variable called current_object and is set initially to 1). We then use the now familiar chunk of code to set the object's graphics data address: if (char)text[current_letter]<>32 then ' anything but space? rsetobj(current_object,R_sprite_gfxbase,fontstart+(text[current_letter]-65)*32*32*2) ' set next letter's gfx else rsetobj(current_object,R_sprite_gfxbase,fontstart+26*32*32*2) ' set space endifbut modified to take current object and current letter into account. Nothing fancy really. The next line activates the object, because Raptor deactivates objects going off the screen on our request. rsetobj(current_object,R_sprite_active,R_is_active) ' activate the objectThe next line calculates the next object that's going to hit the left border. current_object=(current_object % 12)+1 ' calculate next object going to wrapI guess this needs a bit of explanation. If you kept up with above, you'll now be aware that objects 1-12 hold the letters we're showing. So we need current_object to have the following sequence of numbers: 1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,etc. If we simply increased current_object, it'd go up indefinitely and we'd need to some way to reset it to 1. What I did instead is to take the modulo of the number and then add 1 to it. So, breaking this down: 1 modulo 12 is 1, +1=2, 2 modulo 12 is 2, +1=3, ..., 11 modulo 12 is 11, +1=12, 12 modulo 12 is 0 (!), +1=1. Wheee! One liner!(of course I ought to point out that modulo is dog slow since it involves divisions, but since this is a tutorial and I don't care that much AND there's tons of cpu time left, allow me for this one piece of sloppiness ) Lastly, we need to point to the next letter in our message and wrap around if we hit the end. current_letter=current_letter+1 ' next letter from the text if current_letter=length then ' reached the end of the text? current_letter=0 ' yes, reset the pointer endif(so wait, why am I not using modulo here. Well, I, umm... shut up! I just wanted to show people how to do it with an if clause, okay? Sheesh!) Loop that, and that's the whole shebang. There, that wasn't so hard was it? Anyone still reading? No? Thought so.... In closing You can find this example on the latest Github/Bitbucket commit if you want to see it running and tinker with it! Finally, for those who want to mess around with it, let me suggest a few challenges - it'd be nice if people tried to make the changes and post their code below: a) Modify the routine so it works with a 8x8 font. b) Make the text bounce! c) Make the scroller move backwards (i.e. left to right, letters flipped - hint, Raptor has a feature to mirror the graphics!). d) Make the scroller run at different speeds. 1 pixel/frame is so boring with a 32x32 font! Of course, any questions are always weclome! Hope this wasn't a total waste of your time and that you actually got something out of it! If there's some response/feedback we will certainly do some more tutorials like this in the future . vert32x32.bmp
  6. So, something inbetween a blog post: How the heck did the Jaguar get Basic? And why two of them? Let's rewind back to December 1st 2014. Raptor library was out and we were really doubtful anyone would pick up and use it (Der Luchs proved us wrong there, cheers!). For quite some time now (months, prehaps years) we showed the library to people who promised they'd do C or BASIC backends for it (you know who you are, you naughty people!). So I decided to take a look at that myself. While evaluating what's out there CJ asked me if we could do Pascal as he kind of likes it. First hit for "free pascal compiler" was of course Free Pascal . It looked really nice and hackable, there was a 68000 port for it and a good looking IDE there as well (Lazarus). So all this was looking good. After 1 hour or so I even had the cross compiler for 68k ready to go! Alas, the 68k port of the libraries was horribly outdated and since I don't know Pascal that much (well, not at all actually!), compiling the standard library proved a bit too much for me so I abandoned this. (Of course if anyone wants to bring the 68k port to working shape I can definitely consider picking it up again). That was all done in 1 day. Next day I started evaluating Basics. Compiled, interpreted, it didn't matter too much. A couple of suitable candidates were found, all written in raw 68k (which was good for me, no faffing about again ). In the end I picked EhBasic; it looked it was being updated (although we learned that its author unfortunately isn't with us any more ), it was a monolithic source file (just the way I prefer projects) and it looked easy to get working. Withing 1 hour or two it booted up on ST (my preferred target as the debugging tools are better), and I quickly hacked in I/O and forcing it to load any ASCII file. Initially it was targetting the EASy68K environment which seems to have some sort of operating system for it so it could bring up a file selector etc. To honor the openness of the original project I decided to share the code changes to the public so I set up Github and Bitbucket repositories for it. So, success from the first day! The 2nd day was spent tossing the code over between me and CJ, getting it to run on the Jaguar which wasn't too bad once we sorted out the assembler syntax differences. Next day EhBasic started up on VJ and printed something - yay! Then we simply neeeded to figure out how to add our own commands and functions, which it turns out that is quite easy - double yay! Then it was over to CJ to interface EhBasic with raptor and after a few days it was ready! Hardware accelerated Basic interpreter for your Jaguar! Of course, while benchmarking it, we did saw that the interpreter's speed isn't much to write home about. And line numbers might get on people's nerves. And we'd be probably be forced to write a compiler at some point. And we couldn't add too many extra commands because the parsing would slow down considerably (that and there doesn't seem to be room in the tokens for a lot of extra commands). All of these things were itching me. So, fast forward to December 10, and this IRC log snippet: 10:57 < ggn~> bcx raptor next? 10:58 < CJ^AU > if you want 10:58 < ggn~> maybe I'll look at this today How hard could it be, right? After all a Basic's a Basic's a Basic! Well, here's an intro to bcx Basic: Like its acronym says, it's a Basic to C translator. Which means you get to type Basic or Basic-like code and it'll convert the source code into C code that you can compile afterwards. Which of course opened a few can o'worms for me in the process! C. I really don't like that language. I mean I use it at home, I can understand why people like it and on which projects it's beneficial - but still meh! With such a positive attitude ( ) and some experience in my back I considered which one to use. Ideally it would have to be a cross compiler, without many dependencies, able to produce a Jaugar binary or compatible object files for linking, and of course free so I can distribute it on a zip file) There's the one by Atari which is based on gcc v1.5 or something (meh), some good optimising compilers on the ST like Pure C (meh, would tie the developemnt down to having to use a 16/32 machine and/or emulators), vbcc (not bad, supported and can output Jaguar binaries from what I gather, but I really don't like its interface and I really have no clue how mature its optimiser is. Of course a lot of Amiga people say it's good. But still, would avoid it if I can) and modern cross-compiled gcc led by Vincent Rivière (good solid optimising compiler, needs Cygwin which is bad for my use case). While the last choice wasn't the most ideal and possibly vbcc would be more hassle-free, I chose gcc in the end. So, starting to fiddle with bcx next. I found out that the compiler seems to produce C sources suitable for Windows only - Linux or anything else isn't supported although I dunno why, I think it wouldn't be that hard to make it cross-platform. Commenting out some header files in the produced source seems to have fixed this, so I was left with something that gcc could eat up and spit an .o file. At this point I should maybe describe my work set-up. Obviously Cygwin would have to be used to run gcc. The bcx compiler itself is (again) a big monolithic file that is self-compiled, i.e. if you want to build a new version you have to run the old bcx compiler on itself, then compile the produced C code, then use this compiler to convert your test programs to C code and then run gcc to convert it to a m68000 .o file, which then you can link with a Jaguar linker like rln. Sounds complex? It was . Now, I chose mingw as my C compiler for bcx because Cygwin for some reason couldn't produce a Windows executable of bcx! And since I copied the dev environment and build script from Raptor Basic, I had to use the Windows command line too! Luckily I used Conemu which can show all of the above in the same screen, in tabs, and with horizontal/vertical splits - so I had all the madness at once on my screen . Shortly after the initial environment was sorted, a PLOT/COLOUR pair of commands were coded to see if I could put anything on screen. Of course I spent some time on this because I had to see how C passes parameters to routines (and with the added bonus of compiler optimisations on ). After some confusion and a few hours of looking at compiler generated source code (gas syntax yay), I managed to get that working, kind of! Of course, the real problems were just starting: gcc's standard libs object files are packed in archives with the extension .a. rln didn't know how to eat up those, so I raised a support ticket to Shamus (bless him!) and in the meantime I dumped all .o files from .a libraries and started resolving dependencies by hand while linking even the simplest of sources (pro tip: don't ever do that!). Check out this commit log for example to see what fun times I had . While Shamus was slaving away on rln (again, bless him!), I started to backport all EhBasic commands CJ added to bcx, remaining syntax compatible when possible. Fast forward to December 20, where Shamus finally adds .a support to rln so linking problems become a thing of the past . Spirits went up and we targeted for a Decemeber 25 release - what could go wrong? Next few days were spent polishing up things and adding more commands... [EDIT]Forgot to mention here that I built gcc on mingw to get rid of Cygwin's dll dependency hell if I wanted to do a tidy release!)[/EDIT] And then we're one day before Christmas. Panic mode on! Due to compiler zealously optimising out stuff and inlining some of the commands I put (generally it made a total mess out of things), I decided to move all extra Raptor/U235SE functions to an external .o file. Guess what - remember when I said that Shamus fixed rln linking? Well, an awesome bug manifested when trying to link the above and rln would crash! Urgh! Also, trying to get C's sprintf to work so we can use rich output formatting would result in literally tons of unresolved externals which I had no idea how to solve! Not to mention that Raptor's print fucntion accepted -1 terminated strings, which are a "bit" hard to do in basic-translated-c-code! Things were looking bleak indeed... So I began with the hard stuff first: Shamus was really puzzled as rln was working for him on linux - so I brought the source over to Visual Studio, solved a ton of warnings-Visual-Studio-likes-to-call-errors-for-some-reason-maybe-there's-a-switch-to-pass-so-it-won't-no-time-to-research-release-was-a-few-hours-away-zounds, and miraculously fixed the bug in 20 mins! Yay me! After this my spirits went up again and fixed the rest of the problems: sprintf was out which means the user will be responsible for formatting the string before sending it off to be printed. But null-terminated strings were a problem until I thought: hey, don't I have access to Raptor source code? DUH! 5 minutes later and I had a custom raptor.o which accepted null terminated strings! Removed optimisations from compilation (too scared to leave that on for a public release, I think it should be alright though), fixed the build environment, tested that all examples work, CJ woke up in .au, he tested some more things, uploaded to server and made the release posts! Pheeeeeew! So this is more or less the history of how these 2 Basics came to existence. There are still stuff to be added and probably a helper program for asset insertion in Basic projects, but in due time - we made the first step, now we're waiting for people to pick it up and tell us what they like and dislike, and what they'd want to see next. Thanks for reading, and since it'll be a new year in a few hours, I'd also like to wish you all a happy new year - please use Raptor Basic and Basic+ to bring some life to the Jaguar - we'd be ever so glad!
×
×
  • Create New...