-
Content Count
173 -
Joined
-
Last visited
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by azure
-
I've uploaded the latest version 0.7. Progress is going slow, so there's not a huge number of new features. Graphical features added in this update: Animated title screen Card shoe indicator Joystick indicator for available moves Logic updates: A number of inefficient routines were rewritten and dramatically improved. Progress on reducing RAM usage for sprite drawing. Two sets of sprite pointers (12 bytes each; 24 bytes total) were used to quickly display two sets of 6 sprites in two adjacent rows. I've rewritten most the drawing routines to use only a single set of sprite pointers reducing the RAM usage to 12 bytes. There are a few more to rewrite, so I expect to finish those off in the next release. Dramatic reduction in ROM usage for multi-colored 48 bit sprites. I was previously using an unrolled loop to accomplish the effect, which consumed a lot of ROM space. I've rewritten the routines preserving the loops by aligning cycles to exactly 76 per scan line. Fixed a bug in my bank switching routine. It was triggered when the routine crossed a page boundary, which created a math overflow bug, so the bug did not manifest in all versions. I am looking in the following tasks for the next update. Arenafoot's suggestion for an input delay for debounce. The code has debounce logic, but a joystick delay may improve the current debounce logic. Card dealing animations Making player chips (bottom row of chips) reflect how many chips the player has. Game options Further reductions in RAM and ROM usage Fixing a bug that corrupts memory due to a bad loop. I've only seen it occur a few times, so I haven't narrowed down the loop that's causing it. Revising my sound driver to support 2 channel audio clips. Currently, they play on a single channel. They are bound to whichever channel is available. This will reduce an extraneous bankswitch call by merging 2 calls to 1 call. I've been entertaining the idea of tracking statistics for the player's game play and adding a statistics screen. With the reduction in RAM usage, I may have the space for it. Update: Coincidentally, I discovered the cause of the memory corruption bug after I submitted my last post. It's a bug that's been in the code since the beginning. If the dealer deals their own hand 7+ cards, it corrupts memory after the card array.
-
I'm posting a text listing of TIA timings I've put together. I haven't seen a listing for reflected playfields, so I'm including that. Cycles right of the | are on the |. Cycles left of the | are one space left of the |. Repeated |0 15|16 31|32 47|48 63| |68 | TIA |0 5|5.3 10.3|10.6 15.6|16 21| |22.6 | CPU |---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---| |68 83|84 99|100 115|116 131|132 147| TIA |22.6 27.6|28 33|33.3 38.3|38.6 43.6|44 49| CPU |---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---| | PF0 | PF1 | PF2 | |---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---| | 4 8 12 | 20 24 28 | 36 40 44 | 52 56 60 | 68 72 76 | |0 15|16 31|32 47|48 63|64 79| PIXEL |148 163|164 179|180 195|196 211|212 227| TIA |49.3 54.3|54.6 59.6|60 65|65.3 70.3|70.6 75.6| CPU |---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---| | PF0 | PF1 | PF2 | |---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---| | 84 88 92 | 100 104 108 | 116 120 124 | 132 136 140 | 148 152 156 | |80 95|96 111|112 127|128 143|144 159| PIXEL Reflected |0 15|16 31|32 47|48 63| |68 | TIA |0 5|5.3 10.3|10.6 15.6|16 21| |22.6 | CPU |---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---| |68 83|84 99|100 115|116 131|132 147| TIA |22.6 27.6|28 33|33.3 38.3|38.6 43.6|44 49| CPU |---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---| | PF0 | PF1 | PF2 | |---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---| | 4 8 12 | 20 24 28 | 36 40 44 | 52 56 60 | 68 72 76 | |0 15|16 31|32 47|48 63|64 79| PIXEL |148 163|164 179|180 195|196 211|212 227| TIA |49.3 54.3|54.6 59.6|60 65|65.3 70.3|70.6 75.6| CPU |---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---| | PF2 | PF1 | PF0 | |---+---+---+---+---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---| | 84 88 92 | 100 104 108 | 116 120 124 | 132 136 140 | 148 152 156 | |80 95|96 111|112 127|128 143|144 159| PIXEL Repeated Off Screen | 0 3 | 4 7 | 8 11 |12 15 |16 19 |20 23 |24 27 |28 31 | TIA | 0 1 |1.3 2.3|2.6 3.6|4 5|5.3 6.3|6.6 7.6|8 9 |9.3 10.3| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 |12 13 14 15 |16 17 18 19 |20 21 22 23 |24 25 26 27 |28 29 30 31 | PIXEL |32 35 |36 39 |40 43 |44 47|48 51 |52 55 |56 59 |60 63| TIA |10.6 11.6|12 13 |13.3 14.3|14.6 15.6|16 17 |17.3 18.3|18.6 19.6|20 21 | CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |32 33 34 35 |36 37 38 39 |40 41 42 43 |44 45 46 47 |48 49 50 51 |52 53 54 55 |56 57 58 59 |60 61 62 63 | PIXEL |64 68 | TIA |21.3 22.3| CPU |---+---+---+---| |64 65 67 68 | PIXEL On screen PF0 | 68 71 | 72 75 | 76 79 | 80 83 | TIA |22.6 23.6|24 25|25.3 26.3|26.6 27.6| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 |12 13 14 15 | PIXEL PF1 | 84 87 | 88 91 | 92 95 | 96 99 |100 103|104 107|108 111|112 115| TIA | 28 29 |29.3 30.3|30.6 31.6| 32 33 |33.3 34.3|34.6 35.6| 36 37 |37.3 38.3| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |16 17 18 19 |20 21 22 23 |24 25 26 27 |28 29 30 31 |32 33 34 35 |36 37 38 39 |40 41 42 43 |44 45 46 47 | PIXEL PF2 |116 119|120 123|124 127|128 131|132 135|136 139|140 143|144 147| TIA |38.6 39.6| 40 41 |41.3 42.3|42.6 43.6| 44 45 |45.3 46.3|46.6 47.6| 48 49 | CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |48 49 50 51 |52 53 54 55 |56 57 58 59 |60 61 62 63 |64 65 66 67 |68 69 70 71 |72 73 74 75 |76 77 78 79 | PIXEL PF0 |148 151|152 155|156 159|160 163| TIA |49.3 50.3|50.6 51.6| 52 53 |53.3 54.3| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |80 81 82 83 |84 85 86 87 |88 89 90 91 |92 93 94 95 | PIXEL PF1 |164 167|168 171|172 175|176 179|180 183|184 187|188 191|192 195| TIA |54.6 55.6| 56 57 |57.3 58.3|58.6 59.6| 60 61 |61.3 62.3|62.6 63.6| 64 65 | CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |96 97 98 99 |100 101 102 103|104 105 106 107|108 109 110 111|112 113 114 115|116 117 118 119|120 121 122 123|124 125 126 127| PIXEL PF2 |196 199|200 203|204 207|208 211|212 215|216 219|220 223|224 227| TIA |65.3 66.3|66.6 67.6| 68 69 |69.3 70.3|70.6 71.6| 72 73 |73.3 74.3|74.6 75.6| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |128 129 130 131|132 133 134 135|136 137 138 139|140 141 142 143|144 145 146 147|148 149 150 151|152 153 154 155|156 157 158 159| PIXEL Reflected Off Screen | 0 3 | 4 7 | 8 11 |12 15 |16 19 |20 23 |24 27 |28 31 | TIA | 0 1 |1.3 2.3|2.6 3.6|4 5|5.3 6.3|6.6 7.6|8 9 |9.3 10.3| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 |12 13 14 15 |16 17 18 19 |20 21 22 23 |24 25 26 27 |28 29 30 31 | PIXEL |32 35 |36 39 |40 43 |44 47|48 51 |52 55 |56 59 |60 63| TIA |10.6 11.6|12 13 |13.3 14.3|14.6 15.6|16 17 |17.3 18.3|18.6 19.6|20 21 | CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |32 33 34 35 |36 37 38 39 |40 41 42 43 |44 45 46 47 |48 49 50 51 |52 53 54 55 |56 57 58 59 |60 61 62 63 | PIXEL |64 68 | TIA |21.3 22.3| CPU |---+---+---+---| |64 65 67 68 | PIXEL On screen PF0 | 68 71 | 72 75 | 76 79 | 80 83 | TIA |22.6 23.6|24 25|25.3 26.3|26.6 27.6| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 |12 13 14 15 | PIXEL PF1 | 84 87 | 88 91 | 92 95 | 96 99 |100 103|104 107|108 111|112 115| TIA | 28 29 |29.3 30.3|30.6 31.6| 32 33 |33.3 34.3|34.6 35.6| 36 37 |37.3 38.3| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |16 17 18 19 |20 21 22 23 |24 25 26 27 |28 29 30 31 |32 33 34 35 |36 37 38 39 |40 41 42 43 |44 45 46 47 | PIXEL PF2 |116 119|120 123|124 127|128 131|132 135|136 139|140 143|144 147| TIA |38.6 39.6| 40 41 |41.3 42.3|42.6 43.6| 44 45 |45.3 46.3|46.6 47.6| 48 49 | CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |48 49 50 51 |52 53 54 55 |56 57 58 59 |60 61 62 63 |64 65 66 67 |68 69 70 71 |72 73 74 75 |76 77 78 79 | PIXEL PF2 |148 151|152 155|156 159|160 163|164 167|168 171|172 175|176 179| TIA |49.3 50.3|50.6 51.6| 52 53 |53.3 54.3|54.6 55.6| 56 57 |57.3 58.3|58.6 59.6| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | BIT |---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| |80 81 82 83 |84 85 86 87 |88 89 90 91 |92 93 94 95 |96 97 98 99 |100 101 102 103|104 105 106 107|108 109 110 111| PIXEL PF1 |180 183|184 187|188 191|192 195|196 199|200 203|204 207|208 211| TIA | 60 61 |61.3 62.3|62.6 63.6| 64 65 |65.3 66.3|66.6 67.6| 68 69 |69.3 70.3| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---| |112 113 114 115|116 117 118 119|120 121 122 123|124 125 126 127|128 129 130 131|132 133 134 135|136 137 138 139|140 141 142 143| PIXEL PF0 |212 215|216 219|220 223|224 227| TIA |70.6 71.6| 72 73 |73.3 74.3|74.6 75.6| CPU |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| | 7 | 6 | 5 | 4 | BIT |---+---+---+---|---+---+---+---|---+---+---+---+---+---+---+---| |144 145 146 147|148 149 150 151|152 153 154 155|156 157 158 159| PIXEL
-
Are Sony Trinitron TVs as Good as Everyone Says?
azure replied to Games Retrospect's topic in Classic Console Discussion
This is a good explanation of why Trinitrons were better until Sony's patent expired. -
Clever or interesting uses of the BRK instruction?
azure replied to AkashicRecord's topic in Atari 2600 Programming
It can be used for calling a subroutine with an argument. The BRK instruction takes an extra padding byte after the instruction. References frequently list BRK as being a 1 byte instruction, but it actually uses 2 bytes. I'm using it in my game for a generalized way to call subroutines in other banks with 1 byte argument. It can be used to quickly strobe two bytes on RESx. That's also mentioned in the link above. It can also be used to implement cooperative multi-tasking by placing task switching code in the interrupt handler. -
FYI: There is a buffer overrun bug in the latest version. It's happened twice in the span of 15 minutes of play, so if you see weird graphic issues or blanking out, it's probably that.
-
I could disable the joystick for a short period of time after the hand ends to eliminate inadvertent button presses.
-
I've not been able to reproduce this. I'll spend some time trying to reproduce it, but right now I don't know what it is. I checked the Award's video again frame by frame. I'm pretty sure Darcy pressed the joystick up (STAY) and followed with a trigger press (CONTINUE), which means it worked as I intended it to. I made the trigger button function only as continue, because if I make the same button be both hit and continue, then accidental double presses would quickly advance to the betting screen, which would deny the user a chance see the result. I could switch around the joystick functions, but I think that would be more confusing. I chose up for stay and down for hit to mimic the motion you make on a real blackjack table. I'm not sure how I can program the buttons differently to prevent missing the results. If I add confirmation dialog to continue, it would disrupt the flow of fast play. As I have it now, you can double press the trigger button to quickly select the same bet and start a new hand. I'm open to anyone's suggestions on how to make the functions easier. I was planning to use the bottom chip row to show a joystick indicator or maybe put it above the dealer's row and shift everything else down. I'm running out of screen real estate, so I don't have many options without dramatically changing the layout (which I don't want to do). I really wanted to avoid flicker in this game so, using the side areas isn't going to work.
-
I've attached version 0.6 to the first post. Most the changes are non-graphical. I've bumped the ROM size up to 16K, because there wasn't going to be enough space for the animations I plan to add. I will be adding card animations on the deal (suggested by Thomas Jentzsch), but it's going to require some refactoring. There is a lot of code that could be further optimized, but it may not be worth the effort. The next priorities are going to making available moves more intuitive, adding game options, animations, and finishing polish. This update includes: A patch for a betting bug found by Arenafoot Sound effects A few routines were optimized Reorganized code for F6 bankswitching Wrote a simplified sound driver for sound effects The bank layout is: Bank 0 contains the title screen. Bank 1 contains the game screen. Bank 2 contains game logic. Bank 3 contains the sound driver and sound data. I had to add ballast code to get it to work on the Atari portable. I presume the portable was having trouble detecting the memory model. Thankfully, I had previously read a thread recommending it, so that saved a lot of debugging time.
-
It's interesting. The character sprites are great. Although, something strange happened standing on the spot on this screen. I kept picking up something whenever I pressed select (ESC on the keyboard). It happened on the chest also. Repeatedly pressing the button seems to keep adding points.
-
I bought two of these extension cables last year. They're somewhat cheap, but there's a long shipping time. I think it was about 3 weeks. https://www.ebay.com/itm/9-Pin-1-8M-6FT-Extension-Cable-Cord-For-Sega-Genesis-2-Controllers-Handle-Grip-/122740102001 They are not high quality, but they work fine. I use them as an easy way to swap joysticks without re-plugging into the back of the 2600.
-
I'm uploading a patched binary that works on the Flashback Portable. The AFP doesn't seem to like my program calling VBLANK in the overscan.
-
It does seem reminiscent of Xevious. The air battle would be similar, but I was thinking of interaction with ground bases. I like the idea of landing on bases for completing tasks (picking up colonists or supplies). That's why the ship flies backwards, so if you miss something you'll have to go back. I also like River Raid's game play so there might be elements of that in there like blowing up bridges or enemy encampments. I plan to add water, desert, and snow terrain. I can get that free by changing colors.
-
This is something I've been working on. It's not much. It's very basic, but the motion took way too long to get working the way I like. It's my 2nd game, so I'm still figuring things out: mostly audio and sprite positioning. It's coded in assembly. It started out as a background scrolling experiment. Then it became a kick ball game. Then I added motion acceleration. Then the player became a space ship. I suppose now it's going to be a shoot 'em up. The ground detail was supposed to be 1 line resolution, but that didn't leave enough cycles left, so it's a 2 line kernel now. The ground pattern is generated by an algorithm at compile time and repeats on a 64 byte cycle. I was thinking about doing horizontal scrolling too, but I'm not sure yet. I'm going to add some alien ships and some ground bases. It'll be about defending an exoplanet colony called Proton. It's also using my code for table driven vertical positioning. It's an algorithm that uses a generic table of offsets, which is referenced by pointers. It shaves off a couple cycles at the expense of ROM (2 x 192 bytes + SpriteHeight). All sprites share the same table, so it's not duplicated. I'll put code samples in a blog post later on. proton.bin
-
I ended up missing the live show. When I went to check the time again tonight, I thought I had read the time wrong.
-
What's the most obtuse Rube Goldberg contraption for loading a game? I think it needs a robot arm to tap the telegraph machine and a Raspberry Pi to control the robot. Some how this connects to the record player reading the game software.
-
What you're asking for is extremely difficult. Displaying any photograph on an Atari 2600 is a major undertaking, because the system doesn't natively support bitmapped graphics beyond two 8 pixel wide sprites. It can be done, but it requires a combination of sophisticated techniques and tricks, and the result is sub par with a blocky and pixelated result. The second issue is which game? If it's an original game released in the 70s or 80s, there is no source code. The game would have to be disassembled and commented instruction by instruction by hand. Variables and subroutines would have to be identified, understood and named. That is a difficult multi-week or multi-month undertaking depending on the complexity of the game, the experience of the developer, and how much free time they have. Most of us are working on this part time, so we might have anywhere from 4 to 20 hours per week to work on projects. The best option would be selecting a game that's already been disassembled and commented, but that list is very short. The third issue is does the game have enough remaining ROM space for inserting a photo and the accompanying code for rendering it? Space is limited so just about every 2600 game consumes all or most of the available ROM space. Half of the development process involves weeks or months optimizing and shrinking code so that more features can be squeezed into ROM. Every developer wants to pack their game with the most features possible, so they aren't going to leave blocks of ROM going unused. The fourth issue is does the game have enough remaining RAM space? Many 2600 games use all the RAM, so extracting a single byte could require rewriting parts of the game that have already been through several rounds of optimization for space reduction. The fifth issue is with the memory model of the game. Is it 2k, 4k, or 8k bankswitched or higher? Converting a 4k game to a bankswitched game is not a simple process. It requires decisions such as: Do I need one kernel for all banks? Should I use a different kernel for each bank? Can I move subroutines to another bank? Can I share subroutines between banks? Does this kernel need speedy access to data in another bank? Which subroutines and data must be duplicated in each bank? Answering these questions requires extensive analysis and deep understanding of how the game works. Simply adding another bank is not enough. The easiest option would be choosing a 2k game and expanding it to a 4k, but have you seen many 2k games? The original 2k titles were very simplistic and not that appealing next to 4k games that came out later. The sixth issue is time and motivation. What's in it for the developer? It may seem like an easy task for someone unfamiliar with the Atari 2600's internals, but making simple things happen on the 2600 is not simple. Is there a compelling reason for someone to spend months working on your project? I wouldn't, because I don't have enough time for my own game. In addition to working on a game, I've been spending time on several partially implemented projects that will never be posted online. I have a text file containing 17+ game concepts I'm thinking about for my next game. Maybe one of those will get implemented, but I have to be choosy, because I'll be living with it for 6 to 18 months. I'm also investigating interesting graphic effects that could be used as the basis of a game. I've been a lurker since 2008, but I've only begun to get involved in the late spring of 2018. I'm positive the experienced developers doing this a lot longer have considered and discarded thousands of concepts and hundreds of unfinished projects. There isn't enough time in a life to accomplish all things we want to do on this platform. Atari 2600 development is really time consuming, and it's an uphill struggle every step of the way, so I'm skeptical you're going to find someone interested.
-
This needs to go another level deeper. Software on phonographic wax cylinders.
-
I got a copy of Ace Combat 3 off Ebay. It looked interesting, so I'll see how it goes.
-
I got it at the Goodwill for $20. It turns out it's a NTSC Japan region locked PS1. I live in USA, so I've been debating on whether to keep it or sell it. Do you think it's worth keeping? I'll still be getting a USA PS1 in either case. I don't know much about PlayStation systems, because I have only owned a PS4 and my kid mostly plays that.
-
Crystal Castles is one of my favorite 2600 games. I have the joystick down. I try to move diagonally to scoop up the gems in a diagonal row. I'd like to try a trackball version though.
-
This is no joke!
-
I finally finished reading the thread from start to finish. Whew. That was a lot of hard work.
-
Atari Flashback Portable programming considerations
azure replied to Karl G's topic in Atari 2600 Programming
I'm getting an AFP for compatibility testing, but not sure which one to get. Is the emulation in the 2016 version identical to the 2017 version? Did they fix the emulation bugs in the 2017 version? -
That fixed version of E.T. from Neocomputer.org (and E.T. in general)
azure replied to Colmino's topic in Atari 2600
If I had this version in 1983, I would have played a lot more E.T.. I read the manual a few times, but I still could not get a handle of the game due to those pits. Raiders of the Lost Ark was one of my favorites, but it had a polished feel to it. E.T. felt rushed. If only HSW had just a couple more weeks to fine tune this one...
