TailChao Posted August 1, 2019 Author Share Posted August 1, 2019 13 minutes ago, Synthpopalooza said: I am helping Trebor improve A7800 emulation of POKEY with test examples. That thread may be of help to you too. Yep, I flipped through that one. Thanks. Right now the biggest holdup for Pokey's accuracy is that I'm not using it in any software (and probably won't). So I'll get to it, but not soon. Quote Link to comment Share on other sites More sharing options...
TailChao Posted August 1, 2019 Author Share Posted August 1, 2019 (edited) ...and what would a new version be without new issues? The *.a78 loader isn't enabling the EXFIX segment for SUPER cartridges and Full Screen Mode overwrites the saved window dimensions. Looks like v0.9.6.1 will show up early! Edited August 1, 2019 by TailChao 1 Quote Link to comment Share on other sites More sharing options...
TailChao Posted August 3, 2019 Author Share Posted August 3, 2019 I decided to take advantage of the loader fault while it's there and see which SUPER cartridges would fail without the EXFIX segment mapped in. It was most of them. The only titles which still appeared to work were : Barnyard Blaster Crack'ed Dark Chambers Real Sports Baseball Tank Command Water Ski Other games have varying responses to missing 16KB of data. Some just crash immediately (Xenophobe), but others will actually play albeit with corrupt graphic data (Ninja Golf). Quote Link to comment Share on other sites More sharing options...
TailChao Posted August 19, 2019 Author Share Posted August 19, 2019 Since BupSystem's development will be suspended after the next update, I'd like to open preview builds of v0.9.6.1 to anyone interested in testing. This version must be closed by early September, so some accuracy issues may not get corrected. My primary focus is on stability and making sure the program gets along with all the variants of Windows before rolling its changes into Rikki & Vikki's fall update. Generally : Is setting up the emulator straightforward? Do you have any issues loading and running game software? If you have a supported joystick or gamepad, is it recognized by the [auto] mapping feature? If you have a (name brand - no generic gamejoy) joystick or gamepad that isn't on the supported device list, let's add it. Is HTML Help actually useful in explaining program behavior and features? If you're interested send over a PM. Quote Link to comment Share on other sites More sharing options...
TailChao Posted August 26, 2019 Author Share Posted August 26, 2019 Oh hey, it's BupSystem v0.9.6.1 What's changed in this version? Added Full Screen Mode toggle on double-click (unless Light Pens are enabled). Upgraded to JoyFish v0.8.6.1. Cleanup Improved keyboard navigation in dialogs, button focus and ordering is much friendlier. Input assignment procedures can now be aborted by pressing Esc. Full Screen Mode was overwriting the user’s window dimensions. EXFIX segment in SUPER cartridges wasn’t enabled for *.a78 files. AutoSave feature wasn't working if an XBoard was installed. As I won't be able to return to BupSystem for some time, I tried to make this a little more than just a "whoops" update. Using the program with a keyboard has been significantly improved, and all dialogs are a little more considerate when changing focus. The biggest improvements were made under the hood in JoyFish, I've added support for device name hinting - so if you forget to plug in a joystick BupSystem can now tell you which joystick it was. As usual, more input devices are supported out of the box including (almost) the entire Mayflash product line. Unless there are any unexpected issues, this version will be the base for Rikki & Vikki's fall update. What’s next, or what might be next... Much of this post still holds true regarding the current state and future of BupSystem's development - minus the JoyFish enhancements which have already been added. I'd like to continue reverse engineering the hardware and posting my findings in this thread. However, because of Rikki & Vikki's poor sales I cannot continue this work full time and updates will be done at leisure - if at all. I am also still in search of a replacement 7800 cartridge slot, if anyone would like to donate one it would be greatly appreciated. 5 2 Quote Link to comment Share on other sites More sharing options...
TailChao Posted October 4, 2019 Author Share Posted October 4, 2019 Found an issue while testing Rikki & Vikki's data migration tool, Sally's clock multiplier is pushed in save states. So loading a state (unintentionally) restores your overclocking settings from that session. This was another whoops introduced during the 0.9.5.4 -> 0.9.6.0 transition. It won't affect Rikki & Vikki's fall update, but make sure to keep this in mind if you're using BupSystem. 1 Quote Link to comment Share on other sites More sharing options...
TailChao Posted November 1, 2019 Author Share Posted November 1, 2019 Tomcat - The F-14 Fighter Simulator is very rude. I was going to add support for crashing Sally if Maria's DMA was enabled before the HEN signal was active or her DMA_TEST_A / DMA_TEST_B modes were used. But that caused the game to lock up immediately. During startup it writes $7F, $00, $40 to Maria's CTRL register which briefly enables DMA_TEST_A. Yet the gap between the $00 and $40 is evidently short enough that this doesn't cause any issues. Quote Link to comment Share on other sites More sharing options...
TailChao Posted December 8, 2019 Author Share Posted December 8, 2019 (edited) New list of most recently played cartridges, sorted and clearable. Edited December 8, 2019 by TailChao 5 Quote Link to comment Share on other sites More sharing options...
Trebor Posted January 19, 2020 Share Posted January 19, 2020 Meant to mention this much sooner, but it kept slipping my mind. Perhaps something that seems easier to implement than a CRT filter, in the interim, is the option for screen cropping. Too much of the top and bottom is visible when compared to most (all?) displays with the actual console hardware. If possible, a simple "None (240), Average (224), High (208)" settings, multiples of 4 or 8 scanlines added or subtracted, or even custom values would be appreciated. 2 Quote Link to comment Share on other sites More sharing options...
AW127 Posted January 19, 2020 Share Posted January 19, 2020 Today somebody pointed me to this emulator and i tried it out in last 30 minutes. "BupSystem" really makes a very good impression. Easy in handling and with great compatibility. Good emulator! Only thing which nerves me a little bit is, that always when i go into the "GAME / OPEN" menue, only cdf files are shown and i always must change to a78 files first. Would be great if either, the emulator can load all file-types from the beginning on (user can see all the different files) or the emu saves the last file-type which was chosen and then stays at a78 files in this function. 2 Quote Link to comment Share on other sites More sharing options...
TailChao Posted January 20, 2020 Author Share Posted January 20, 2020 22 hours ago, Trebor said: Too much of the top and bottom is visible when compared to most (all?) displays with the actual console hardware. If possible, a simple "None (240), Average (224), High (208)" settings, multiples of 4 or 8 scanlines added or subtracted, or even custom values would be appreciated. This is definitely on the todo list (and I'll add it to the first post), but I'm not sure it'll make it into the next release. I'd rather go fully custom here, since visible overscan is highly dependent upon which sort of display you're using and how it's calibrated. For example, Atari's recommended 192-line safe area is very accurate to what my old Sharp Linytron displays - but I can see nearly 240 lines on my Sony PVM. It'll eventually go into an "Advanced..." configuration section. 16 hours ago, AW127 said: Only thing which nerves me a little bit is, that always when i go into the "GAME / OPEN" menue, only cdf files are shown and i always must change to a78 files first. Would be great if either, the emulator can load all file-types from the beginning on (user can see all the different files) or the emu saves the last file-type which was chosen and then stays at a78 files in this function. Since a short cartridge history is already part of 0.9.6.2 - a type history would also be appropriate. I'll try to add the latter behavior where BupSystem will remember your last type of file used. In the meantime, you can already load a cartridge by dragging and dropping its file onto BupSystem's window - and this doesn't require any extension scoping. As a reminder, new versions will take some time since I'm not exclusively working with the 7800 anymore. But I did finally repair the console I use for development. I'd like to at least release a new version before the end of this year with minor polishing and a draft implementation of my new mapper design. 5 Quote Link to comment Share on other sites More sharing options...
Trebor Posted January 20, 2020 Share Posted January 20, 2020 8 hours ago, TailChao said: This is definitely on the todo list (and I'll add it to the first post), but I'm not sure it'll make it into the next release. I'd rather go fully custom here, since visible overscan is highly dependent upon which sort of display you're using and how it's calibrated. For example, Atari's recommended 192-line safe area is very accurate to what my old Sharp Linytron displays - but I can see nearly 240 lines on my Sony PVM. It'll eventually go into an "Advanced..." configuration section. Excellent. Thank you. Complete customization would be perfect. Indeed, there is a lot of variation here. There may be some interest looking at this thread too. The 2600 was leveraged to take a poll for scanline visibility among other things. Min 190, like your Sharp, and Max 239, like your Sony. The majority (60%) of NTSC displays tested average 224.2 scanlines. For the 7800, the 224 value also coincides with the other contemporary console specifications (I.E. NES, SMS). It tends to be a favorite, based on personal experience and referencing the original retail library. Water Ski and Tank Command both perfectly fit with 224 scanlines in view, so developers (At the very least Froggo), evidently experienced, planned, and programmed accordingly. Perhaps 224 could be considered the default line visibility with complete customization available for more or less in view, respecting future releases when the feature is implemented. 8 hours ago, TailChao said: As a reminder, new versions will take some time since I'm not exclusively working with the 7800 anymore. Regardless, thanks for keeping at it - even if it is once a year or even once every couple of years. It is appreciated. 2 Quote Link to comment Share on other sites More sharing options...
TailChao Posted January 29, 2020 Author Share Posted January 29, 2020 Since I was unable to find a donor cartridge slot (and would likely have destroyed it anyway), here's a - uh... alternate solution. I put two 2.54mm headers where the cartridge slot was located then made modules which attach to them. This way my test boards connect to the headers rather than requiring a beveled card edge, as another plus it's easier to hang logic analyzer probes off the thing. For running normal cartridges we have this monstrosity... The slot is an AMP / TE Connectivity's 5530843-3 (Mouser #571-5530843-3), it's not as tall as the original slot but the pin spacing is identical. So if you're trying to fashion a 7800 Cartridge Programmer this is a good pick. 7 Quote Link to comment Share on other sites More sharing options...
TailChao Posted February 16, 2020 Author Share Posted February 16, 2020 (edited) On 1/20/2020 at 10:56 AM, TailChao said: I'll try to add the latter behavior where BupSystem will remember your last type of file used. ...and this feature has been added for all file filters. Quote I'd like to at least release a new version before the end of this year with minor polishing and a draft implementation of my new mapper design. ...and this one is on the way. I've also added an alternate BupSystem BIOS to the todo list, a functionally equivalent but non copyright infringing version of the 7800 BIOS which can be bundled with the emulator. Not sure if this will make it in 0.9.6.2, but it's a convenience I'd like to have. Addendum : Should we have pinned topics for both A7800 and BupSystem's development status in here? This would also help nudge users towards which emulators are actually being supported (and away from ProSystem). Edited February 16, 2020 by TailChao 4 Quote Link to comment Share on other sites More sharing options...
TailChao Posted March 2, 2020 Author Share Posted March 2, 2020 Reworking and redecorating the menu tree for coherence. Like icons? The menu is now polluted with them, and yes - the little switches move based upon your settings. 9 Quote Link to comment Share on other sites More sharing options...
TailChao Posted March 27, 2020 Author Share Posted March 27, 2020 I've mostly settled on a feature set for PMC1, so it's attached here. While SOUPER was intended to be minimalist and allow easy migration of software using Atari's mapping scheme, PMC1 is designed specifically to address what I feel are shortcomings in the hardware and falls roughly between MMC3 and MMC5 class. It also contains a few "looking forward" features with an intention to be expandable, but remain compatible (i.e. it'd be feasible to do a PMC2 which adds new knobs and dials but remains compatible, or cut off things you don't need to make a PMC1-micro). If the partitioning seems a little confusing, it may be helpful to think of Maria's graphic fetches as $VVUU (or $YYXX) from a giant texture which is all of memory. This is why some elements are subdivided on A7 or A7 + A6 borders. The SPI Controller has been added since it's significantly cheaper to use 3.3v SPI Flashes + SPI Level Shifter and pull data into EXRAM rather than expanding the size of the NOR Flash. You can drop a 16MB SPI Flash on there easy and store all your graphic data or stage maps on there, it can also be a little simpler than converting everything to 3.3v - it's nice and isolated. Please note this is a draft specification. I've written the Verilog and will add this to BupSystem for 0.9.6.2 - but are in no rush to finalize it. As stated before, "eh, maybe by the end of the year" is my timeline. If there's anything you feel would plus this feature set, let me know and I'll see if it's feasible. EQU_PMC1.asm 2 Quote Link to comment Share on other sites More sharing options...
R_Leo_1 Posted March 29, 2020 Share Posted March 29, 2020 Would it ever be possible to add a feature to pause and advance frame by frame, similar to what FCEUX has? Quote Link to comment Share on other sites More sharing options...
TailChao Posted March 29, 2020 Author Share Posted March 29, 2020 13 hours ago, R_Leo_1 said: Would it ever be possible to add a feature to pause and advance frame by frame, similar to what FCEUX has? Pausing was added in the last few weeks, so I'll stick frame advance on the todo list. Maybe Shift + Pause to trigger it? The only catch is that the audio might drift out of sync if you use this feature for a long period of time (i.e. step through hundreds of frames). But unpausing will snap it back into alignment. 1 Quote Link to comment Share on other sites More sharing options...
Trebor Posted March 29, 2020 Share Posted March 29, 2020 15 hours ago, R_Leo_1 said: Would it ever be possible to add a feature to pause and advance frame by frame, similar to what FCEUX has? If you have an immediate need for it, the A7800 emulator has the feature present, enabled with Shift+P, as inherited from MAME. 2 Quote Link to comment Share on other sites More sharing options...
PacManPlus Posted March 29, 2020 Share Posted March 29, 2020 57 minutes ago, Trebor said: If you have an immediate need for it, the A7800 emulator has the feature present, enabled with Shift+P, as inherited from MAME. Did not know that. Thank you! 1 Quote Link to comment Share on other sites More sharing options...
TailChao Posted March 29, 2020 Author Share Posted March 29, 2020 1 hour ago, Trebor said: If you have an immediate need for it, the A7800 emulator has the feature present, enabled with Shift+P, as inherited from MAME. ...and now it's in for 0.9.6.2, triggered by Shift + Pause. That wasn't too bad! 4 Quote Link to comment Share on other sites More sharing options...
R_Leo_1 Posted March 29, 2020 Share Posted March 29, 2020 1 hour ago, TailChao said: ...and now it's in for 0.9.6.2, triggered by Shift + Pause. That wasn't too bad! Wow! Awesome, I'll definitely be making use of this feature! Thank you Quote Link to comment Share on other sites More sharing options...
AW127 Posted March 31, 2020 Share Posted March 31, 2020 Looking forward to the next release of your emu, TailChao. Quote Link to comment Share on other sites More sharing options...
TailChao Posted April 4, 2020 Author Share Posted April 4, 2020 (edited) On 3/27/2020 at 12:27 PM, TailChao said: I've mostly settled on a feature set for PMC1, so it's attached here. ... Please note this is a draft specification. I've written the Verilog and will add this to BupSystem for 0.9.6.2 - but are in no rush to finalize it. ...and after a week, I've nudged some things around. In particular, Maria's paging has been repartitioned as follows. ; | $xx00 | $xx40 | $xx80 | $xxC0 ;--------------------------------------------------------------------------- ; $00xx - $3Fxx |........................................................... ;---------------|----------------------------------------------------------- ; $40xx - $4Fxx | EXRAM (4KB, EXRAM_V_SEL) or DLM (4KB, DSX/DSY + BGL/FGL) ;---------------|----------------------------------------------------------- ; $50xx - $5Fxx | BGX_C | BGX_D | BGX_E | BGX_F ;---------------|----------------------------------------------------------- ; $60xx - $6Fxx | BGX_A | BGX_B ;---------------|----------------------------------------------------------- ; $70xx - $7Fxx | BGX_W ;---------------|----------------------------------------------------------- ; $80xx - $8Fxx | BGR_W ;---------------|----------------------------------------------------------- ; $A0xx - $AFxx | CHX_C | CHX_D | CHX_E | CHX_F ;---------------|----------------------------------------------------------- ; $C0xx - $CFxx | CHX_A | CHX_B ;---------------|----------------------------------------------------------- ; $E0xx - $EFxx | CHR_A | CHR_B ;--------------------------------------------------------------------------- That should work a little better. CHR_A, CHR_B, and the new BGR_W are still restricted to the first 512KB of the 2MB ROM, but I've moved their registers around to leave space for an upper byte to make this future-extendable - right now they're constrained due to gate count. Rest I'm still okay with. EQU_PMC1.asm Edited April 4, 2020 by TailChao 2 Quote Link to comment Share on other sites More sharing options...
TailChao Posted April 9, 2020 Author Share Posted April 9, 2020 On 4/4/2020 at 4:55 PM, TailChao said: ...and after a week, I've nudged some things around. ...and again! No register or feature changes, but I got the SPI Controller to operate at exactly PHI2 (1.79 or 1.19 MHz) instead of (PHI2 / 2). So one byte every eight clocks, which is faster than most arbitrary unrolled copies like... LDA SPI_DATA ; 4 STA SPI_DATA ; 4 STA (GLO_PointerA),Y ; 6 INY ; 2, 16 ... ...but if you're banging SPI_DATA (for example, seeking within flash memory), you'll still need a nop or two. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.