Jump to content

John Saeger

Members
  • Posts

    55
  • Joined

  • Last visited

Everything posted by John Saeger

  1. We're on 4.07 now. Tunable palettes! :) We now have wide dynamic range, tunable palettes for NTSC and PAL video. We are now emulating the color tuning controls that are found inside the Atari 2600. So just like owners of real hardware can experiment with different color tunings, users of z26 can also experiment with different color tunings. By default we set the NTSC phase shift to 26.2 degrees and the PAL phase shift to 21.5 degrees which are good matches to the original z26 palettes. Brightness and “warmth” controls. The warmth control allows better matching to vintage CRT TV sets from the 1980s which had a little more red and maybe a little less blue than “modern” CRT TV sets from the 1990s or early 2000s. The original z26 palettes have been retained as custom options, and since our tunable color model was inspired by mame 0.212, we also include the mame palettes as custom options. The palette selection and these new options may be found in the video menu.
  2. On 4.06 now. Fixed some bugs including desktop integration if directories are missing. We now do automatic detection of ROMS using signatures. I guess I got tired of renaming sokoban binaries.
  3. Thanks! Boy, those were the days, weren't they? Well, whatever was good about those video modes came from a dude named Trixter aka Jim Leonard. One time in one of my progress reports I was wishing for a linear video mode that ran at 60 Hz. The built in one runs at 70 and Atari games needed 60. So this guy shows up with one and he gave us 4 extra scanlines to boot. The 50 the 100 and the 120 came from that. He was active in the demoscene at the time and has done some things kind of recently. Here are a couple of videos you might enjoy. Cheers!
  4. Actually the test programs I dumped on DeadlyKitten36 were meant for you. I just forgot where I was. But here they are again in case you missed them. They are fairly comprehensive. But now that I've actually taken a look at your emu, I'd say you probably don't need them. As far as TIAs go yours looks pretty fine. All the best! z26-demos.zip
  5. OK, I guess I need to see if the directory is there first and create it if necessary. Thanks!
  6. Not a lot of replies to this one! Just curious... Does anybody play 2600 games in MAME? It has an emulator. Does anybody use it?
  7. I like it. It's harder than it looks though. I found this on Wikipedia: Sokoban can be studied using the theory of computational complexity. The problem of solving Sokoban puzzles has been proven to be NP-hard.[6][7] Further work showed that it was significantly more difficult than NP problems; it is PSPACE-complete.[8] This is also interesting for artificial intelligence researchers, because solving Sokoban can be compared to the automated planning that needs to be done by a robot that moves boxes in a warehouse. Sokoban is difficult not only due to its branching factor (which is comparable to chess), but also its enormous search tree depth; some levels can be extended indefinitely, with each iteration requiring an exponentially growing number of moves and pushes.[9] Skilled human players rely mostly on heuristics; they are usually able to quickly discard futile or redundant lines of play, and recognize patterns and subgoals, drastically cutting down on the amount of search. Some Sokoban puzzles can be solved automatically by using a single-agent search algorithm, such as IDA*, enhanced by several techniques which make use of domain-specific knowledge.[10] This is the method used by Rolling Stone,[11] a Sokoban solver developed by the University of Alberta GAMES Group. The more complex Sokoban levels are, however, out of reach even for the best automated solvers.[12]
  8. Well, 4.05 is out. It doesn't do much for windows or mac, it's mostly for linux. It has what I guess you'd call "desktop integration." Compile it, run it once and it will show up in the menu with an icon. At least that's the theory. I haven't tested it on every possible distro or desktop but the method for putting something in the system menu seems to be the same for most linux platforms. Just write out an icon and a .desktop file. The .desktop file goes into ~/.local/share/applications and the icon file goes in ~/.local/share/icons. Anyway, once you've got z26 in your menu you can put a launcher on your desktop or in a panel, complete with an icon. Feedback is welcome on systems where it doesn't work or where it works. I've tested on LXDE and XFCE. Thanks!
  9. I have complete sympathy for the point of view that the RF interference and what-not on the TV set when playing a real Atari is annoying. That emulation is somehow "better". There was a time, and it lasted for a long time that I thought emulation was "better" too. That somehow we were finally seeing the original programmer's true intention. For the first time actually. Finally the perfect model of TIA was showing us the perfect rendition of the game. The abstract perfection was somehow more beautiful than the real version because we were seeing what the programmers must have been thinking. All I can say is something changed for me. The perfect pixels stopped being beautiful. They started looking dull and lifeless. There is something about the real machine that's been missed, and it's not just blur or scanlines or some other "effect". Colors don't change smoothly. They change weirdly. You can say what you want about whether it's an accident, on purpose, or accidently on purpose. For me it's become part of the beauty of the machine. The beauty lies in the imperfection. As emulators have become so popular I fear this may be lost. So yeah. Get a 2600. Get a TV set. Save a CRT! That said I've found out something interesting about CRT TV sets. I scored another one just yesterday. Instead of collecting consoles I collect these. Anyway, I was at a thrift store and there was a pile in the parking lot strapped to pallets. Typically, I guess these guys don't even put them out on the floor any more. They can get money for recycling them. I don't know how much but this seems to be why they are so hard to find. They disappear immediately. Anyway I saw something in the pile I wanted and if you ask they'll sell you something for cheap. So one way you can still find these things is to look in the recycle pile.
  10. Plus one on this. Totally. But It's not about *needing* anything. It's about *wanting* something. There's no reason to it -- either way actually. It's just what you want.
  11. It's a long, long way from Canada A long way from snow chains Donkey vendors slicing coconut No parkas to their name Black babies covered in baking flour The cook's got a carnival song We're going to lay down someplace shady With dreamland coming on Dreamland, dreamland Dreamland, dreamland - Joni Mitchell When it comes to "perfect emulation" I think Joni says it best.
  12. If you ask me, this is actually a hard question. The problem is there are 3 different platforms and 4 ways of doing things. I used to like using the z26 startup directory because that was the most like the DOS version. Simple and easy to understand. One problem with that is the mac version. A mac "app" is a directory full of stuff and the startup directory is in a fairly inconvenient place. Personally I use linux a lot of the time so the current working directory might be a nice place to start looking for roms on that platform. On linux I like to put the executable somewhere in my current path without having to reconfigure my path variable. Then I can wander around in my command line prompt, run z26 and get a list of the files wherever I am. The other option is specifying a directory path and there's something to be said for that, but it takes more code. It's not super hard or anything, but it's just more code and something else to do before you can run games. Sure I can make it different on every platform. Startup directory on windows, current working directory on linux and home directory on the mac because that's about the only thing that makes sense on the mac for a default place to start looking. Of course now that I can put the executable on the desktop on my current linux system, that's probably where I'll put it and just start it from there. So yeah, the home directory is a compromise. But there's something to be said for having it the same on all platforms, I guess. Me personally, I put a directory called 0-roms in my home directory and that's where I start looking for things on my system. It comes up at the top of the list so it's easy to get going. Not a great solution but that's what I'm doing for now. Thanks again for your suggestion. I'm happy to discuss it and hear anybody's opinion. But it's funny how the simplest thing can be so complicated that I can't really figure out the best thing to do.
  13. Thanks for reporting back!
  14. Sorry. I should be careful what I assume. You tricked me with the "noobish" part. But thanks for the information! Actually I kind of like this compiler switch. I can put the executable on the desktop and double click it to launch it which is nice. The other nice thing is that the the executable is quite a bit smaller which I like. With that switch the size is more in line with what the windows .exe file is. On the raspberry pi, the switch makes no difference so I guess the raspberry pi is already in no-pie mode, and on the raspberry pi I can already put the executable on the desktop and launch it from there. So yeah, the old-style executable has it's advantages and I'll probably use this compiler switch going forward. Thanks! Personally, I'm afraid to change flavors at the moment. I'm using XFCE and I get some really nice options for refresh rate. I don't know if switching flavors will make these choices go away. I get 60 Hz, 50 Hz, and 59.9 Hz, among others. I really like having 50 Hz for PAL games, and 59.9 Hz is really nice for NTSC games. If the game has 262 lines it's a really close match to what real hardware does. I wonder how common these refresh rate options are?
  15. OK, we're on 4.04 now. Thanks! If you like, let me know how it goes... I'm especially interested to know if MrMaddog has gotten the kidvid games working. Thanks again!
  16. Thanks! I'll put that in the makefile as default.
  17. I also use linux mint. I'm using 19.1. When I ask for properties and it tells me it's a shared library. So I guess it's weird, but I don't know why. The problem with linux is there are so many distros and so many repositories that trying to get it packaged so that things make sense looks difficult. Even getting into the system at the major distros is a little bit political and I don't personally think it's worth the trouble. I've been thinking about packaging the linux app as an appimage which might help things make more sense. But there's something to be said for installing the latest libraries and compiling from source on linux. So I guess I'm still debating what to do. Anyway, hopefully you eventually begin to enjoy the command line prompt. Thanks!
  18. I tried to fix this in 4.03 but I still need to fiddle with it. I'll try to get it fixed in 4.04. Thanks for the report!
  19. These are good suggestions. You are not the first to ask for a rom path, and I agree it would make things easier. For now though, I'm still "pruning" the code to make it as simple as possible. For me this is something I like to do before adding more features. Thanks!
  20. Have you tried 4.03?
  21. Plus one on this one dude! What a great idea!
  22. I put out 4.03 (http://www.whimsey.com/z26/). Maybe that's our first try at getting something nice. It seems to work on linux, windows, and mac. You're probably right about case not mattering on windows, but we look for files named: "KVS3.WAV", "KVS1.WAV", "KVS2.WAV", "KVB3.WAV", "KVB1.WAV", "KVB2.WAV", "KVSHARED.WAV". At least on linux case matters and it seems to work. Put these files in the same directory as the roms. Please let me know if this works for you. Thanks!
  23. I tried it in z26 4.02. For me, the trick was to rename the .wav files with lower case. Change KVB1.WAV to kvb1.wav and so on. Putting the wav files in the same directory with the roms seems to work, at least on linux. I haven't tried windows yet. When I do that the files seem to play but with a high pitched squeal. I'll look into that for 4.03. That and maybe I'll look for upper case and lower case. I was wondering about these games. So many details...
  24. I'm telling you what, they deserve more than a hug, or even a bake sale or whatever other funding they get. Not too long ago I downloaded the source code to stella and it came out to more than 100,000 lines of code. There's a program on linux called sloccount that I used to analyze the size of the program. I forget exactly when I downloaded the code but sloccount told me it had 101,171 lines of code. But sloccount tells me more. It estimates the cost of development. It tells me the estimated cost of development for stella is $3,443,107, and that's assuming a programmer salary of $56,286 a year. How many person years does it estimate? 25.49 person years of effort. It's hard to explain why folks do that sort of thing. I, however do not work that hard. The current version of z26 has less than 12,000 lines of code. The current release z26 4.02 comes in at 11,321 lines of code with an estimated development cost of $345,319 and 2.56 person years of effort. So I guess you can send me a Combat cart and we'll call it good. I totally understand the last 1% thing. For me that happened in the late 1990s and early 2000s. That old assembly code engine is fairly decent actually. That's why I decided to simply translate it for z26 4.x instead of fixing the engine in z26 3.02. I just didn't want to go through the 1% thing again, even though the engine in 3.02 would likely have turned out to be a better engine - in the long run. Meanwhile I wanted the multi-sprite trick working and I couldn't remember how it worked anyway, so translation was the best solution for that problem, at least in the short term. Other than that, a couple of years ago I would probably have agreed that the square pixel approximation to what a real 2600 shows us on a TV screen would be good enough. Although if you actually look at what a 2600 does and try to do a square pixel approximation to the output we find that current emulators are lacking. What current emulators do is emulate the digital model of what TIA does, not what shows up on the TV screen. The system of 2600 + TV is decidedly analog in nature and the digital model just doesn't do the trick, if you ask me. But like I'm saying, until recently I was fairly satisfied with the digital model. But the more I played the classics on real hardware, the more I think the guys who wrote those games tuned them to the display with the complete analog picture of things in mind. Although I suppose it might have been possible for those guys to have a very slow emulator, I think it isn't likely that they did. They most likely had an assembler and an EPROM programmer. Even something as primitive as a Supercharger would likely have been a luxury. They wrote the games on real hardware and if you ask me, it shows. Of course everybody is entitled to their opinion, but if emulators are the answer to preservation, IMHO they have a way to go. Have fun! John
  25. Thanks guys! Actually, this is more like the old version. Something simple from a simpler time.
×
×
  • Create New...