Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

510 Excellent

About CapitanClassic

  • Rank

Profile Information

  • Gender

Recent Profile Visitors

7,973 profile views
  1. The NES came to the USA in 1983, but I don't remember it being a big deal until 1985. At that point, everyone wanted one. The Atari 2600 on the other hand had already liquidated most of their stock back in 1983 when the big North American Video Game Crash occured. When Time Warner sold Jack Tramiel Atari, he wanted to focus on the computer lines (Atari 800, etc.) and dropped all development of the consoles (including Atari 7800). When Nintendo entered the market and was so successful, Atari branded their Atari 2600 as a budget alternative. I would expect most people who wanted an Atari 2600 probably already got one during the big liquidation. any new purchases were from parents who weren't able to get an NES during Christmas and figured it was a video game system. Sort of how some parents probably bought Dreamcasts for $99 when the PS2 shortage occured in 2000. There were millions of VSC carts out in the wild back in the late 1980s, so I expect few new games were sold. By the late 1980s, the VCS was probably seen as outdated junk. There were some new releases as late as 1989 (or KLAX in 1990), but when you compare the graphical and audio power of the NES, or Atari's own 800/5200 computer/console line, or the moth-balled 7800, the VCS was just no match. I did play my Atari 800 and VCS well into 1987, since my parents didn't want to purchase a new game system when I had a perfectly good one at home with hundreds of games. I loved the 800 even after getting an NES, because the games for the computer were so very different from the NES. After getting the NES though, I rarely played our VCS (or Bally Astrocade). I would still play it on occasion, especially the simultaneous multiplayer games, because those were the best kinds of games when sitting at the couch with your friends. The NES was amazing when it came out, and with the plethora of video game rental shops, most NES games could be rented for a weekend and beaten for $3-$5 before you had to return them. Then when the SNES/Genesis came out it was pretty much boxed up, and not touched again. I didn't start to replay my old Atari until many years later after discovering the High Score Club on AtariAge. I still have an appreciation for some of the amazing games that were pulled off with so little to work with in the original hardware, and do still like many of the multiplayer VCS games, but it was always difficult to find worthy opponents after all the new hardware came out. Few people want to play the old classics.
  2. https://www.old-computers.com/museum/software_detail.asp?st=2&c=878&id=649
  3. There are multiple ways to do this. One way, if you know the location of the bytes you want to change in the *.bin file is to upload the file to 8-bit workshop (select the three-line symbol in the upper-left and Upload) https://8bitworkshop.com/ Then the bin will be displayed in the edit pane. Scroll until you find the bytes you want to change, edit them, and then select Download bin from the menu. Stella also supports a cheat manager https://stella-emu.github.io/docs/index.html#Cheats
  4. The Stella Programmers guide could help. what you want isn’t possible. You would have to swap the objects, and make P1 the sprite, and put M0 atop it. https://alienbill.com/2600/101/docs/stella.html#tiaprog9.0 <q>9.0 Object Priorities This priority assignment means that players and missiles will move in front of the playfield. To make the players and missiles move behind the playfield, a "1" must be written to D2 of the CTRLPF register. The following table illustrates how the priorities are affected: Priority Objects 1 BL, PF 2 P0, M0 3 P1, M1 4 BK One more priority control is available to be used for displaying the score. When a "1" is written to D1 of the CTRLPF register, the left half of the playfield takes on the color of player 0, and the right half the color of player 1. The game score can now be displayed using the PF graphics register, and the score will be in the same color as its associated player. </q>
  5. Depending upon what operating system you are using, there are command line tools that will rename files for you from within a Shell in bulk (Linux has sed with mv, WinOS has ren) https://stackoverflow.com/questions/11270453/how-to-remove-spaces-from-file-names-in-bulk https://stackoverflow.com/questions/20791264/how-to-replace-all-spaces-by-underscores-in-all-file-names-of-a-folder
  6. At least when the 2600 AHA awards add the best 2600 Hacks, Omegamatix will be in-line for 1st, 2nd, and 3rd. With these quality of life improvements for the original AtariGanes titles, Venture Reloaded, and the numerous trackball hacks he should likely sweep the field or be up for a lifetime achievement award.
  7. On possible way to alleviate some of that is for the developer to link to a video of a Long Play, showing all the content, or provide a ROM with a level select or some way to cheat and easily see all the content. i know that with the Pony game on Atari 800, I couldn’t get past the first screen because I didn’t understand how the teleporter worked. It wasn’t until ZPH played the game that I was able to progress.
  8. I agree that I don’t think anyone commenting on this thread was Concern Trolling (definition: To pretend to ally with a viewpoint, while secretly being against that viewpoint and voicing concerns). The people voicing concerns that ARM games aren’t properly labeled as Atari 2600 ARM supported games have been vehemently arguing that non-ARM games shouldn’t be compared to them rather then pretending to be on the same side as people who believe ARM games are just an extension of technological advancements that come with 40+ years. I think ZPH might have overreacted because the discussion has lead to some great 2600 developers indicating that similar comments have made them want to quit the community. While I side with RT that I’d it plugs into the slot and is displayed on the TV it’s an Atari 2600 game, and I have a hard time understanding the argument that extra-ram / co-processors / better tools somehow stop it from being an Atari game, those people are entitled to have that opinion. I also understand some developers challenging themselves and restricting themselves to 4K (or less) and coming up with some unique games like NoRAM Pong and RAM Pong. Or writing only in 6502 assembly, or challenging themselves to make the best game possible on the Atari’s meager resources by using ARM assistance. Games like NES Doom have modified my opinion of what an Atari 2600 game is from a developer viewpoint. NES Doom doesn’t qualify as an NES game, because the game didn’t have to be rewritten for the NES. The real work was developing the driver that converts the output of the RaspberryPi to a format that the NES’s picture processing unit can display. Once that was done, anything that runs on the RasPi now runs on the NES. The wonderful thing about something like SpiceC is that a game can be written in C and be more easily ported to multiple platforms, rather than trudging along in 6502 assembly and having to rewrite the game extensively if you want to port it to other platforms. (A question for the developers here: How difficult is it to port your Atari 2600 assembly game to other platforms like the Atari 400/800, C64, or NES? I figure since the Audio/Graphical hardware is so different between the platforms that the majority of the code has to be rewritten anyway. I would figure that a800 shouldn’t be too different though since it supports a ball, 4player/4missile (although my understanding is it supports multiple graphic modes and many games have to constantly switch between those modes to draw the screen. I.e. MULE uses character mode to write text at the bottom of the screen, but uses one of the other graphics modes to display the plots) For developers who have written in bBasic, or DCP+, and 6502 assembler, does developing the game using those other frameworks feel the same as writing 6502 assembly? I get the feeling you still need to be very cognizant of the TIA’s ability to only output two players, two missiles, and a ball per scanline. If that is the case, then bBasic/DCP+/ARM games would still feel very much like developing a game for the Atari 2600 using only 6502 assembler.
  9. I think the backlash against bB was due to a lot of poorly developed games being pumped out because of how easy the bB framework made it to create a simple game. Developers/Consumers were afraid that too many poorly designed games would flood the homebrew market making it harder for the great games to be found. The backlash against ARM is mostly due to the fact that ARM allows for games to look much better than non-ARM assisted games. I don’t think consumers were complaining. Developers being upset that ignorant consumers would compare the ARM games to their non-ARM assisted games, as unfair don’t have a good argument. I don't think ARM games should fine forced to brand their games with a label so that people would stop complaining the graphics don’t look as good on 4K games. Developers make their own choices about what constraints they are willing to accept for their games, and since ARM/Melody boards exist, they shouldn’t complain that someone else is using technology that they chose not to use for their own game. I think that there will be less backlash against SpiceC than there was for bB (the tool will have a similar effect, making it easier to make a game for the 2600 without writing in 6502 assembly). I love that tools that you/RandomTerrain write make it easier for people to make games for these ancient systems. I think that is what helps keep the homebrew scene alive. Things like the NES Maker or Scratch by MIT make more people interested in creating games, and lower the barrier to entry. Sure, there might be some people who pump out some horrible games, but because the tools exist we will also get some amazing games from developers who wouldn’t have even tried without the tool existing.
  10. It is all a matter of perspective: In the eyes of the players: If it plugs into the cartridge slot, accepts inputs from the controllers, and outputs video through the coax, it is an Atari 2600 game. As far as many consumers are concerned, they either don’t have the technical knowledge or don’t care to know how it does it, they just want it to play on their system. What about people with RGB mods, games requiring custom controllers, or Starpath games? The Atari 2600 cannot natively output RGB, but I don’t think anyone would argue that improving the video output signal causes a game system to stop being the original system. (X-box 720p games) Similarly, some homebrew games have taken advantage of the fact that a Genesis controller can be used on an Atari 2600, adding an additional button. This is equivalent to requiring a Booster Grip controller for Omega Race, or the Dual Stick and foot-pedal controls for Steel Batallion on X-box. Requiring a specialized controller does not stop it from being a game for that console, it just fragments the market. Starpath, CBS Ram+, and other cartridge enhancements that increase the RAM of the system have long been used to increase the graphical capabilities of a system and extend its life. The NES has a handful of games that used the MMC5 chip to boost the RAM from 2K to 3K, in addition to other performance enhancements. I don’t think these sort of enhancements prevent it from being a 2600 game. In the eyes of a developer: What exactly is an Atari 2600 “game”. Does the game have to be specifically written in 6502 assembler? If the game isn’t written in 6502 assembler, is it not a 2600 game? Several computers and game systems had a 6502 as their main processor, but different graphic/sound chips and available memory. If it were possible (it isn’t) to build an efficient cross-compiler that could compile C code into Atari 2600, Commodore 64, and NES to work specifically with those systems audio/video constraints, would that game be all three types? (Higher level language compilers are never as efficient at creating hand-written assembler, so this hypothetical couldn’t really ever happen). Games like NES Doom blur the line at what really is an NES game. The NES Doom hack is impressive, but I wouldn’t say that Doom is now an NES game or has been ported to the NES. TheRasteri cleverly engineered a way to convert the VGA signal to a graphical format the the Picture Processing Unit was able to produce. Similarly, I wouldn’t call Quake an oscilloscope game. So are ARM assisted games mostly C games (or ARM7 assembly), and not Atari 2600 games. Maybe. If the majority of the code was written in C or Arm Assembly, from a developer perspective, it probably wouldn’t be considered an Atari 2600 game. On the other hand, if the ARM7/C code is having to specifically address updating the TIA/6502 for this specific game (I.e. someone hasn’t written a driver to handle all this for you.), then the game is either a Atari 2600 game (or you are creating a new driver to display your game using the Atari 2600 limitations. I guess that would make Atari Bbasic games Bbasic games, and CDJF games CDJF games. (I haven’t tried using Spicewares new framework, so I might be vastly overestimating how much of the framework handles updating the 6507/TIA for you. Nor do I have any Bbasic experience)
  11. @Andrew Davie, how to you plan on representing the board state? (12x12 board, to make it easier to determine if a knights move is legal and on the board), 0x88 method, rotated bitboard? https://en.m.wikipedia.org/wiki/Board_representation_(computer_chess)
  12. You misunderstood Todd’s response. The RAM required to store the uneaten dots for the current and non-current player is considerable. Due to Atari wanting the game to be two player, he was unable to use RAM to help reduce flicker. I doubt that that making a one-player 2K pacman game two-player would double the ROM usage (only need to create additional game logic for reading additional switch settings, game options, who is the current player, etc. Where as, keeping track of 100+ dots for 2 players would nearly double the RAM usage (tracking 128 dots would require 16 bytes. Then you have additional things to track, score (2 Bytes), and all the other stuff like temporary location of pacman, ghosts, etc) Wikipedia — Linked video (15) is from Portland Retro Gaming Expo, featuring Todd Frye talking about Pacman for 2600.
  13. I don’t think that frying the cart would have any effect (not TV/region differences or difficulty switches). Activision was well aware of a technique to clear the Atari 2600 registers and memory using little ROM space. They likely implemented a section of code similar to this below. (Stolen from 8bitworkshop, and similar to what is in Pitfall!). I cannot check the disassembly above, but it likely has a CLEAN_BOOT section just this below. ; Typical initialization routine ; ('start' is a label because it's on the left margin) Start sei ; disable interrupts cld ; disable BCD math mode ldx #$ff ; init stack pointer to $FF (grows upward) txs ; ... transfer X register to S register (stack pointer) ; Another typical thing is to clear the zero page region ($00-$FF) ; This includes a bunch of TIA registers as well as RAM ($80-$FF) lda #$00 ; set A register to zero ('#' denotes constant) ; X register is already at $ff from previous instruction, so let's loop... Zero sta $00,X ; store A register at address ($0 + X) dex ; decrement X by one bne Zero ; branch until X is zero sta $00 ; the loop doesn't cover address 0
  14. Does this Seaquest gameplay exhibit the behavior you are talking about?
  15. The section of code that gets the next seed value might be useful as well. Normally, the seed is constantly updated every frame, but is only used based upon some users input so that it appears random. While unlikely, it is possible that the random seed has some bug in it, or is based upon some input that you can duplicate every level. As to your side note, the level of interaction in the thread is about what I expect. You need all these elements to likely elicit a response. 1) A player who either believes you that enemies always come from the same side of the screen eventually, or someone who gets high scores regularly and has experienced this themselves. 2) A person who understands and has located the disassembly or has followed the game code in Stella or other emulator. 3) Someone who cares about this behavior more than you do. Someone for which those three things is true is unlikely. Perhaps you could provide some video evidence (or evidence of any kind) that this behavior occurs, and when it occurs (what level, approximate score, etc). Upload a video to YouTube or find a Longplay/High score video which shows this happening. Right now, as you said, it should be more or less random.
  • Create New...