Jump to content

llabnip

Members
  • Content Count

    205
  • Joined

  • Last visited

Community Reputation

88 Excellent

About llabnip

  • Rank
    Chopper Commander

Profile Information

  • Interests
    ATARI 2600

Recent Profile Visitors

3,118 profile views
  1. I grew up with my best friend having an Intellivision (I had the Atari 2600 and later Colecovision). We played endless rounds of both original AD&D games and Tron Solar Sailor - though they were 1 player games, we would play them as co-op using both controllers (one person steering and the other shooting, etc). I suspect we weren't alone in that method - and we spent a summer really enjoying these games. Over the decades, I picked up every Intellivision Lives collection from the PC versions on Windows 95/98 (can't remember which) and later on the PSX, PS2 and DS. But I was always felt a little underwhelmed by these efforts. While I loved supporting the original programmers and those who carried forward the legacy of the original games -- those versions left a bit to be desired. The DS is one of my favorite platforms and Intellivision Lives DS version was particularly disappointing given that the touch screen was about as close as we can get to the original keypad controllers on a handheld device. After waiting what felt like a year since learning about it and the eventual release, the game left me scratching my head. How could anyone that loved the system release this? The entire bottom row of of icons on Treasure of Tarmin (aka Minotaur) was missing! For AD&D Cloudy Mountain (aka Adventure), the game wouldn't register arrow clicks ... and more often than not, when trying to run and shoot at the same time, the running man sprite would just run through and get stuck in solid walls. Space Spartans seemed to omit any sort of number counting - you couldn't tell how many aliens were in your sector nor what energy you had left. In the end, I did my best to play my beloved Treasure of Tarmin using a cheat sheet for weapon strength and memorization of what was in my pack/hands but the experience was seriously handicapped. Fast forward a decade and I finally decided to learn how to program the DS/DSi. After working on 4 emulators for the Atari line (StellaDS, 5200DS, 7800DS and XEGS-DS), I turned my attention to Nintellivision - a DS/DSi emulator for the Matel Intellivision. The idea was to fix the issues in the original Intellivision Lives DS release. I used the open-source (but now abandoned) BLISS core as it lent itself to easy conversion to the DS. I wrapped in a layer of input controls, display output and a generic touch-screen keypad. I added a slew of configuration options to map Intellivision keypad buttons to DS buttons so you can customize your game as you like. Support for things like the Dual-Action Controller (one controller for move/fire and the other for keypad so you can move/shoot at the same time in many games) is included. I've added a high score list for 10 scores per game. Compatibility is fairly high ... about 97% of all games run correctly and smoothly on the DSi... a smaller number run full speed on the older DS-LITE hardware. It supports intellivoice via SP0256 emulation (not .WAV files). It supports JLP acceleration and RAM (not flash yet) so you can play great games like Grail of the Gods or Super Pixel Bros. There is no ECS support yet. Lastly, I do allow for custom overlays that you can design and create touch-screen hot-spots for. I won't release anything that isn't open source - but if you want to create a cool custom overlay for your favorite game via GIMP, you can do so (see below for my custom Treasure of Tarmin - my favorite game... this is using a scan of the Overlay and manipulated to be horizontal... it's for my personal use only). The emulator is free, of course. It runs on a DSi via SD card and something like Twilight Menu or Unlaunch (google is your friend here). On the DS it requires running from a Flash Cart.
  2. Yeah, detection isn't a big deal. Easy enough to search for the 'DPC+' and/or 'LOADER' bytes in the binary, but I also employ the MD5 scheme that stella uses. Partially for better bankswitch detection and for special controllers, but also for the DS I also have to contend with limited screen resolution (192 vertical pixels which is almost ideal for NTSC games... except so few games adhere to that standard - even Atari's pack-in Combat is notoriously longer). So I keep some information for scaling and cropping - I don't mind a bit of sky or ground being cut off but scores and active playfield are sacred. So I could just match the MD5s for games that only use the DPC+ bankswitching scheme but don't rely on any ARM code. To be honest, I figured there were none of these... otherwise F4 or F4SC seems a more likely choice for the programmer. Anyway, I do have a preliminary DPC+ driver that implements the bank switching, random numbers, the fetchers, etc... but it stops short of being able to execute any code in "Thumbulator" mode. Again - I hope to get DPC+ stuff working someday - or at least leave it in a state where the next bright guy can tackle it... there aren't many of us who want to write emulators for 20 year old platforms (DS) to emulate a 40 year old platform (VCS). That's the nichest of niches** Anyway - all my stuff is open source (since it's all based on open source Stella code from 2005 and hand-tweaked for the Nintendo architecture... with a few key backports of improved bankswitching schemes and critical bug fixes). ** For anyone wondering: why emulate Atari games on an outdated handheld? There are more than 150 million of these DS units out there worldwide - and the DSi/DSi-XL are near the pinnacle of handheld gaming machines in terms of rock-solid design... and they have SD card slots where clever folks have hacked in to create custom menus and launchers for games... with the help of a dedicated community one can now obtain a $50 DSi-XL and play more than 15,000 classic 8-bit games from the 1970s and 1980s (PC Engine, NES, GG, SMS, Colecovision, Atari 2600/5200/7800/8-bits, etc).
  3. Apologies - the use of the word was not intended as a slight to you or the other amazing programmers working on games of any type — but I understand that it came off that way. I don't seem to have the rights to edit my post - so this apology will have to do in its stead.
  4. Great discussion - the vast majority of it above-board with lots to think about across the spectrum. I'm nobody - having said that, you are free to skip my humble opinions. First off - huge thanks to the homebrew and hack programmers everywhere! What you do is amazing - I'm guessing nobody is making massive financial gains from any of this and your efforts to provide the community with wonderful new/updated forms of enjoyment doesn't go unnoticed - even by those of us who are usually silent. I'm an emulator developer for the Nintendo DS/DSi. The little handheld is rock-solid engineering ... like Atari was 40 years ago But it only has a small 67MHz ARM processor and as such the emulators tend to be highly tuned and optimized to run efficiently on that architecture. I imagine that's not totally dissimilar to 6502 assembly programming with or without the use of ARM assisted code. So I can appreciate the herculean effort it takes to polish these things and make them work (forgetting gameplay for a minute... it's a minor miracle to get a stable kernel that does what you want it to do from what I've seen). Now, to the topic at hand. I'm conflicted. On the one hand - who cares? Fun games are fun. Un-fun games are un-fun. Bankswitching schemes have been around a long time - and some are complex enough to have extra RAM plus some enhanced functionality (specially the DPC scheme used for Pitfall II). Having said that, I'm in awe of the accomplishments of a number of homebrew games - some of them happen to be DPC+ carts... some are more traditional bank switching schemes. Conversely, there are a number of games that are... well... not my cup of tea. Some of those happen to be DPC+ carts and some are more traditional bank switching schemes. So DPC+ doesn't make a great game - great (simple!) ideas plus talented programming plus hard work / debugging makes a great game. ARM isn't some magical wand to make that happen. On the other hand... at some point I feel there is a line where we are no longer talking about the Atari 2600. If someone in 1977 duct taped a CRAY-1 super computer and wired it into the CART slot and it took over as much of the 2600 as was possible... is that still an Atari 2600? I've read the arguments that as long as you're using the 6502 to process and the TIA to output and the RIOT to input... yeah, it's still an Atari 2600. But it does feel like "cheating" - though I'm not sure how best to define that or where the line is. It's like Congress take on Pornography ... you know it when you see it. From my very little corner of the world... I'm the lead developer for 4 emulators for the Nintendo DS/DSi: Stella-DS (2600 games), 5200-DS, 7800-DS and XEGS-DS (for the entire 8-bit library ... .ATR and .XEX only). On the 5200-DS... every game plays except Bosconian 128K which can't handle the speech. On the 7800-DS... every game plays (a handful of 320/SuperCarts run slightly below 60FPS) On the XEGS-DS... every game plays. But on Stella-DS... every game plays except DPC+ carts (and, the music fetchers in DPC Pitfall II are not working). Mainly because the Nintendo DS ARM processor running at 67MHz struggles to emulate the Thumb processor while also emulating the 6502, TIA, RIOT chips (plus drawing to the dual screens of the DS, handling sound, input from buttons, etc). When I detect a DPC+ ARM-assisted rom, I put up a little disclaimer as shown below. What does this have to do with the price of tea in China? Nothing... except that from the cheap seats, the DPC+ stuff feels like half-an-order of magnitude more advanced than anything in the Atari 8-bit line just on a pure emulation point of view. Would I have DPC+ support if I could manage the skill to get it working on this little handheld? You bet. But I've also convinced myself that I'm emulating the Atari 2600 fairly well but I'm not emulating the DPC+ ARM Thumb... and so I consider the DPC+ stuff a "different world". Having said all that, I do enjoy the DPC+ stuff on my real 2600 (I've got 2 setup in the house ... both with Harmony Carts - non Encore editions). Hope everyone is well - be kind to each other!
  5. So I've been plugging away at StellaDS - the Atari 2600 emulator for the DSi (and DS/3DS though it specifically targets the DSi playing games via SD card you insert into the unit). Version 3.x adds in high-score support (10 scores per game - manual entry) as well as instruction manual support (single page summaries of the more important aspects of the game, difficulty switches, key game selections, etc). Paddle and Keyboard support via touch-screen. Virtually the entire 2600 library runs at full frame rate with solid accuracy. DPC+ carts are not yet supported (and that may be tricky with the little 67MHz processor I've got!). Most people run this on their SD card using either Twilight Menu++ (where the emulator is baked in - along with my emulators for the Atari 5200, 7800 and XEGS 8-bit system) or via something like NoCash Unlaunch 2.0.
  6. Thanks Bob - got it! A very reasonable compromise
  7. Just gave this a spin on the A7800DS emulator and it plays great! The colors look a bit off - maybe it's on my end. In the arcade, the flagship is bright yellow center and blue outline and the guards that go with it are red and blue. Arcade: A7800DS: (sorry, phone screenshot) The play was outstanding - this is really awesome, Bob!
  8. No worries on Simu-Play - given that I have no friends, I'm in favor of it being jettisoned in favor of such a solid port!
  9. No... well, at least not really hacky So there are 2 ways to get Twilight Menu (TWL++) installed. The first is to use a memory exploit - someone discovered that when you take a picture on the DSi (with the worlds worst resolution camera I think), it calls into a file that is located on the SD card which can be replaced to launch TWL++. This does not permanently change your DSi and so it still functions as a stock DSi in every other way. Once Twilight Menu is running, you can launch any DS game and most GBA games from the SD card as well as all of the cool emulators (my contribution is emulators for the Atari 2600, 5200, 7800 and Atari 8-bit but there are others... NES is damn near perfect, SMS, Turbo Grafx, etc). The OTHER way is to install custom firmware called UNLAUNCH - this removes the need for the memory exploit above and runs native custom firmware. This gives you maximum flexibility over the DSi and lets you run everything cleanly. However, this is mostly a one-way ticket - your DSi firmware has been replaced and while it's theoretically possible to restore it, it might not be easily possible. It will still launch and play stock DS games from cartridge of course. I have 4 DSi devices... two are running UNLAUNCH and two are stock DSi running the memory exploit. For the purposes of the emulator, they all behave the same. This is the best guide to installing the memory exploit (called "memory pit") and/or custom firmware for the DSi: https://dsi.cfw.guide/ TWL++ is working with emulation authors to incorporate the emulators into the TWL Menu (all 4 of my Atari emulators are so incorporated as are the more popular non-Atari ones). So all games show up with little icons (though all 8-bit games will show with a stock Atari console icon) which are easy to click and run.
  10. I'm just about ready for version 2.0 of XEGS-DS for the Nintendo DS handhelds. Generally runs the entire Atari 8-bit gaming library at full speed with high compatibility. I'm through testing about 4000 games - which, amazingly enough, isn't much more than half of the rom set I'm working with. If you've got an old DS lying around it can be turned into a serious retro handheld for the want of a $10 flash loader card ... if you're got an old DSi lying around you don't even need that - it will operate from the built-in SD card with a little of magic from Twilight++ Menu (open source menu replacement for the DSi).
  11. I tend to take criticism from posters newer than me on this site with a grain of salt, but your opinion is noted!
  12. Love seeing these!! Sadly, due to some unfortunate events, I don't have many surviving pics of that era. The best I could do is a photo of me opening my Atari VCS and maybe... Video Olympics. But that day shaped my future - here is a before and after
  13. I just released XEGS-DS 1.5 and A5200DS 2.7 both with frameskip implemented for older DS-LITE and DS-PHAT hardware. This will render thousands of 8-bit games fully playable with all the speed/sounds needed to make them fun. This new Frameskip option is defaulted to ON for older DS hardware and OFF for DSi or above. There are a few glitches after playing about 100 of the more popular games - Buried Bucks won't run properly with Frameskip ON (the dollar signs $$$ sink through the background) and there was a very occasional glitch I saw playing Caverns of Mars though I'm not convinced I have a good dump on that one - need to experiment more.
  14. I know on my A7800DS emulator it's one of the "taller" games - utilizing a bit more of the upper and lower screen than most. I had to scale it down slightly to make it all fit.
  15. It's hand-tuned C code. The main issue is that there's so much to emulate - the CPU (6502), the TIA, the RIOT (6532) and then all the different bank-switching for various carts which is not trivial compared to direct memory reads. And on top of that, the sound and video all need to be converted to run in the native DS space (and the sound is tricky on the DS - they have a co-processor which needs to be coordinated with to get the sound output). Add it all up and the original DS hardware running at 67MHz is barely keeping up. The DSi fares much better at twice the CPU speed. The last Intel-based PC that ran at 67 MHz was the venerable x486 which was introduced in 1990 (ish). And I'm sure that might struggle to run some of these emulators too
×
×
  • Create New...