Jump to content

Search the Community

Showing results for tags 'VCS'.



More search options

  • 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
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • 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 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
  • 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

Blogs

There are no results to display.

There are no results to display.

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

  1. You be the judge https://www.ebay.com/itm/RARE-Columbia-Home-Arcade-Vintage-Console-Atari-2600/123351849046?hash=item1cb857d856:g:2IUAAOSwd~Zbj1Bf
  2. THE PROBLEM Breakout breaksdown, Kaboom! goes BOOM!, Video Olympics becomes the Special Olympics, Circus Atari is a real circus, and WarLords battle themselves like drunken soldiers. What the fuck is wrong with Paddle emulation?? Let us examine the problem in depth. We must also remain cognizant of the style of controller we are using. We grew up and learned to play Paddle games (not that whacking your sister in the ass game) with a real spinning knob, a real rotary knob. Making the jump to a straight-line type of motion dictated by the mouse is certainly going to be different. Yes. Though it's not as if we're playing tempest with a keyboard or flight simulator with a trackball. If done correctly the differences will be minimal and we can transition over nicely. It begs the question of purity. How pure of an emulation do you want? How pure of an original experience do you want? How much in-between? If we stay with pure emulation, that means using PC hardware and only PC hardware to recreate the classic gaming experience. This means keyboard and mouse, box and monitor. Roms are to be loaded from your 12 terrabyte hard disk and you get upset when your I7 shows more than 2% usage while jamming Slot Racers or Math Grand Prix. Perhaps you might use a PC-style joystick. That's all you get. It's up to the programmer to re-create the Classic Gaming Experience using just that hardware. Nothing else. It's up to the programmer build the best possible emulator. The bit of software that makes your system think it's something else. The only "original" component allowed here is the ROM code or Game Program as I like to call it. And it must be loaded from some form of PC style storage, like that 12TB HDD! If we go with 100% original experience, that will mean no emulation. This means effectively playing on a real VCS with a real glass non-flat CRT tuned not 100% accurately to channel-3, and a real Atari-factory-made Paddle or Joystick controller. No Harmony cartridge either - only real cartridges with original masked ROM chips, or the later-day variety that used fusable links or diodes, also known as PROM's. It also requires a shag-carpet floor and harvest-gold appliances in the kitchen and wood paneling in the basement. With 80's music being played on cassette or LP vinyl. That, my friends, is purity! And there's the hybrid in-between experience. This usually involves a PC somehow, either for running emulation or stuffing a Harmony cart to be used in a real VCS connected to your computer monitor via a video mod. You might have built-in a pause circuit too. Perhaps it could be Stella running on a PC connecting to a CRT monitor. Or maybe running with a modern-day flatscreen and turning on Blargg effects. You might be using any number of various controllers, flightsticks, gamepads, through USB and bliss-a-boxes, the old-skool SoundBlaster analog port, or perhaps a Stelladapter with real VCS controllers. Shit, you might even have built an FPGA interface to a real TIA or RIOT and have re-wired the 6 control switches to the F1-12 keys somehow. Maybe you've even built your emulator into a real arcade console! Whatever the mix it's sure to consist of the old and new. Tonight we will be concerning ourselves with 100% pure emulation and making sure we get the best possible experience with PC-only hardware. Having said that, know there are are subtle, but very real, tracking errors in Mouse-Paddle emulation in Stella. This is disruptive to a positive experience when playing fast action Paddle games. There are FOUR distinct issues surrounding Paddle controller games we need to explore in response to gamers' statements citing "The emulation of the Paddle isn't right!" On the surface this manifests itself as lag-time; when in reality it is much more. In fact we will soon see that lag time is not significant at all! BASIC TEST METHODOLOGY Let's take it from the top and set some things straight. We will burn away the irrelevancies until the core failure modes become crystal clear. In visiting the phenomenon of lag it is important to know where it comes from. The lag in my particular monitor and rig is 8.6ms. This is not some figure I pulled out of my ass or came up with by reading by specification sheet that mentioned the monitor's refresh rate, but by actual measurement with an oscilloscope and timer/trigger. It corresponds nicely with the 125Hz standard refresh rate of a default Windows XP installation and standard Microsoft drivers. How? What? Let us take it apart and see what we can see. Be aware I'm describing a worst-case for anyone using a Windows XP based system. Consider this measurement. It begins from the physical mouse movement, through the digital camera in the mouse optical pickup, though the usb cable, to the usb chip, to the ICH southbidge, to the northbridge & memory controller, then CPU & memory, then graphics chip, through the DAC, out the vga cable, to the monitor's ADC, internal conversion & scaling circuits, and then to the pixel array block, and it stops with the complete flipping of the LCD crystals. Your mileage may be different and your signal route may take slightly different steps. But the map is the same. Basically it's the whole path from Mouse to Pointer. This test takes into account all the interrupt delays, and usb polling delays, and software processing delays. You get the point - it measures the time of the whole chain of events beginning with the time you move the mouse till the time the cursor moves onscreen. Let me comment that the monitor typically adds in another 1ms. My test monitor is spec'd for 8ms response time, but that is a complete change from black to white or vice versa. Partial changes may take longer to complete. Making your LCD monitor go from RGB 0,0,0 to RGB 255,255,255 it's gonna snap almost instantly. That's the factory spec, here, of 8ms. Going from RGB 120,120,120 to RGB 150,150,150 is going to take a lot longer. This is because the voltage difference isn't yanking the wanker as hard. It's a gentle change and the pixels tend to drift over to the new value. Some monitors will yank the pixels real hard in one direction and then upon arrival at the new color, stop and apply the correct voltage to maintain the new color. The photodetector I am using to sense a pixel change is looking at any change, so it will consider the "job done" somewhat ahead of time. More like 1ms! It detects the pixel's intensity change before it's half-way-through the complete flip. But that is good enough for our testing. If not excellent! It also simulates results as if we had $4,000 state-of-the-art LCD display. Grand! In slow response monitors you can observe the entire 8ms flip time as an ever so slight dimming of the edges of a moving object. This is the nature of LCD displays. This is not really relevant here. Nor is the time the monitor spends processing and flipping pixels. These little delays are not cumulative, they're not significant, they don't add up to anything affecting the operation of the Paddle controllers or how the onscreen game elements interact with your perception. If it helps to know, I tried the same suite of tests on an analog RGB monitor with no processing overhead and came up with similar results. THE PERFORMANCE NUMBERS, WHAT THEY MEAN AND WHERE THEY COME FROM Windows' specification has the mouse operating at 125Hz rate, or 8ms delay between mouse movements and pointer activity. Check. Software watching the USBPORT.SYS polling activity sees a PEAK performance as fast as 130Hz & 7.65ms delay. Check. The same software reports an Average time of 117Hz & 8.5ms. Check. My test rig hardware reports an Average time of 104Hz & 9.6ms. And Check..?? Yes.. So I say all three sources, the mfg specification, hardware test, and software test are all in agreement regarding how long it takes to process the mouse movements. The 1.1ms difference between what is reported by my hardware test rig and the software also takes into account the monitor delay, including processing time onboard the monitor, and pixel flipping time. These are highly repeatable tests. Let us be generous here and toss in 2ms of extra time so as to account for other system activities and disk access and shit like that, maybe some stretching by the monitor scaler. So as a raw baseline I've got 10ms inherent delay from the time the mouse is moved till the time something onscreen happens, that's what this specific system can offer to any program making use of mouse as an input device. 10ms! That's what the host system can advertise. And we are erring big-time on the slow side. I believe 8ms is constantly being achieved. But 10ms sounds good and accounts for minor system activities and housekeeping distractions.. Be aware that I didn't overclock the mouse, nor is it a special m0dDerZ BoISe "gaming" device festooned with 50 buttons and 6,000 dpi laser sensors. It's a shit-ass Microsoft business economy mouse. I believe that other systems more powerful or even older than this test system will have similar performance because this all low level and standard across the board for all Windows' systems. This 10ms delay is based on bus counters within the system. There is nothing special about my system. This is timing is sourced on fixed in hardware. It is known as the USB mouse polling rate. This rate, however, can be changed by editing the USBPORT.SYS file. I can set my mouse refresh rate to 1ms and 1,000Hz and get even better performance. In fact with the higher polling rate, we can bring the system's pointer response time way way below what the monitor can ever achieve. But for these tests, it's not beneficial or required to do so. By the way, I'm running the monitor at 60Hz refresh rate. I could go higher, but this seems to be average. This 60Hz rate is what the image and pixels are refreshed at. It is possible to set the monitor pixel refresh rate, and the image refresh rate to be different (or the same). This is similar to what you know as vsync. But with modern LCD's this can become ambiguous. As they may do processing and scaling, and in some designs the whole image may not even be updated; but only sections, and at different rates. A pseudo refresh-rate, if you will. Where the image is presented to you at a certain rate specified by your system, but not at the rate at which the monitor paints the picture. Vsync within vsync separated by a buffer! It also bears mentioning that the best of the best gamers can generally feel a lag time of 50ms between the time they do something and the time they note it on the screen. So that effectively eliminates LCD monitor processing time and system processing time from your perception. It's irrelevant here. And please don't spout off shit saying you can tell the difference between 5ms and 35ms ping times when playing online games. You can't. You may see differences when this time become cumulative and the "game" has made a number of calls to the server. When several packets have been sent and received and the game has to wait before updating the screen, THEN, and only then, do you complain about a slow internet connection. Many packets going back and forth with a 25ms lag will add-up. And they need to add up to about 50-60ms. Then you start whining to daddy about getting a deluxe internet package! Understand that the processor may need to complete many exchanges and the already-fast 5ms ping times now become multiplied perhaps 10 or 20 times before your screen gets an update. It's this multiplying effect and cumulative delay of those many packets that irritate your fragfest. Well, the advantage here in Paddle emulation is that the cycle is what it is. There are no cumulative delays that build up and then get output all at once. No waiting. For all practical purposes, the lag and delays described above are fixed, and very short. The host SYSTEM won't magically insert 200ms mega-delays unless it's underpowered and has to service other interrupts. Monitor lag and polling rates are not like a network game, where communication lag can build quite quickly. So the point I'm making is the video hardware is providing a solid steady timebase from which to work, and that is 10ms! Not a series of 10 5ms lags building up to to 50ms delay, or another series perhaps 16 35ms transmission lags topping out at 560ms! DEADLY! The most lamest gamer can easily discern 50ms from 560ms. Yeh? I conducted these tests with reasonable accuracy and in the spirit of what I described above. But we are going to make this easier and look at it in a way that eliminates a lot of tech-speak and is easily doable by you, right now. This can be done by everyone with no additional hardware or software. We will test with Kaboom!, and Stella, and your mouse.. Kaboom! is an excellent choice here because it is the best of the Paddle controller games for going down the rabbit-hole of time. It tends to distort time perception and drills you down pretty hard. Milliseconds can feel like minutes during parts of the game. It is in this state that you can best get a feel for the unresponsive crap emulation of the Paddle controllers. Now that the explanations of the sources of system delays are out of the way, we can now look into the four things that are wrong with Paddle emulation in Stella. Four things.. Let's take them one by one: 1- 1:1 PROPORTIONAL POSITION - The position of the game element(s) does not track linearly or reliably. I flicked the mouse back and forth within a clearly defined and specific area and eventually the game pieces, the buckets, end up on the left side of the playfield. Consistently. So I made a more accurate test instead of flicking around aimlessly on the desk. I dumped the mousepad and built a new one. I took a styrofoam block and covered it with a black cloth to ensure good tracking. Then at both left and right ends I set up some goal posts. So this is looking like a mini football field now. I put the mouse in the center and started the game. I first made sure the buckets were in the center of the screen more or less, by way of lining up the left edge of the bucket with the "n" in "Activision" as a reference. I moved the mouse left 3cm and then right by 6cm, then left 3cm, bringing it back to the starting point of 0cm. This should return the buckets to the center position. It did, almost, maybe a pixel off. In the left direction. I repeated the test a little bit faster. And it did it again. This time another pixel off. Cumulatively we're two pixels off-center now. Maybe that's not a big deal. It's getting there! Hmm.. What's going on?? So I did it even faster! How much *is* faster? Level 2 or 3 on Kaboom! That's a good indicator. Ahh hah! It is then that I noted, again, clearly the buckets aren't returning to the exact center, but a pixel or two further to the left instead. Moving up to level 4 and 5 the effect is a little more pronounced. Understand I'm not playing the game for points. Just using the levels as references to illustrate the speed at which I am moving the mouse pointer. The rate of error accumulation is dependent on speed, and the error is cumulative. And if you constrain the mouse to an area like your mousepad, then eventually you need to pick up the mouse and recalibrate its position by starting at the left edge - because that's where the buckets eventually end up if you do a steady rhythmic left-right motion. So if I was to play a game for real, eventually the mouse ends up knocking against the right "goal post" in my test fixture. This demonstrates less sensitivity on left-to-right movements. 2- ACCELERATION DELAYS - The mouse movements have a start up and slow down delay, almost as if the mouse is connected to on-screen game objects via rubber band. There is an 53ms delay (in Stella, on my test rig) from the time you move the mouse till the time something happens on-screen. This is the lag caused by the emulator alone. It's 63ms if I include the hardware delays and Windows processing time and monitor time. It is seemingly non-linear. The sharper the movement from stand-still the more noticeable the effect. And the buckets do not track exactly. Once you move the mouse, the buckets will accelerate up to tracking speed, and then move with a 1:1 velocity. And then when the mouse stops moving, the buckets will continue to carry on like an object with real mass & momentum that tends to keep moving once in motion. They slow down over a period of time and come to a stop. This is acceleration and deceleration period is typically 15ms - 33ms. Problem is if this momentum is "active and happening" (within the 15 - 33ms) when you do an abrupt direction change, tracking is lost and your movements get thrown into a black hole, not registered. Not registered until the 15-33ms time elapses then a new tracking lock comes online. And the game element stops and reverses. Look at it this way - say if your moving the buckets left in a steady state motion and snap to the right, the initial snapping motion is lost while the buckets brake to a stop and then accelerate toward the right. Tracking is just not absolute. To make matters worse - this phenomenon is without a doubt biased, with left-to-right reversal movements being less accurate and sensitive than right-to-left. This means that moving left, stopping, then moving right is less accurately tracked. Moving right-stop-left is less likely to miss pixels. So the ultimate effect you notice is the game element creeps to the left! I will explain this and PROVE it in the next section as well as reveal another error in Paddle emulation. 3- SLOW MOVEMENTS - I connected the mouse to the minute hand of a clock with a bit of thread. And I put the clock near the left goal post of my test rig. So that as the minute hand moved, it pulled a string which dragged the mouse across the mini football field. With the clock on the left side goal post, mouse in the center, I watched and waited. Eventually the mouse and on-screen bucket moved left and that is to be expected, slow, yes, but it tracked it. I had started the minute hand at 4 and ran the test for 20 minutes, stopping it at 8. That gave nice slow almost linear movement, and the mouse covered 3.8cm distance. And the buckets onscreen moved from center to the left side of the screen. Just about perfect. I redid this test on the right side, with the mouse being pulled the same distance of 3.8cm, but to the right this time. And this showed a problem. The clock hand pulled the mouse alright. But the onscreen buckets did not move one iota, zilch, nada, nothing!! They stayed right in the center. Apparently Stella cannot track slow left-to-right movements. It seems the mouse velocity needs to be higher when moving to the right as opposed to the left. Again this shows how the left movements are accurately tracked. You could argue that the right direction movements are being tracked correctly and that there is some hysteresis present so as to ignore some noise. In that case, you are then required to say the left movements are introducing extra counts someplace. It's all relative.. Which one is really correct? 4- GETTING STUCK IN HARD STOPS - This is best described as stuffing the buffer. This is what you do. Position the buckets in the middle. Move them a bit left and right. Works? Good. Now. Move them gently and carefully to the left edge of the screen border. When they stop moving, you stop moving the mouse. Good. Now, move them right. As soon as you move the mouse, the buckets begin moving with you. Great! Just as it should be. Absolutely fantastic! Eh? Now, let's do the test again. Start from the center and test your mouse, is it working? Perfect. Now, move the buckets to the left edge, just like before. But keep moving! Try as hard as you might to scroll them off the screen and into oblivion. Maybe if you try hard enough they'll pop out the side of the monitor! Wouldn't that be cool if our classic games could escape the confines of the on-screen playfield and spill out of the monitor into the real world? I once had a dream about that you know. Well.. Keep trying to scroll the buckets left for a moment. Pick your mouse up and do it again if you run out of desktop space. Once or twice is good. The point is to try and bury the buckets and make them get stuck. Then stop. And here's the PROBLEM part! Now try moving them right again. You will notice, quite distinctly I might add, that they do not move immediately. It's as if a buffer has to be emptied or "lost-ground" needs to be made up. It's as if they really did scroll off the playfield, way out of sight, and now you have to bring them back from the ether. The area outside the monitor. Once the invisible off-screen ones come back into the playfield, we can now resume the game. Incidentally, the effect is more noticeable on the left side. But it still occurs on the right side. I'm tired of measurements and tests, so I'll just estimate an imbalance of 60/40. The left side has a bigger buffer that can hold 60 off-screen "clicks" whereas the right side can only do 40. Who gives a fuck? Now, note in a real VCS that the Paddle controllers have a hard stop. They can move from the 7 o'clock position to the 5 o'clock position. And that's it. The position of the buckets are directly proportional and exact to the position of the paddle dial. That's a no-brainer. The game's edges correspond exactly with the Paddle stops. As it should be. If you were to magically increase the sensitivity of the real Paddles by changing the resistor values, you'd see a similar effect. You'd need "unwind" the "buildup" or recover the lost ground before bucket movement would begin. I don't observe any of these 4 issues as being specific to any one game. It's across the board. COMPARING AGAINST WINDOWS AND THE PLAIN POINTER To be thorough, I repeated these tests with a plain desktop and white arrow windows pointer. I made a Target icon and put that on the desktop, and centered it. A good reference point, don't you say? I moved the mouse seemingly 100 times in either direction. Never hitting a goal post to stay near center. There were no acceleration or tracking errors. I could move the mouse a hundred times, left to right, at any speed and I could always center mouse in the center - both on the field and onscreen simultaneously. Never did I have to pick the mouse up and reposition anything. I upped it to 200 times and it was still spot on. I upped the speed as much as I could and was whipping it back and forth with great velocity. With some imagination all this activity is akin to a good beat-off, don't you agree? Ahem! And still the pointer stayed absolute and "on track".. Next, I shot a BB at it with an impromptu slingshot and the pointer instantly jumped x-distance away. Still onscreen though. I carefully backtracked the mouse to center, and pointer was exactly at center. I tried this in both directions. Good results. No discrepancies. Windows tracked fine at moderate and super high speeds. AND at high accelerations too. Trivia: By calculations it would have been 147 G's for a fraction of a second based on stroboscopic timing, mass and speed of the mouse and projectile and times to cover the distance. Physics lessons are also beyond the scope of this tech brief. All well and good, I did the clock drag test twice. And 2 hours later came to conclusion that the pointer in Windows is spot-on. There were no lost movements. Windows is able to track the pointer seemingly absolutely and equally in both directions. Windows tracked fine at near impossibly slow speeds. And to wrap up my testing. I scrolled the pointer of the mouse all the way to the edge of the screen. It stopped at the very edge. And as soon as you move the mouse in the other direction the pointer comes right back. There is no "buffer" to empty, no imaginary off-screen pointer that needs to "come back" to the desktop before pointer motion resumes. This works correctly. NOTE I used the default mouse settings and basic Microsoft Mouse driver. Changing the settings doesn't alter the behavior, it only reduces or increases the magnitude of the 4 issues. And the settings changes to the mouse control panel options necessary to note different behavior within the emulator need to be extreme to the point where the desktop is now "not-quite-right". Therefore adjusting things on your desktop control panel is not an option. I also upped the USB polling rate to 1ms & 1,000Hz, thereby providing the smoothest and most frequent updates to the pointer position. There is no change in emulation behavior despite this. All this does is support the fact that the code within the emulator needs to be re-worked. It further strengthens the position that the system hardware is not at fault here. SUMMARY These four idiosyncrasies are key to making players complain that Paddle emulation is not-quite-right. For the involved and serious gamer these are show stoppers right here and now. These four factors best describe that ineffable quality that is lost in emulation. I don't know the exact coding mechanics used in Stella, nor do I care to get involved with them. That is a good thing because I am not biased by what is happening under the hood. It would seem that a little fix'n up is needed to correct the deficiencies described above. Adding adjustments and sliders and tuning options may mask or reduce the problem to a point where problems won't be detected, but that's not elegant and is likely to fail other tests or still feel not-quite-right! I have no clue what causes #'s 1, 2, and 3; Other than it might be related to how quickly (and where) the emulator polls Windows. I, somehow, think that the "coupling" of the desktop mouse pointer to the emulator is not done correctly. Perhaps the emulator needs to get positional information from a different part of Windows? Maybe it needs to get info from the hardware directly. I have no clue, this is up to the programmer. Would a custom mouse calibration routine (similar to joystick calibration routines already used in Windows) be of help here? You know, move your mouse to all four corners of the screen and press a button to continue. This way the emulator will have better awareness of how to interpret mouse movements. What about when the emulator can't get pointer information during a cycle? Does it interpolate a position? Does it do nothing? The emulator also needs to know the limits of movement and perhaps perform a reset of a counter when player objects meet edges - thereby addressing problem #4. This I think can be fixed right away. Without a major re-write of the Paddle emulation routines. I'm not talking about looking at game logic or the 4K Game Program itself. No. I mean the emulator should be endowed with a working knowledge of the range of motion of the Paddle controllers and set hard limits - just like real VCS Paddle controllers, and how they can only go from 7 o'clock to 5 o'clock. It is these four factors that are conspiring to create the illusion of lag here. But if lag is the problem here, like so many think, then I invite someone to write a compensating routine and call it a day. That isn't going to fix the 4 issues described in this tech brief. Just remember that minimal processing is done on the image when it comes from the PC and goes through the monitor circuitry. Yes, an analog CRT will respond quicker but the difference here isn't as much as you'd think. And the little difference is definitely not the source of the problems of playability. BUT WAIT THERE IS LAG! If TV lag and processing *IS* a problem and you're being anal about this - I would invite someone to build a simple circuit with a photodetector, and a transistor, 3 or 4 parts at most. Maybe 10 bucks. Have the emulator flash a white screen a few times and measure the lag. Have the photodetector send a simple blip, a low-high transition, to the soundcard. The emulator would look at the time it took to send a white screen to the time it received a tick back over the sound card mic in port. And adjust itself from there. AND HOW ABOUT SOUND? But before we wrap this up let us address sound briefly. Sound is not the issue here right now, it has nothing to do with the mouse movement and Paddle emulation. No one has really complained about it ever. For now, I believe the adjustments and sample sizes and output rates are good enough, unless someone is actually complaining about sound delays and shit like that. And if you want to get anal about this too, you can build in a lag detector for audio. Connect your microphone input to a real microphone (duhh!) and have the emulator send out a tone, when the tone is detected, count the time and adjust playback lead/lag time accordingly. Thereby giving the illusion of perfectly timed sound, another no brainer. And no special equipment is required other than a $10 microphone. Shit, you can plug in your iPod headphones and stuff them in the speaker cone for the same effect. Perhaps as time goes on and display peripherals take more time for internal processing it may become de'rigueur to have calibration tools such as these. It would be nice to have a monitor report back it's lag time to the host system. But I don't believe mfg's have thought of that as being a critical feature. EPILOGUE Much of the essence of VCS gaming is based around the CRT beam and how closely the TIA is coupled to it. Graphics and controlling the electron beam are first and foremost when working with the VCS. Anything else is secondary. Look, programs are structured around how much time they have to work with while the beam is "re-tracing" and blanking. Not only that, of even greater importance is how small and responsive the Game Program code is. There is no room for bloat and useless garbage, every byte counts. It's these characteristics that make programming on the VCS as challenging as playing games on it is fun. If we are to correctly emulate this unit it is important to capture all the nuances and behaviors. Signal propagation times, controller response times, IPC counts, internal delays, instruction execute times. How does analog translate to digital? How does digital simulate analog? TTL logic flow.. You get the point. There's just a ton of things that need to be synchronized. And no detail must be overlooked. It should be said that emulator authors have an understanding equal to that of the original designers when it comes to the machine they're trying to emulate. Top it off with added translational skills. Skills of being able to transplant all the behaviors of one machine into an entirely alien architecture. They have a knowledge beyond us mere gamers. And it is in *this* context which I criticize and complain about downright suck-ass shit hole Paddle emulation as it now stands; in hopes to make an already fantastically executed emulator project one step better. I have purchased many bits of commercial work over the years. And a lot of it has changed and metamorphosed into something completely alien today. No longer is it an improvement on the original package. No longer is the original function present. Crap is so bloated and backward compatibility shot to hell. Ugh.. In contrast - this emulator, is what? 17 years, 18 years old? Wow! And its base function is intact. Like many other long lived SourceForge projects we now take it all for granted and just "expect" it to be be there, semi-regularly updated and everything else. It has (and continues) to be a cornerstone in the Classic Gaming hobby of today. It is but one of many tools that helps bind the community together. Numerous homebrews are developed with it. And and many fun times are relived with it. A lot of consideration is made in keeping it backward compatible with old hardware while at the same time adding new features like the Blargg filter set and all the bank switching schemes. That is mucho appreciated. Even insignificant snot nose shitbox users like us get to have some say in testing and developing. All these things (and more) combine to make it a shining example of how a project should play out. Commercial developers would do well to study projects like this and model their business around them.
  3. One of a number of links to a series of edits from the 20th Anniversary of the Atari 2600 at Nolan Bushnell's:
  4. Hi everyone, Just wondering if September 11th, 1977 is generally accepted as the "Official" VCS release date?
  5. Hello, everyone. I am currently working on getting to a playable state as fast as possible, a game of Dodge ball for the VCS. It has been on my life list for a long time to do, and now I am finally tackling it. It is a 2K cart, done in homage to the original launch titles, in that the graphics are simple, there will be multiple variations around the core game, and the focus is on solid two player gameplay. It will require the joystick controllers. Latest Release: Latest build can be found here: https://github.com/tschak909/dodgeball/releases/tag/playtest1a Basic rules: * Two players, in a playfield, with or without obstacles. * Players can move freely around field and obstacles * There is a computer controlled ball (using BL object) which will bounce around the playfield freely using PONG physics. * Each player also has at their disposal, a ball which can be thrown by pressing trigger (using M0 and M1). * Ball will automatically retract to player after user settable decay time (short, medium, long) * if Computer ball hits a player, point is subtracted (unless 0). * if P0's ball hits P1, P0 gets +1 points, P1 gets -1 (unless 0), and vice-versa. * if P1 presses trigger at just the right moment when the ball is colliding with player, the above point rule flips, vice versa with other player. * in both cases, ball is returned to the player, to be used immediately. * Game ends after timer lapse (the classic 2 minutes 16 timer lapse) * Game score blinks when timer is about to expire * Game will indicate ball capture with color cycling display and sound effects * Each ball bounce will be an appropriate ping. The idea is to have game variations, which will vary the following: * Playfield shape/obstacles * Player ball retract time * differences in player movement physics (dodgeball on ice?) * difficulty switches will set _something_ ... either player size, or the addition of holes on the horizontal ends of field so that ball can wrap around? I am working on the code publically in github: http://www.github.com/tschak909/dodgeball Once I have the first playable ROM, I will post it in this thread. Right now, the kernel is stable, and the motion code is roughly 30% done. Once the motion code is roughly 90% done, I'll put in the collision detection, and that should be enough to get feedback. -Thom p.s. a picture of the kernel with a playfield that I am borrowing from Combat:
  6. Well?? It would be simple by most technical standards. I heard it can be done with the activision plug-n-play machine. Anybody want to weigh in??
  7. Hello, y’all A2600 fans! Would y’all like a nice challenging HORSE RACING game for your A2600 VCS?!?! Are you somewhat bored with Sears’ Tele-Games Steeplechase? I came up with an idea: Make a new ported version of Intellivision’s successful Horse Racing game for the A2600 for y’all Atari fans! The working title name is Plympton Downs Thoroughbred Horse Racing (sounds like an M NETWORK game title). What controller(s) would you propose to use?! Either the joystick or the paddle ones would do for the racing portion, but how about for the betting side?! Would the keypad controller that comes with Star Raiders do (it has a bunch of keys that could be programmed to function like on INTV or ColecoVision). The colors would look quite differently than on INTV and CV (the TIA palette issue), while the lettering would be more blocky than on INTV. It would also need a nice title screen.
  8. Recently, I bought a lot of two woody VCS+ joystick controllers+ a pair of paddles and 2 games (with boxes in poor condition) for a whooping 10€ price, which is a good bargain, even here where the 2600 systems aren't much looked after. While testing the units, I started to notice some differences between the 2 systems. Keep in mind that the Atari 2600 was released in France in 1981, the last year of the woody model. So I was wondering if those differences were leftovers from the US variant, or if they might come from an early run of PAL/SECAM adaptations that were discarded. Here are some pictures of the machines : The newer on the left, the oldest on the right (by number production) The oldest one feature the double HP vents. Were those also on US 4 switches models? I though they were only on 6 switches unit? The back feature more screw holes, smaller holes near the stamps. What is it for? A channel selector "A" and "B". Note that the channel selector option is also on his usual place on top of the unit, with the "channel 2-3 " marking (and it's left unused, at least on the SECAM version. It make sense since the woody SECAM unit uses UHF channel 36 ). As far as I know, A and B aren't used in the European CCIR TV systems (we use channel numbers), so I really don't know what kind of channel it was meant to select (there is no switch so it choose nothing anyway). On the back, holes have beel hidden with a thick adhesive piece of plastic. From the size and shape, it was probably meant to house joysticks connectors and a power connector in the middle. Does this exist on US Atari too? Just a view on the stamps : This first one is the standard Atari sticker, or I suppose so. The second mention that the system is certified to be used in France and mention the fact you have to plug it on the back of your TV (and not using a T shaped plug to connect both antenna and system at the same time). Europe use a RCA-like connector for antenna so swapping between antenna and video games systems isn't as annoying as the double fork or F plus used in the USA And manual switchboxes were allowed too. For your eyes's pleasure : This board is very different from the later SECAM boards found in black VCS. The most interesting feature is that UHF transmitter that seems to pick up video and audio, calling for a very easy A/V mod. I gotta try it! So... Is that "old" VCS an oddity, or is it perfectly normal to find those feature on it? Thanks for taking a look and answering
  9. DustyCartridges

    Gaming.....

    From the album: Collection

    My Atari and Tv. Fun times.

    © me i guess

  10. CatPix

    arrière

    From the album: CatPixtures

  11. CatPix

    channel selector

    From the album: CatPixtures

  12. CatPix

    Atari 2600 dessous

    From the album: CatPixtures

    dessous des consoles
  13. CatPix

    Atari 2600 woody

    From the album: CatPixtures

    Atari 2600 1 et 2
  14. Back when I was developing and testing the HDMI interface for my FPGA based Atari 2600, I noticed some minor, and some major differences in sound between the HDMI digital audio and the analog audio. After giving it some thought, I realized what was causing these differences, and I was able to rework my HDMI interface so that the digital audio sounds exactly like the analog audio. For some reason I felt compelled to document my findings, so I sat down and wrote about it. I was going to put it all down in a post here, but I got carried away, and my paper ended up being eleven pages long. So, instead of creating a monster post, I'll just attach a PDF of my write up. I am also including one of the test programs I wrote while investigating the issue. After reading my article, it will make more sense. This program sets up the audio registers to output a 748 Hz pure tone on one channel, and a 10.6 Hz tone on the other. Hold down the GAME SELECT switch to play the 748 Hz tone, and the GAME RESET switch to play the 10.6 Hz tone. Run this program on Stella, and then on a real 2600, and note the difference. TIA Sounding Off in the Digital Domain.pdf tremolo.bin
  15. Been looking at ANTIC; how flexible is it - can you race the beam and run code in the vertical blanks? looks like with NTSC the entire screen is refreshed 60 times per second like a 240p signal. Looking at how feasible it would be to port the Virtual World BASIC runtime; I could write something specific to the 8-bit (maybe next) but it would be really cool to be able to cross-compile BASIC games for both systems, and cross-assemble assembly games that use the runtime. EDIT: Is it possible to load a 200 WSYNC loop into a single DLI routine and just draw the screen? Been doing some reading ... http://www.atariarchives.org/dere/chapt05.php Where can I get the source to BasketBall for the 400/800? Preferrably if someone has commented it so I can follow it; this program uses a kernel like the VCS, I will use it as a template.
  16. Looking for a complete copy (box, manual, instructions) of Stellar Track for the Atari 2600. If you have a copy, please PM me and figure cost plus shipping to 05052-0058. No paypal please. Thank you!
  17. Full disclosure: my Colecovision (along with my VCS expansion) is busted right now so I can't test these. These are all my duplicates from various lots I bought on eBay. I know most of them work, but an asterisk (*) means I couldn't get them to work last time I tried them. About half have rough labels. Since I can't guarantee their condition, I'm selling each lot for $15 with free shipping in the US. Both lots for $25 (still free shipping). ATARI 2600: Pac Man Enduro* Enduro* Warlords Combat Video Pinball Berserk Maze Craze Yar's Revenge* Star Raiders Freeway Space Invaders Kangaroo Battlezone* COLECOVISION: Donkey Kong Mouse Trap Mr. Do Mr. Do Turbo* (I think it boots up as Cosmic Avenger) Zaxxon Cosmic Avenger* Q Bert Smurf
  18. Hey Guys! I want to prepare an article about the demo scene of the Atari 2600 and I need your help! I need a list of the various demogroups or people which released the demos for the machine. Or maybe is someone of them online here? Would be great if you could help me
  19. I've been collecting for the VCS for some time now, and during that time my collection has grown quite large. Yesterday I was looking at my boxes of games and asked myself, 'Is there really any point to collecting?' So I got a few rares from eBay, cool. Did I end world hunger? No. Why buy these games anyways? So they can sit on a shelf forever? 'cause let me tell ya, I won't be playing Eli's Ladder anytime soon.
  20. Need a replacement lower outer shell for yours? Working on an Atari project and could use this piece from Sunnyvale? Look no further! The shell has been lightly cleaned and looks quite good for its age. There may be some scratches, scuffs, dust or dirt present. The Sunnyvale sticker is unmistakable and in good condition, with just a few stray markings. Includes all eight original screws, too. Please see pictures for exact condition. Shoot me a PM with your offers!
  21. Looking for a working TIA chip, preferably solder-free. Trying to fix up 2600 Darth Vader (see http://atariage.com/forums/topic/268563-2600-graphical-issues-tiariot-issue/?p=3821875)
  22. Hello, everyone. I've found myself, more often than not, needing to pull a manual for a VCS game, to read it... After the 4,623,136,126,842nd time of doing so, I thought, "Gee, isn't there an EASIER way to deal with this?" Now, before I start sounding like a fucking Ronco commercial, I'll just get right to the point: I've created an Android App, which I am currently feeding every VCS game manual that I can get my hands on, for the purpose of being able to quickly find the game, flip through it, and read it. This first version of the app, has these features, and a small subset of the total # of games which will be available, when it's finished (I intend to go from A-Z, finding as many, as I can.). You can: * Select the manual from the list * flip through content * pinch-zoom and pan dirt simple. An upcoming release will add the ability to take photos of high-scores to attach to a game, for record-keeping. That'll be about it. There will be no full text search. Why? The manuals are on average 4 to 12 pages long...With an average of 350 words a page, lots of pictures. This isn't an index of law journals, nor is it an engineering cross reference of airplane engine block internals, nor is it even a historical text in the typical sense. I do not see the point, and it would drastically increase the complexity of the program, for no real benefit. What do you need? * An Android tablet. While it will work on phone, it was ultimately designed for a tablet. Feel free to share your experiences anyway, if you only have a phone. * Android 4.0 absolute minimum (Ice Cream Sammich) * 0.1GB of space. The final will need approximately 0.6GB of space. The manuals are stored on device, inside resources, so they do not clutter up your gallery. No on-line connection needed to use the app in its present state. You can get it here: https://drive.google.com/open?id=0BxBzWnEPRL2Hd1FMSWViZF84ZFk Please let me know what you think. This is for my own use, but I always try, even with things for my own use, to apply the same standards as for something I do for commercial work. Since this contains copyrighted material, it will NOT go into the Android Play store, ever. It will be available from a site. Will there be an iOS version? Yes, at some point, BUT, it will require UDID registration, as it will never go into the Apple App store. -Thom
  23. Dodge It Panoramic Adventure DodgeIt_PA_RC1.bin Basic Gameplay Dodge an increasing number of blocks while competing head to head with KC Munchkin to catch fast moving dots in the arena of a large virtual world ten times the size of the screen! You have 10 minutes to collect as many dots as you can. You get a point for each dot collected and lose a point every time you are hit. If your score drops below zero you lose and the game goes into attract mode. Unique Off Screen Interaction All of the character sprites utilise soft collisions to interact in the distant planes of the virtual worlds; this adds an interesting depth of complexity and randomisation! Game Changes over Time Every two minutes the screen changes to “RF Blue”* and the blocks, previously restricted to the upper level, can traverse the level below. This lasts about 20 seconds and then things return to normal. Every 15 seconds, sssnake will draw a Fort for you somewhere near the middle of the virtual world; this can give you temporary protection from the traveling blocks. Further downwind, sssnake likes to draw a patch of alternating patterns of blocks (inspired by Archraxar Defense). Cast of characters and the game changes driven by them: The Blocks The blocks can crush you, and they can grab KC and the dots and swing them around, changing their direction anywhere in the virtual world. The Dots The Dots are cool, they travel around the world and you and KC try to catch them. KC KC is bad; try to avoid him! Sssnake Sssnake draws stuff in lazy languid patterns while the fast action is going on; sssnake is activated to draw things by time driven events and also by other characters, like the Score. The Score Don’t underestimate the score as a character in this game! 50 foot high numerals that carve passages you can walk through to reach the lower level (sometimes) comprise the score. While sssnake draws the score and the scoreboard, the score in turn causes sssnake to draw and erase different maze elements in various parts of the virtual world that change as the score does. Strategy Try to collect as many dots as you can when the game first starts and there is still only one block on the screen – this can help keep you from losing the game. When the second block joins in from below it often leaves a tunnel; even if this tunnel is just partial you can usually wait in it for a bit to either take refuge from the blocks until they start moving farther away, or it may align with the score passages, which you can use to enter the level below. Until you get good at somersaulting around the blocks (360 degree Joystick move), you may want to reload the game rather than pressing reset – reset ups the difficulty level on all subsequent games, you start with two blocks right away. Multiple Attract Modes There are two attract modes, one if you lose the game and another more interesting adventure attract mode you are rewarded with when you win that can last up to several minutes and grows more interesting over time: Adventure attract mode starts out showing the characters and scrolling down to display your score just like when you lose the game, only it does not keep resetting, instead the game slowly lowers your score point by point and the characters in the game eventually break free and begin to interact more and more as this happens. Your character cannot be controlled in attract mode but depending up on the attract adventure (it’s different every time!) you may even see your character break free of Master Control and start walking about catching dots on it's own. The length and complexity of the attract mode adventure is dictated by how well you do in the game; bigger score = a bigger attract mode adventure! Party Play Dodge It PA is tremendous fun with one player or as a collaborative party game; the extended periods of both furious and lower paced action allow players of different skill levels to share in the adventure! *About RF Blue: RF Blue is awesome – when the blocks rain down below you will feel as though you can see the fabric of the Matrix, the underlying gamegrid if you are playing on real hardware with a Radio Frequency connection to a tube Television Note: If you play in Stella, install the glide wrappers for OpenGL for better graphics performance with this game! *** ...Older stuff with early prototype below: Dodge It Panoramic Adventure Dodge It on the Fairchild Channel F is an awesome addictive action game that has never been ported to the VCS; until now! Dodge It Panoramic Adventure was inspired by themes from Dodge It, Berzerk, Pitfall, Adventure, Breakout and other classic video games Basic Gameplay Your Berzerk inspired character must dodge an increasing number of blocks and avoid the electrified walls while adventuring along the scrolling panoramic. In the original Fairchild Dodge It the blocks created entry tunnels; in this version the blocks will eventually create exit tunnels for you at the far end of the panorama. Goal Enter the tunnels to reach the level below to find Treasures that must be returned to the Vaus; that’s your Spaceship, you start out next to it! Pitfall style reset If you hit a wall or get smashed by a block you will get fried and transported back to the beginning; if you’re carrying treasure with you you’ll have to retrieve it again. Breakout is Happening You’ll notice a giant Breakout game is going on all around you the whole time! Once you’ve returned all of the treasure to the Vaus it will power up for another round. Under Development Dodge It Panoramic Adventure is still under development but here is a release of the Prototype for now: DodgeIt_PanoramicAdventure.bin You can use the Tunnels to explore the level below but there is no Treasure to retrieve yet. This game uses a remix of the awesome soundtrack Der Luchs wrote for Scrollout with some additional effects filters. Additional soundtracks may be added for the different stages. Looking forward to hearing ideas and feedback about the game!
  24. I have a bunch of Atari 2600 game carts but they are missing their respective game case and manual, so I am looking to buy a few game boxes for them.
×
×
  • Create New...