Jump to content

Search the Community

Showing results for tags 'Emulation'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Gaming General
    • Classic Gaming General
    • Classic Computing
    • Modern Gaming
    • Prototypes
    • Arcade and Pinball
    • Emulation
    • Hardware
    • Gaming Publications and Websites
    • International
  • Marketplace
  • Community
  • Game Programming
  • Site
  • Classic Gaming News
  • 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
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • 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

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
  • ZeroPage Homebrew's Schedule

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

  1. Following the reports on Stuart's web browser, people again suggested to use an old TI console and put a Raspberry PI inside. As I already said, at least MESS won't really run well on a Raspi, at least with its current performance, but faster models seem to come soon. I got another idea that should be perfectly feasible: What about using the TI console as a USB keyboard? Remove everything inside except for the keyboard Attach the keyboard lines to the digital inputs of a microcontroller; I suppose an Arduino should be enough, don't need a full Raspi You would then connect the TI console to the USB port of the PC, where it shows up as a keyboard Does anyone know more about how to make an Arduino pretend to be a USB device, particularly a keyboard?
  2. So my main PS3 now is a PS3 80GB "CECHE" model. I play a good amount of PS3 on it still, PS1, and PS2. I've heard two stories regarding this model: -It has half the PS2 chips, others are emulated -It uses 100% emulation to run PS2 games Now, a little research tells me: "North American CECHE 80GB model excludes the PlayStation 2 "Emotion Engine" CPU chip with it being replaced by an emulated version via the Cell Broadband Engine.[11] However, it retains the "Graphics Synthesizer" GPU resulting in a hybrid hardware and software emulation.[16] Due to the elimination of the "Emotion Engine" and its replacement with a software-emulated version, the level of PlayStation 2 compatibility was slightly reduced." So it seems like the first is true, it's a mix of PS2 chips and emulation. I've thrown a lot of PS2 games at my CHECHE and never had any problems. Can anyone say they have, or seen a list of PS2 games that don't work on the CECHE model? Found this interesting as well: https://www.hardcoreware.net/playstation-3-80gbs-ps2-backwards-compatibility-sucks/ It's a crying shame the 60GB CECHA's weren't built to last. That would be a forever system for me if it worked. Keeping my fingers crossed the PS5 is fully backwards compatible as rumors have stated it may be.
  3. Hey there guys and gals, I seem to be having some compatibility issues with a dozen or so Sega Master System games that won't load on my EverDrive GBA X5 (using SMSAdvance version 2.5) and I was just wondering if anyone else with an EverDrive GBA X5 could try out the games I'm having issues with to see if it's a universal problem or just something going goofy with my particular EverDrive. Whenever I try to load any of these games all I get is a black screen: After Burner Bank Panic (Europe) Double Dragon Fantasy Zone II Ghouls 'N Ghosts Golden Axe Kenseiden Lord of the Sword OutRun Rampage Rocky Shinobi Thunder Blade Time Soldiers All of my other 200 or so Master System games load just fine, but all I get with the games listed above is a black screen and nothing else. At first I thought maybe I just had a few bad ROM files so I tried different versions of them from three different ROM sets, but no luck. Has anyone else had problems loading those particular Master System games, and if so is there anything in the settings that needs to be tweaked to get them to work?
  4. I just tried the newest official release of the 64-bit version of MAME (0.208) for Windows 7. Tape support for "AstroBASIC" is now part of the official distribution! This is a major step in using the emulator. I think tape support for 300-baud and 2000-baud under expansion basics (i.e. Blue Ram BASIC) is supposed to work too, but I have not tried it yet. You can download MAME, as always, here: https://www.mamedev.org/release.html A general video for setting up astrocade emulation with MAME is here: The above video doesn't talk about how to load/save using the "tape interface" in MAME. I guess I'll make a video like that in the next couple of weeks. One last thing, as always, the colors under astrocade emulation are off. When you press the red color key, the screen appears gold. When you press the blue key, the screen appears light purple. This can be a little confusing, especially since red acts as the red key should, but the screen is the completely wrong color. Anyone care to give it a try? I'd love to hear from MAME users who use Linux or Mac computers. Adam
  5. I was browsing on Ebay searching for something new to add to my collection.....or something for a new restoration project......I came across this link in the atari 7800 category: http://www.ebay.com/itm/Super-Nintendo-Atari-7800-Sega-Master-System-Sega-Megadrive-Nintendo-NES/152465950911?_trksid=p2045573.c100033.m2042&_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D41451%26meid%3D36384438004645bfb95ae537a73974d3%26pid%3D100033%26rk%3D1%26rkt%3D8%26sd%3D152465950911 It is the first time I see huge potential for hardware/emulator replacing original gaming retro systems. Is this the beginning of the end of playing on real Atari hardware? Thoughts?
  6. In case anyone who in interested isn't tracking... The 3DS, (specifically the New 3DS) has recently gotten ports of Stella, Prosystem, Handy, O2EM, Virtual Jaguar, 4DO, and more via RetroArch/LibRetro. Emulation of these systems run full speed: 2600 7800 Lynx Vectrex Odyssey2 Game & Watch Near full speed: CPS3 Interesting, but not fast enough to be considered playable: 3DO Jaguar These are not yet part of the official build, but can be found in posts by MrHuu in the thread at gbatemp. He plans to make a separate thread at some point, but as of the time of this posting, the builds are posted at page 270 (Stella, Vectrex, & Prosystem), page 273 (Handy, O2EM, VirtualJaguar, & 4DO), page 275 (Game & Watch), and page 279 (CPS3). MrHuu also posted a playlist generator here. Also interesting is that on a New 3DS (not XL), the screen size when set to "integer" is exactly the same as the screen size on a real Lynx.
  7. Hey Guys! I'm trying to get working Commodore 64, Atari 8-bit and Apple ][ emulators on my Windows 98 PC. Why Windows 98? I like to be as authentic as possible. Of course, nothing beats real hardware, but until I get these, at least It will still be more "retro". In a different way, but still. Anyone know of any emulators that would work?
  8. I don't know how the Pi is doing in other parts of the world put I do know that it is everywhere in the UK & I know my children are already using them in school any way a bit of fun for today! https://twitter.com/...errypi&src=typd
  9. Hey fellow 2600 enthusiasts, On Saturday, June 14, 2014, the free-to-the-public Sunnyvale Atari Party will take place at the Sunnyvale Public Library from 10:00 am - 4:00 pm. Please come and join Bill Kendrick and the rest of us there. There will be Atari 2600s/Flashbacks, 5200s, 7800s, XE Game System, Lynxes, Jaguars, arcade machines, Atari 8-bit computers, Atari STs, and modern PCs emulating the classic consoles. In addition, we are fortunate enough to have two legendary ex-Atari employees who will be speaking. The first is Al Alcorn, Atari employee #3, builder of Pong, who worked on the Atari 2600, Atari's holographics, and countless other items. He later became an Apple Fellow*. And then there's Dan "The TrakBall Man" Kramer who is personally responsible for the 2600 and 5200 TrakBall Controllers, amongst many other projects during his time at Atari Inc. He is also promising to show off some prototype hardware as well. http://www.newbreeds...tariparty/2014/ Sunnyvale CA is, of course, Atari's old hometown. Please visit the website link above for more details. Volunteers are also welcome. This is a kid-friendly event so bring the whole family... *If you've watched the recent Steve Jobs film [Jobs], Mr. Alcorn is represented in the film. He's referred to as "Al" during the Atari scenes and "he" is the one who informs Jobs that he's "an a$$hole".
  10. Stella has an option which emulates color loss on PAL CRT TVs. This color loss, where only grays instead of colors are displayed, happens in Stella when the scanline count is an odd number and a PAL mode is selected. This has always been assumed to be correct. But there exist a number of ROMs, which produce an odd number of scanlines and are clearly meant to be PAL. This finally made me wonder. And therefore I wrote a simple test program and tested it on my own PAL CRT (14" Sony Trinitron KV-14LT1E), attached to my composite modded console. And no matter what number of scanlines I try, there is no color loss at all! Now I wonder if this is special for my TV/console combination (most likely) or if color loss doesn't work like we assumed for 20 years now. If you own a PAL CRT, please give the attached program a try. Use joystick up and down to change the number of scanlines. Do you get a colored picture for odd scanlines too? When you report back, please provide some details about the TV and the input (antenna, composite, RGB...) you have used too. Thanks in advance! ColorLoss.bin
  11. This may have been discussed before, but I've not seen anything about it, so I thought I'd mention some emulation issues Prosystem has with Kung-Fu Master. I never noticed until recently, but the background colors are out of alignment in Prosystem. You can see in the pictures posted below, what the game looks like on real hardware vs. what it looks like emulated. Notice how in emulation, the green at the ceiling does not meet with the brown wooden boards. Also, the yellow floor does not extend toward the bottom like it should. It appears that the entire background is shifted up by several scanlines. Of course those horizontal lines to the left of the score have been criticized before, but I hadn't heard these others issues mentioned. While Prosystem currently emulates this game the best, (as far as I'm aware), there are still issues. Note: I used screenshots of my graphic hack because it's what I was playing with today, but the issues are the same with the original cart/ROM. How it looks on real hardware: How it looks in Prosystem:
  12. On 12th October, Software Freedom Day (SFD) will once again be coming to Rugby. The event is a global celebration that focuses on raising awareness of free and open source software. At this time each year, thousands of teams in towns and cities across the world are busily working to provide an opportunity for computer users to experience first hand the benefits of high quality free software. First celebrated in 2004 with just 12 teams, SFD has been held annually and has seen significant growth. With the current economic strains affecting everyone, computer users everywhere are looking for ways to save costs without compromising on functionality and creativity. Many of the world’s largest and most reliable platforms are built using free software; some typical applications used by people every day without realising that they are based on open source technology include Google,Facebook and Moodle. Functionalities range from professional bookkeeping through to graphic design packages. Focus on Home, Business and Education Rugby and the surrounding areas are home to a number of companies specialising in services for free and open source software. Experts will be available on the day to offer professional advice and provide live demonstrations of a variety of web, email, educational and office software and games, giving visitors the opportunity to experience them first hand and ask questions. Visitors will be welcome to take away a FREE CD full of sample applications to download. There will be light refreshments available, as well as free t-shirts and other goodies. If you are unable to make it to the event but want to find out more, get in touch to receive information, a sample CD by post or to arrange a meeting. Who’s Invited? Rugby Software Freedom Day is open to everyone, from individuals who want to know how free and Open Source software can be used at home, to large organisations, charities and government representatives. Local media have also been invited to cover the event. Includes breakout sessions covering programming, music creation and graphics, as well as demonstrations with Arduino and Raspberry Pi. When and Where? Saturday, 12th October 2013, 12:00 noon - 4:00 pm at Lawrence Sheriff School, Clifton Road, Rugby, CV21 3AG Event organised by Rugby Linux User Group: http://www.rugby.lug.org.uk/ https://www.facebook.com/events/166273326906330/
  13. Maybe we could extend/include the strip in the RPK format. Maybe like this in the layout file: <strip> <gray> <key1 text="DEL"> <key2 text="INS"> Any emulator could implement the strip if they wanted and as they would see fit. Also, this got me thinking. How about including optional hacks ? It seems we're able to pull off a few with one or a few bytes. Maybe something like this, again in the layout file: <hacks> <socket id="rom_socket" 0x0234="0F 43 22" text="Unlimited lives" state="off"> You'd have to go and change the state to "on" - or an emulator could provide an user interface for turning things on and off.
  14. phaxda

    Ouya Thread

    The only Ouya thread I could find was the unboxing one, which seems to mainly be pre-release info and some grumbling about yearly upgrades. I got my Ouya a few weeks ago and am actually liking it a lot so wanted to start a new point of discussion. I am intrigued by the possibilities. I know the opinion from some is that these are just oversized cell phone games, but I have an Android phone and I hate it for gaming. I am currently carrying a DS XL for Mario Kart action. The only game I play on the phone is that silly Dragonplay Poker which is stupid, but poker is a weakness and I want to get to 10 million fake chips. www.reddit.com/r/ouya is where I've been going for most of my Ouya info, but I am looking for some classic gamer perspective here. So far I have found the emulation to be great--the only thing missing right now that I would love is better 8-bit support. I've been using my Wii as an emulation machine, but the Ouya has so far been much easier and has easily passed the "wife test"--she can get on it and play some retro games without too much hassle. The default controller is also much better (on the Wii I am always having to dig out a classic controller). I've got XBMC installed, which is pretty great. Very good instructions. We've enjoyed playing many rounds of "You Don't Know Jack." The controllers are OK. Not great, but not horrible. It runs quietly. It does not take up a lot of space. When I have time for games, it's definitely in the mix. If they ever get friends lists and all of that sorted out (so far this is the most serious weakness in my view), my Ouya username is the same as here. Really interested in hearing the impressions of others!
  15. Does anyone have the Classic99 disk images for the "Teach Yourself Basic" TI-99/4A disks? If memory serves there were two different disks with a total of 10 different parts to the "Teach Yourself Basic" series of programs. Thanks!
  16. LaXDragon

    MAME Arcade Cabinet

    From the album: LaXDragon's Collection

    My MAME cabinet. Purchased from the great team at Rec Room Masters. I do not have a lot of space, and this LCD packing cabinet fits the bill nicely.
  17. I have come across an interesting issue with Altirra and keyboard input. I mentioned this in passing within the Altirra release discussion, but thought it was worth a thread to itself. MyBIOS requires you to press Start+Select+Option simultaneously in order to enter its setup menu. These Atari keys are emulated by Altirra with F2, F3 and F4 respectively. So far so good. However it seems that my keyboard - and from what I have read most PC keyboards - will not register three key-presses at the same time. Judging from the appropriate section of the Atari "Self Test"; any combination of two from Start, Select or Option DOES register, but not all three. It is impossible therefore to enter the MyBIOS setup menu! Again. this seems to be a Windows/Hardware problem and not a shortcoming within Altirra. I was wondering if Avery or anyone else could suggest a solution?
  18. Hey fellow Jaguar fans, On Saturday, June 14, 2014, the free-to-the-public Sunnyvale Atari Party will take place at the Sunnyvale Public Library from 10:00 am - 4:00 pm. Please come and join Bill Kendrick and the rest of us there. There will be Atari 2600s/Flashbacks, 5200s, 7800s, XE Game System, Lynxes, Jaguars, arcade machines, Atari 8-bit computers, Atari STs, and modern PCs emulating the classic consoles. In addition, we are fortunate enough to have two legendary ex-Atari employees who will be speaking. The first is Al Alcorn, Atari employee #3, builder of Pong, who worked on the Atari 2600, Atari's holographics, and countless other items. He later became an Apple Fellow*. And then there's Dan "The TrakBall Man" Kramer who is personally responsible for the 2600 and 5200 TrakBall Controllers, amongst many other projects during his time at Atari Inc. He is also promising to show off some prototype hardware as well. http://www.newbreeds...tariparty/2014/ Sunnyvale CA is, of course, Atari's old hometown. Please visit the website link above for more details. Volunteers are also welcome. And there may be present a custom Jaguar paddle controller for use with Tempest 2000. This is a kid-friendly event so bring the whole family... *If you've watched the recent Steve Jobs film [Jobs], Mr. Alcorn is represented in the film. He's referred to as "Al" during the Atari scenes and "he" is the one who tells Jobs that he's "an a$$hole".
  19. Hey fellow Lynx fans, On Saturday, June 14, 2014, the free-to-the-public Sunnyvale Atari Party will take place at the Sunnyvale Public Library from 10:00 am - 4:00 pm. Please come and join Bill Kendrick and the rest of us there. There will be Atari 2600s/Flashbacks, 5200s, 7800s, XE Game System, Lynxes, Jaguars, arcade machines, Atari 8-bit computers, Atari STs, and modern PCs emulating the classic consoles. In addition, we are fortunate enough to have two legendary ex-Atari employees who will be speaking. The first is Al Alcorn, Atari employee #3, builder of Pong, who worked on the Atari 2600, Atari's holographics, and countless other items. He later became an Apple Fellow*. And then there's Dan "The TrakBall Man" Kramer who is personally responsible for the 2600 and 5200 TrakBall Controllers, amongst many other projects during his time at Atari Inc. He is also promising to show off some prototype hardware as well. http://www.newbreeds...tariparty/2014/ Sunnyvale CA is, of course, Atari's old hometown. Please visit the website link above for more details. Volunteers are also welcome. And bring your Lynxes…maybe we can ComLynx a bunch of them together! This is a kid-friendly event so bring the whole family... *If you've watched the recent Steve Jobs film [Jobs], Mr. Alcorn is represented in the film. He's referred to as "Al" during the Atari scenes and "he" is the one who tells Jobs that he's "an a$$hole".
  20. Hi, i have recently installed the virtual jaguar emulator,but i don't know how i have to insert the ROMs or which folder i need to put them on. Can you guys help me?
  21. Hi folks, please find the "Easter Release" of the portable Atari emulator, Atari++, on its usual webspace at http://www.xl-project.com/ Besides many minor bug fixes, the major news for this release is support for the ATX file format, namely the emulator now includes emulation of disk timing, duplicate, missing or erraneous disk sectors and so on. It also includes support for "stuck" Player/Missile shift registers, a new type of break point, better control of the monitor window in Win, plus many many modifications of Os++, the built-in operating system. The most notable changes are that FMS++, the built-in DOS, finally allows to mix the directory modes with any regular file access modes - which fixes a series of long-standing bugs in all Atari DOSes I have seen so far, including 2.0S, 2.5, Os A/+ and probably many others. Dos 3 might be a notable exception here. Here is the change list: - The binary file loader automatically generated when inserting a COM or EXE into the disk drive and booting from it is now much shorter and requires a lot less RAM. It requires now, however, an additional ESCape code and hence emulator support. This will now also load binary files that require RAM from 0x800 and up. - This release adds support for ATX files and includes an emulation of the disk drive timing, handling of bad and duplicate sectors and a more precise emulation of the SIO timing. - An additional type of watch point was added: The default watch point now only reacts on memory writes, whereas the new watch point continues to react on reads and writes. - Experimented a lot with the timing of the GTIA Prior writing and found that the currently implemented logic is actually very close to the real system, additional delay cycles make results only worse, not better. Thus, leaving it as it is right now. - The SDL StringGadget now reacts on Ctrl+Backspace and Ctrl+Delete and erases its contents on this keyboard command. - Added emulation for "stuck" Player/Missile shift registers when switching from 4x or 2x expansion to the size register "2" value, which is almost, but not quite 1x expansion. - The built-in Os blocks NMIs now early in the reset cycle and by that tries to work around bad display lists left over by buggy programs. - Minor modification in the built-in FMS (Dos 2.++): CONFIG.SYS can now change the position of the FMS buffers by poking into DiskBufferBase $710,$711 and relocate them. - Minor modification of the short VBI: GPrior, ColBK and Col1 are now only reloaded if the graphics mode really requires it. This applies to fine scrolling text modes, and the text window modes with the GTIA modes (modes 9+64,10+64 and 11+64). This fixes compatibility issues with Atari Tennis and some Lucasfilms intros. - Minor modifications in the FMS: Rename with wildcard was broken, and the FMS no longer tries to load non-valid VTOCs. Invalid VTOCs are now reported as error 178. - The DUP COPY command avoids now trying to overwrite BASIC program memory or other user memory protected correctly by setting APPMEMHI. Some cartridges do not set this Os pointer correctly, though. Mac/65 does not. The new DUP command NEW will erase user memory and make it available for COPY. - Fixed a long standing bug of all Dos 2.XX compatible FMS'es: Directory reading mode did not cooperate with any other operations that would access the directory, and would invalidate the directory access channel. This is no longer the case now. Additionally, reading the directory sets now the EOF warning flag (Y = 3) correctly right before the EOF. - The STATUS command, as specified by DOS 2.0S and DOS 2.5, was actually quite unuseful as it required a file specification which was never supplied by BASIC. The new implementation returns the status of the last CIO command on the same channel if the channel is open, allowing BASIC for example to access the near-EOF warning return code. Happy Easter! Thomas
  22. 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.
  23. I know we've had some topics discussing this off and on, but let's get some numbers up on the board. I know I left out SECAM; sorry, it would have made for a bewildering combination of choices. My personal path was as follows: 1. Real hardware only, BITD 2. Emulation only, once emulation was good enough to make it worth while. For me, that meant Atari800WinPLus in around 2004/2005. I didn't own any real hardware until about 2008. 3. Mostly emulation, with some real hardware, since 2008 until now. My real hardware setup is right next to me when I'm at my PC. They share the same audio connection via a compact Behringer mixing board (which sounds fantastic), and my SIO2PC is always ready to go. I use real hardware quite a bit at times, but I always have and most likely always will use emulation more because of the speed and convenience of having it on my PC. I spend a lot of time using my PC, mainly for Atari-related activities also (aside from emulation). So most of my computing is directed towards Atari 8-bit computer related use and production. I love my real hardware and CRT though. I consider them a necessity for testing. Emulation -- as good as it is -- still isn't there in areas that I consider important. I'll get on kicks of using it almost exclusively for a day or so. Gaming is great on it, and there's nothing like it. My real setup is also fast and convenient, just not as fast and convenient as emulation.
  24. Interesting there is no Vectrex here yet. https://archive.org/details/consolelivingroom
  25. Alien syndrome in particular has this problem for me. It will not recognize my Logictech Attack 3 joystick. I don't know exactly how to amend this? Do I go to command line and do trial and error with path and related commands, or is it the ROM's fault? Any ideas?
×
×
  • Create New...