-
Content Count
85 -
Joined
-
Last visited
Posts posted by raz0red
-
-
Wow! This is great news.
I can't wait to try it on the MiSTer. Thanks for helping make this happen @RevEng.
-
4
-
-
1 hour ago, Trebor said:I could not.
Great to hear! Thanks a lot for testing it out.
Thanks again,
Chris
-
1
-
-
On 1/19/2021 at 5:24 PM, Trebor said:I did try again to replicate the start room and subsequent room order under real hardware. At best, after dozens of tries, I was able to start with the same room layout, but a different item in the room and the following board to the right was completely different than what is experienced under JS7800.
As a result, unfortunately, I still can't verify or deny if that particular start room and room order would fail under real console hardware as it does under JS7800.
Just as an FYI, I tried that particular build under the in development version of JS7800, and it did not crash for me (but, I only tried once).
I would be curious to know if people are still able to replicate the issue with the current development version.
Here is a link if you want to give it a try.
Wizard's Dungeon on JS7800 (In development)
Thanks,
Chris
-
Loving this game!
One thing I noted is that if you die right when the level ends, you do not lose your ship.
For example, on the first stage if you let the last enemy fly into you.
Maybe that is the way the arcade game works?
Thanks,
Chris
-
1
-
-
17 hours ago, SlidellMan said:I look forward to the finalized version of JS7800, and the updated Wii7800. Oh, and feel free to add my little vertical shooting demo to the cartridge list if you want.
Honestly, I am looking forward to it as well. 😃
Also, thanks for the permission to add your demo. I will look to integrate it for the next release.
Thanks,
Chris
-
1
-
-
42 minutes ago, llabnip said:Great game! I tried the new RC1 demo on my DS emulator (just for curiosity sake to make sure it will run) and did notice something strange with the high scores. Perhaps this is only designed to work properly with the JS7800 and, if so, my apologies for reporting something that isn't an issue.
On the Arcade Top 5, I was adjusting some internal settings on my emulator for screen scaling and I died with exactly zero points... but it asked me for my high score initials (?!) even though all scores were zero. I entered them. When I played my first real game (yeah, I suck), that zero score which was at the top of the leaderboard shuffled down to position 5 and had some garbled score characters (you can see in the screenshot). Lastly, in the Expert Mode, all high score initials were the colon ':' character.
If I had to guess, this is because I had run Beta 2.9 just before this and maybe there is some new use of the HSC memory.
I did try the trick of press-and-hold PAUSE then Select to get into the high score maintenance to wipe the scores but it didn't work for Popeye (but does work for me on stock HSC games like Centipede, Asteroids, etc).
I realize you intended this only for the JS7800 online emulator so I've removed the rom from my personal system.There is nothing in the implementation that is specific to JS7800 (it is just standard HSC support).
I would guess that there may be some issues with your current HSC implementation. I know there were a number of issues that I discovered and resolved when adding HSC support to JS7800 (coming from the existing ProSystem implementation). Also, in cases like this, I would highly recommend running against A7800 for comparison, as it is very accurate and has been thoroughly tested.
Thanks,
Chris
-
1
-
-
3 hours ago, llabnip said:Not sure if there is a specific 3DS version, but in the trio of Emulators I'm working on for the DS (StellaDS, A5200DS and A7800DS), the A7800DS is definitely built on the old ProSystem code.
When I took on the project, it needed a lot of updates (thanks to your Wii7800 for some of that!) to get the timing better and the speed up. I've increased the speed by more than 100% and the accuracy almost as much. It runs virtually all 7800 games (including all the homebrews) plus HighScore saving at full speed with a few holdouts (Alien Brigade runs about 50FPS and Commando and Ikari Warriors are about the same). This is on a DSi or 3DS... on the original DS-LITE or DS-PHAT, you'll only be able to run the most basic non-bankswitching games (like Asteroids, Centipede, Joust, etc) at full-speed.
The three emulators I've worked on recently are all included in the latest Twilight Menu++ (TWL++) - pope them on an SD card for your DSi and off you go!
Very nice! I will have to give it a shot on my 3DS.
Once I get the JS7800 core finalized with the latest changes, I will port them back to Wii7800. At that point, it should be pretty straight-forward to walk through the changes and determine if you want to include them in your port.
Thanks,
Chris
-
6
-
-
16 hours ago, Cyprian said:That is something I would absolutely like to add once I am happy with the core emulation code.
I think it would be pretty straight-forward to add a very simple debugger by leveraging the existing browser JavaScript console (similar to GDB). Once that is implemented, time could be spent to add a more advanced UI for the debugger.
Thanks,
Chris
-
1
-
-
11 minutes ago, SlidellMan said:You've made one of the best 7800 Emulators out there. Maybe you could do a 3DS homebrew version if the opportunity arises?
Thanks for the kind words, I really appreciate it.
Honestly, while JS7800 (and Wii7800) have improved on the original ProSystem code, they are still quite a bit behind A7800 and BupSystem in terms of accuracy and features.
My goal is to improve the accuracy of JS7800 (which I am currently working on). Once that has been improved, it can be replicated to Wii7800 and other ProSystem-based emulators (I think the existing 3DS emulator is based on ProSystem).
Thanks again,
Chris
-
4
-
1
-
-
On 12/13/2020 at 6:53 AM, Cyprian said:well done @raz0red
would be possible to add a scanline effect?
I've just checked demo 1E78 by Desire and it works ok till that moment:
would be possible to add a scanline effect?
Yes, all sort of filters can be added via the use of WebGL. Early on I prototyped scanlines and various other effects, but I haven't had time to get back to integrating them. They probably won't be integrated until I am satisfied with the core emulation implementation.
I've just checked demo 1E78 by Desire and it works ok till that moment
Yes, there are several issues with that particular demo. Specifically, there are missing implementations of undocumented opcodes (SAX), not applying a maximum DMA time limit, and inaccurate DMA cycle timings.
I have done quite a bit of work to resolve those issues, but there are still several defects that I need to resolve before promoting the changes to the general release (master). @RevEng has been a huge help, answering all of my annoying questions, and providing tons of valuable insights and suggestions.
At any rate, you can view a working version of the IE78 demon in JS7800 (on a branch) via the link below. But again, this build has many other defects that are still yet to be resolved.
Thanks,
Chris
-
2
-
-
A new version of JS7800 has been posted:
https://raz0red.github.io/js7800
1.) Added global high score support for "Popeye"
2.) Added global high score support for the latest version of "Pac-Man Collection!"
3.) Updated to recent versions of "Dragon's Cache", "Dragon's Descent", "Popeye", "Spire of the Ancients", "E.X.O", and "Knight Guy: Castle Days"
Thanks,
Chris
-
2
-
-
1 hour ago, mksmith said:Great work Chris!
I'll have a demo release for Millie and Molly you can put up permanently very soon 👍
Very cool! That would be awesome.
-
4
-
-
A minor update to JS7800 has been posted:
https://raz0red.github.io/js7800
1.) Added support for undocumented ASR and ANC opcodes (fixes graphical glitches with "Popeye 7800: Mini-game").
Thanks a lot to @RevEng for making me aware of the issue and the missing opcodes.
2.) Added global high score support for the latest version of "Pac-Man XM".
3.) Added "Popeye 7800: Mini-game" and "Knight Guy: Castle Days" to the default list of in-development games.
Thanks a lot to @darryl1970 and @vhzc for granting permission.
4.) Updated to the latest versions of "Dragon's Cache", "Dragon's Descent", "GoSub", and "Spire of the Ancients".
Note: Updating to the latest version of "Dragon's Descent" required the global high scores for this game to be reset (the latest version modified the way high scores were stored).
Thanks,
Chris
-
6
-
-
-
1 hour ago, RevEng said:The ROM authors can provide links so their latest releases will load in JS7800. If they haven't done that, I'd encourage them to do so. If they won't do it, you can open the files in JS7800 yourself...
- if you've downloaded the a78 file, just click on the folder icon at the bottom of the window (Select Local File)
- If you have an AA a78 download link, just right-click and copy the link. Then in JS7800 click on the cloud icon at the bottom of the window (Select Remote File) and paste.
My 2 cents is asking Chris to keep updating all of the active WIPs, each and every release, isn't a great use of his time.
That is definitely my fault. I need to get around to updating to the newest releases.
A couple things worth noting.
You can drag and drop links directly onto JS7800. So, you don't have to necessarily copy and paste the links (although that will work as well):
The other thing to note is that the default list of ROMs that are displayed come from an external "cartridge list". You can actually create (and share) your own cartridge list and specify it via a request parameter (the same way you can specify a default cartridge).
I put together a tutorial that walks through the process of creating and sharing a cartridge list here.
Hope this helps,
Chris
-
4
-
1
-
A minor update to JS7800 has been posted:
https://raz0red.github.io/js7800
1.) By default, high scores for games that are not supported by the Global High Score server will be stored locally. This behavior can be disabled in the settings dialog ("High Scores" tab). Thanks a lot to @RevEng for the suggestion!
2.) Fixed a defect where Global High Scores were not supported when local storage was disabled in the browser (cookies disabled, etc.).
Thanks,
Chris
-
4
-
-
16 minutes ago, gambler172 said:How about a downloadable version?
Hi Walter-
The current builds will run locally (local files via the browser), but there are some limitations. I will look into what it would take to disable those features that require internet access when running locally.
Thanks,
Chris
-
5 hours ago, BydoEmpire said:I'd like to vote Baby Pac-Man but it's not on JS7800 yet and that's how I'd play this round. Going w/ Space Invaders instead, which I've always wanted to try.
Hi-
Just to clarify, it is not in the default cartridge list, but can be played in JS7800. You can load the cartridge locally, or specify a URL to the ROM remotely.
This link will play Baby Pac-Man by default.
Thanks,
Chris
-
4
-
-
A new version of JS7800 has been posted:
https://raz0red.github.io/js7800
1.) The XM implementation has been updated to be consistent with the released hardware. All the credit for this feature goes to @RevEng who provided the source code to base the implementation on and answered all of my annoying questions. There is an option in the "Advanced" tab of the settings dialog that can be used to control when XM is enabled. By default, it is enabled based on the value in the cartridge header or the value in the internal JS7800 cartridge database. It can also be set to always enabled or disabled.
2.) Initial version of the Yamaha (YM2151) sound chip. There is a fairly high likelihood that several defects exist with this initial implementation.
3.) Added ability to disable vertical sync ("Advanced" tab of settings dialog).
4.) Added Zanac and Side-Crawler's Dance Yamaha music demos to the default cartridge list. Added an XM memory test developed by @RevEng to the default cartridge list.
Thanks,
Chris
-
6
-
-
1 hour ago, thursday83 said:Hey Bob - minor thing - who cares, but just FYI - for me anyway, when playing on a mac, on OpenEmu3, during the first intermission after 2 boards on Ms. Pac-Man, the in-between section is blocked out by some rectangular sections of black.....so you can't see the "celebration" in full....I'll try to capture a screen shot or video.....
My guess is that OpenEmu3 is based on ProSystem.
The original ProSystem code has defects in its handling of Holey DMA. These issues were really obvious on Pac-Man 320 (and related releases).
Chris
-
4
-
1
-
-
14 minutes ago, gambler172 said:Hi Chris
great idea... however on my old laptop,it works not really good.But on my friends high end PC,it looks great.
Hi-
Thanks a lot for the report. Unfortunately, at this point it does require a newer PC. I do plan on adding some settings that would allow for better support across all hardware (frame skipping, etc.). It would be great if you could help test those changes once they become available.
Thanks,
Chris
-
3
-
-
1 minute ago, mksmith said:Great job Chris 👏👏👏
Had a nice session last night playing a few game on there!
Thanks a lot!
I had a great time playing the Millie and Molly demo this morning! 😃
Chris
-
3
-
1
-
-
A new version of JS7800 has been posted:
https://raz0red.github.io/js7800
In addition to some minor bug fixes, the following updates have been made:
1.) The addition of @Trebor's palettes. You can select from his "Cool, Warm, and Dark" palettes in "Display" settings. The palettes are available in two variations, "Dark and Light" based on the brightness level of the palettes. A big thanks to @Trebor for contributing his palettes and helping me get them integrated.
2.) A new "Fullscreen" scaling option in "Display" settings. This allows for enabling integer vertical scaling (versus "Fill screen"). Integer scaling ensures that no fractional pixels (vertically) are present when in full screen mode. Horizontal scaling in fullscreen is still controlled via the "Aspect ratio" option. A 1:1 "Aspect ratio" combined with "Fullscreen" integer scaling will ensure that no fractional pixels are present when in fullscreen mode.
3.) Added "Super Cobra", "Color Selector Demo", and "Worm!" to the default cartridge list. Updated "Dragon's Cache" to the latest version.
4.) Added a new "Global Leaderboard" page.
https://raz0red.github.io/js7800/leaderboard/
The leaderboard page allows for viewing the current high scores for games that are compatible with JS7800 global high scores. This simplifies viewing high scores for games, as previously they could only be viewed by playing the game and waiting for the scores to appear. In addition to the current high scores, this page also displays players with top points obtained across all games (1-5 points per mode based on position). The leaderboard also attempts to determine what the top 5 most competitive games are at any moment. There is also a panel that shows the top players for the current set of "most competitive" games.
JS7800 also provides a link to the "Global Leaderboard" via an icon that looks like a "medal" in the command bar. If the current game supports global high scores, the global leaderboard will be launched contextually.
It is also possible to launch JS7800 contextually from the leaderboard for a subset of games. A small controller will appear in the bottom right of the selection header if JS7800 can be launched for the current game.
Thanks,
Chris
-
6
-
2
-
-

JS7800: Atari 7800 JavaScript Emulator
in Atari 7800
Posted
I don't know if they have been documented, but definitely seems like an issue with the ProSystem TIA implementation.
Chris