Jump to content

Search the Community

Showing results for tags 'bankswitching'.

  • 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 CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's CDFJ+
  • 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
  • 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
  • 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!

Blogs

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

Calendars

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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 8 results

  1. Hi all! Last month I saw the following ad on eBay: I thought the appeal of this kit for homebrew development was very limited: No bankswitching/mapper (only 2K games or 4K games with further modifications on the board) It required messing around with UV lamps, programmers, etc Required some knowledge of electronics Buying the parts separately would probably be less expensive Not possible to ship as a product to customers It would be probably easier and faster to use one of the existing USB/SD carts to test on a real hardware. This did make me think though that I had never seen a development kit for the 2600 which would allow homebrewers without knowledge of electronics to self publish their games. If a mapper is required, then that knowledge need goes up real fast. As in Europe we have very limited offers of good homebrew games available (most of them are from the USA and shipping quickly becomes a problem), I thought about making this my next project. The idea is to have blank carts (populated with all required components but without any game image in them) and a simple to use cable and PC software which would allow the user to create a cart ready to be shipped to customers as well as test games in a real atari. Is this something that would interest the homebrew community? Here are some requirements I have come up with: The final product must cost under 10€ (populated cart PCB) All components must be easy to find. Preference should be given to components still in production Must be usable by people with no experience in electronics No soldering Must support mappers (the ones used by batari Basic at a minimum, as a lot of people seem to use bB) No physical alterations to select the desired mapper (or no mapper) Must fit in a standard Atari cartridge case Components should be SMD to keep production cost as low as possible All comments will be appreciated!! Cheers.
  2. What is temp7's purpose when bankswitching? .L08 ; goto _bank2 bank2 sta temp7 lda #>(._bank2-1) pha lda #<(._bank2-1) pha lda temp7 pha txa pha ldx #2 jmp BS_jsr BS_jsr lda bankswitch_hotspot-1,x pla tax pla rts It looks to me like it's just used to push what's currently in the accumulator to the stack, and that you also push x to the stack, is that just so you can continue your code in another bank? There's no way to ldx or lda (without also assigning it to a variable) in bB, and even if there where, wouldn't it be faster to just sta temp1 stx temp2 and load them after the bankswitching lda temp1 ldx temp2 If I don't need to keep what's in a and x would this work lda #>(._bank2-1) pha lda #<(._bank2-1) pha ldx #2 lda bankswitch_hotspot-1,x rts Just tried it and I got error: Unknown Mnemonic 'bankswitch_hotspot-1,x'. Is bankswitch_hotspot a table? I can't find it anywhere.
  3. Hi all, I have created the following post yesterday: Someone just told me that I should have created it in this subforum. I don't want to duplicate the post but I have also not found how to move the post here. Any suggestions? Also, if you can comment on the bankswitch schemes you currently use in your programs and any experience you can share on how to implement a bankswitch controller on a 8bit Microchip PIC will be much appreciated. Cheers!
  4. Hi everybody, Talking to a homebrewer here at AtariAge the topic of large ROMs (128KB+) came up. One part of the bankswitching schemes which always put me off is the amount of memory used by routing overhead and the hotspots. Yes, I know that in the great scheme of things that may end up being negligible, but the whole point of using bankswiting is to have more memory available and large ROMs require a larger number of hotspots So I was thinking if a trade off with RAM could be acceptable, why not have a hotspot in RAM and bankswitch according to the value saved in that hotspot. The idea is that a write to that specific address would trigger the bankswitch. A read to that address would not do anything as the bank is already selected. Using a full byte in RAM, the cart could have 1MB of ROM available (256 * 4096). Coding would be as simple as loading the accumulator with the desired bank number and storing it into the hotspot address in RAM. With one additional RAM byte, the BS routine could route a call to 256 distinct subroutines in the new bank (see diagram below). And a relatively simple one-size-fits-all solution could be created by using another RAM byte and a single dispatch sub-routine: Does anything like this exist already? Would it make sense to use it for very large ROMs?
  5. I suppose everyone who ever had to use standard Atari bankswitching sooner or later developed some kind of pattern how to use it. And there are numerous ways to do it. But most of have to be used very carefully and are often not easy to maintain. So I came up with the idea of using macros to make things as convenient as possible. The price for that convenience are more CPU cycles and destroyed registers and flags. So here they are: BANK_SIZE = $1000 ; Use at the start of each bank, required by JMP_LBL macro MAC START_BANK ; bank number BANK_NUM SET {1} ; this is not related to bankswitching, but nevertheless useful BANK_ORG SET $8000 + BANK_NUM*BANK_SIZE BANK_RORG SET $1000 + BANK_NUM*BANK_SIZE*2 SEG code ORG BANK_ORG, $55 RORG BANK_RORG ECHO " start of bank", [BANK_NUM]d, ", ORG", BANK_ORG, ", RORG", BANK_RORG ENDM ; Insert code for executing the bankswitch, ; should be put at the very end of each bank, right before the hotspots MAC SWITCH_BANK ORG BANK_ORG + $ff4 - BANKSWITCH_SIZE RORG BANK_RORG + $ff4 - BANKSWITCH_SIZE, "before bankswitching code" SwitchBank = (. & $fff) | $1000 pha txa pha lda BANK0,y ; e.g $fff8 rts BANKSWITCH_SIZE = ((. & $fff) | $1000) - SwitchBank ENDM ; Define a label which can be used by JMP_LBL macro ; Example: ; DEF_LBL Foo MAC DEF_LBL ; address {1} {1}_BANK = BANK_NUM ENDM ; Jump to a label in other or same bank. The assembler will take care if the ; code has to bankswitch or not. ; Example: ; JMP_LBL Foo MAC JMP_LBL ; address IF {1}_BANK != BANK_NUM ; convenience IF ldy #{1}_BANK lda #>({1}-1) ldx #<({1}-1) jmp SwitchBank ; always at the same address in each bank ELSE jmp {1} ENDIF ENDM As of now only JMP is supported, but macros for JSR could be created that way too.
  6. In trying to come up with a strategy to win back memory for Alex Kidd, I was thinking about stuffing some code in a cartridge, so I can win back some of that 32kb expansion memory. Given that I'm currently already at nearly 16k of executable code (including constants), and that I still need to add a good number of features, I need to find a way to create bank switching software with gcc. What follows is a write-up of my ideas, not everything has been tested, and I'm looking for a sanity check: will this work, am I missing something that could simplify things? 1. Multiple pieces of code at the same location The first thing we need to do when hacking support for banked memory (such as bank switched cartridges) in gcc, is to tell the compiler that specific pieces of code will run from the same physical address space. In the case of a program designed to run from cartridge, this would be 0x6000. By default, gcc will put all executable code into a section called .text, and you can tell the linker to position this code at any location in memory by using command line options (--section-start .text=0x6000), or by creating a bespoke linker script and adding a properly configured SECTIONS section: SECTIONS { . = 0x6000; .text : { *( .text ) } . = 0xa000; .data : { *( .data ) } .bss : { *( .bss ) } } (Note: the above example requires a system with 32k memory expansion installed, since it puts all variables in expanded memory. It also requires a crt0 implementation that copies the initialization values for variables in the .data segment from somewhere in ROM or from disk to 0xa000) Since all code is in the .text segment by default, the linker will just start filling up memory with code from 0x6000 onwards, blasting past 0x7fff if the code segment happens to be larger than 8k and in the process creating a useless image for our purposes. At the very least, we can define our memory layout in the linker script to get a warning when one of our blocks exceeds the maximum size. We can do this by adding a MEMORY section to the linker script (there's no command line equivalent of this), and changing the SECTIONS section accordingly: MEMORY { cart_rom (rx) : origin=0x6000, length=0x2000; /* cartridge ROM, read-only */ lower_exp (wx) : origin=0x2080, length=0x1F80; /* 8k - 128 bytes */ higher_exp (wx) : origin=0xa000, length=0x6000; scratchpad (wx) : origin=0x8320, length=0x00e0; /* 32b is for workspace */ } SECTIONS { . = >cart_rom; .text : { *( .text ) } . = >higher_exp; .data : { *( .data ) } .bss : { *( .bss ) } } Now, whenever the .text section exceeds 8k, the linker will throw an error and abort. At least we'll know our program is too big to fit in the 8k, but it would be even better if we could stuff more code in other parts of memory. Unfortunately, ld will not do this for us, and we'll need to explicitly assign code to different sections in our source files by adding attributes to the function definitions. Supposing we already have filled our 8k of cartridge ROM, we could for instance decide to put additional functions in the lower 8k of the 32k memory expansion. First we add the section attribute to each function we want to put in the lower memory expansion area: void somefunction(int somearg) __attribute__ ((section ( .moretext ))); void somefunction(int somearg) { // some code } We now have code that will get put in the .moretext section, so we need to tell the linker where to put this code (assuming the same MEMORY section as in the example above): SECTIONS { . = >cart_rom; .text : { *( .text ) } . = >lower_exp; .moretext : { *( .moretext ) } . = >higher_exp; .data : { *( .data ) } .bss : { *( .bss ) } } (Note: again we need to remember that the cart will need to load the contents of section .moretext from somewhere in ROM or from disk and copy it to the lower memory expansion at 0x2080) In theory, we could automate the annotation of functions by doing two compilation passes: one with all code in the standard .text segment to discover the size of each compiled symbol, and one that uses that info to assign individual functions to the two available sections. In practice, I imagine this is doable enough by hand for most programs. Also, on our platform gcc doesn't seem to support calculating the size of individual compiled symbols, so by hand it is. So now we are able to put code into two different physical locations in the TI's memory, but that still doesn't allow for bank switching. As we said at the very beginning, for that we need to tell the linker that two or more sections of code need to target the same memory area. Turns out that we can do this with the OVERLAY command: SECTIONS { OVERLAY >cart_rom : AT 0x0000 { .text { *( .text ) } .moretext { *( .moretext ) AT ALIGN(0x2000)} } OVERLAY >higher_exp : AT ALIGN(0x2000) { .data : { *( .data ) } } .bss : { *( .bss ) } } Running the linker with a script with the above SECTIONS section will give us a binary that contains three 8k banks: .text, .moretext and .data (we ignore .bss, because those are just zero-initialized variables and are taken care of by our crt0 implementation). The code in the first two banks will expect to run at 0x6000, and expects to find the initialized data from the .data section at 0xa000. Given all this, we should be able to generate binaries in the right format to support bank switching. 2. Actually switching banks in code That was the easy part, after all, it didn't require any coding . However, the trickiest part to bank switching is to write code that can cope with switching from one bank to another (and have that new code return). There are a couple of ways to do this (some more cumbersome than others), but they will all share a common requirement: you need to keep a "bank switching stack" (for lack of a better term). That is to say, when code in bank 1 calls a function in bank 2, we need to save the return bank "location" (i.e. what enables "bank 1") somewhere. If that function in bank 2 then in turn calls a function in bank 3, we need to do the same thing without overwriting the first return bank location. This is a recursive problem, so we need a stack. The idea location for the bank switching stack seems to be in scratchpad, since it will be relatively small and that part of memory is always available. By putting the pointers to this stack in a separate section, we can use the linker script to put it there (or wherever else is convenient). The management of the stack needs to be done right before calling a function in another bank, and right before returning to the calling bank at the end of a function. On a select number of platforms, GCC supports so-called 'far' and 'near' pointers and/or function attributes, which could be used to implement two different function prologues/epilogues depending on the type of function call that needs to be done. Unfortunately, the tms9900 platform implementation does not support these attributes. GCC also has support for instrumenting each function call and return via the -finstrument-functions command line option. You need to implement your prologue and epilogue code in the following two functions somewhere in your code: void __cyg_profile_func_enter (void *, void *) __attribute__((no_instrument_function)); void __cyg_profile_func_exit (void *, void *) __attribute__((no_instrument_function)); However, the call to and return from __cyg_profile_func_enter happens /before/ the call to the actual function, so it would take some serious wrestling with the C call stack to transparently implement bank switching in these functions. Our last option is to instrument individual functions and function calls. This is certainly the most cumbersome implementation of all, but it is the only one which does not need embedded support in the compiler implementation itself. Instrumentation of the function call is relatively easy, keeping in mind that all manipulation of the bank switching stack needs to be done from within the calling bank and the absolute last command needs to be the one that triggers the switch to the next bank. The following process could be a usable implementation: The caller (code runs in bank 1): Writes the address and bank location of the intended callee in two registers (e.g. r0 and r1) Invokes the trampoline The trampoline (code runs in scratchpad/expmem): Saves the current bank on the bank switching stack Loads the new bank Makes the call using the info in (e.g.) r0 and r1 The callee (code runs in bank 2): Does stuff Returns to the trampoline The trampoline (code runs in scratchpad/expmem): Loads the original bank (which is popped from the bank switching stack) Returns to the caller Or, in other words, every function call should be structured as follows: caller calls trampoline(), trampoline calls callee, callee returns to trampoline, trampoline returns to caller. Using this type of construct, the trampoline function needs to transparently pass on all arguments to the callee. The easiest way to accomplish this is the have a bespoke trampoline function for each "far" function we're looking to call (with a "far" function being any function that runs from a bank switchable piece of memory). Something like the following example: // Our "far" function, in bank 2 int far_somefunction(int someint) __attribute__ ((section ( .bank2 ))); int far_somefunction(int someint) { // do something return somevalue; } // Our trampoline function, in non bankable memory (e.g. scratchpad) int somefunction(int someint) __attribute__ ((section ( .nonbankable ))); int somefunction(int someint) { // Set to bank 2, and push caller's bank on the stack push_bank(2); // Call far function retval = far_somefunction(someint); // Set caller's bank pop_bank(); return retval; } Using this, we can safely call somefunction() (our trampoline function for far_somefunction()) from anywhere in our code, no matter which bank we're currently in and no matter where the calling code resides in memory. Furthermore, we can also still call far_somefunction() directly from within the same bank if we want to avoid the overhead of the bank switching and the trampoline function. The big downside of course is that we now have one trampoline function for every "far" function we want to call, all with nearly identical function bodies, eating at our available non-bankable memory. Not a big deal if you plan on banking code in big chunks, but problematic if you have lots of little functions that you need to call from everywhere in your program. We could opt to create one generic trampoline function, using variable argument lists and function pointers, if we're really strapped for memory. The downside is that it would create even more overhead for every "far" function call you're looking to make. Even with bespoke trampoline functions for each far function, it's a good idea to limit the number of bank switching calls you need to do, especially if you're writing an action game that needs to retain a high frame rate, given the fairly high overhead the bank switching introduces. If the compiler had support for naked functions (functions without prologue and epilogue), we could probably reduce the overhead to an absolute minimum, similar to what you'd get with pure assembly code, but unfortunately gcc doesn't support that attribute on our target. I think the above is a sound strategy?
  7. I'm looking into some bankswitching shemes from the hardware level and when I got to the FE banswitching I got into somewhat of a puzzle. In this documentation "http://www.classic-games.com/atari2600/bankswitch.html" you will read that FE uses 2 hotspots "01FE" and "11FE". However, in the stella debugger you can read: FE cartridge, two 4K banks Doesn't support bankswitching with hotspots, but instead watches A13 of called addresses: Bank 0 @ $F000 - $FFFF (A13 = 1) Bank 1 @ $D000 - $DFFF (A13 = 0) This confuses me, does or does not EA use hotspots? And if A13 is used, how does the hardware/cartridge detect this since there is no a13 line on the cartridge. in the end I want my dumping hardware be able to trigger bankswitching on this cartridge. So accurate knowlage is needed.
  8. A few questions regarding the Intellivision and memory... Are there any games/demos/ROMs available that use cartridge RAM? Is the RAM typically 16 bit? Are there any games/demos/ROMs available that use bankswitching? I know some of the "LTO" games do... are they still using a simple scheme, or is it a more complicated scheme? Are there any non-LTO games that use bankswitching? What is the method used? ... I'm just laying out the next version of my Intellivision game PCB, and adding an option for RAM (and thinking of utilizing the unused half of the ROM chip). Thanks in advance!
×
×
  • Create New...