Jump to content
IGNORED

Fixing known bugs in Handy emulator


LX.NET

Recommended Posts

I tried your new build. The sound is much better (less distortion) in Batman Returns, Klax, Pac-Land, Paperboy, and Super Skweek.

 

Awesome thanks! I've noticed the biggest difference in Warbirds - that broke up very badly on the title music previously. It's still not 100% perfect yet as I hear the odd click on some music but very irregular, it could still be buffer related, possibly its truncating a byte or two when its writting to the buffers when they swap or something.

Link to comment
Share on other sites

Really??? What did it think it had found? I use Norton and Malware bytes and neither say anything here?

I may have cried Wolf! too soon. Unblocking the downloaded zip before extracting made Windows 8 less jumpy. All's good! ;)

I can also confirm that this makes a lot of difference. I even noticed that the weird warp effect on Robotron 2084 is fixed by solving the 1-pixel bug. I hadn't noticed that before.

Cool stuff, GadgetUK!

Link to comment
Share on other sites

I may have cried Wolf! too soon. Unblocking the downloaded zip before extracting made Windows 8 less jumpy. All's good! ;)

I can also confirm that this makes a lot of difference. I even noticed that the weird warp effect on Robotron 2084 is fixed by solving the 1-pixel bug. I hadn't noticed that before.

Cool stuff, GadgetUK!

 

Well spotted lol, I never even noticed that before!! How on earth you managed to fix that bug I will never know lol - not the easiest one to fix at all.

Link to comment
Share on other sites

I've tracked what I think is the cause of the bug related to the missing sample on Gates of Zendocon. Channel 0 is where the sample plays:-

 

 

In Mikie.h - around line 283 (ish, ive been playing around with my code...)

 

if (mAUDIO_0_ENABLE_COUNT && (mAUDIO_0_ENABLE_RELOAD || !mAUDIO_0_TIMER_DONE) && mAUDIO_0_VOLUME /*&& mAUDIO_0_BKUP*/)

 

If you comment out that last check the sample plays fine, but I think it has adverse effect on other sounds and music. I need to dig into the technical documentation to work out why this is happening I guess. Its being populated at the wrong time somehow - I think.

Edited by GadgetUK
Link to comment
Share on other sites

When I say populated at the wrong time, I mean when its zero the code below it doesnt fire - so theres no output from channel 0, which is why the sample doesnt play. Its now a question of working out whats wrong with the logic. Ive looked at the tech info and it appears a bit complex at this stage.

Link to comment
Share on other sites

Update to 0.97 - Fixed (or so I hope...) the 'wahahaha' sound sample at the start of 'Gates of Zendocon'. Please let me know if you notice any problems with other games as a result of the change. I've tested a good 40 or so ROMs and it seems OK.

 

http://www.c5softwar...s/handy0.97.zip

 

Hmmm, driving me nuts this one.... Works fine for god knows how many I tried except for California Games - now that sounds wrong lol.

Edited by GadgetUK
Link to comment
Share on other sites

Right, a working release now - until someone tells me otherwise :P

 

http://www.c5software.co.uk/downloads/handy0.971.zip

 

Basically has the sound buffer improvement from before, the 2 bug fixes from LX.NET, and another sound fix which could have affected other sound but primarily it stopped the laughing sample at the start of Gates of Zendocon.

Link to comment
Share on other sites

Following on from the last update (0.971), i've had a look at timing issues and in particular noticed something about Roadblasters. It flickers like mad, but if you reduce the cycle count mutiplier define at the top of Machine.h, reduce it to 0 from 3, you find that Roadblasters is then perfect graphically - although it runs too fast but thats an obvious knock on affect because we are playing with timing values here. I haven't looked any deeper yet but it seems like some of the routines that use that multiplier are possibly wrong, possibly the multiplier itself is flawed as its may not take the same constant number of cycles for all activities by suzi. My theory - and I could be wrong, ive not spent long enough on this yet, is that the way handy emulates the cycle timings is wrong, possibly only by a bit but enough to make it wholey unaccurate for Roadblasters. Reducing this to 0 means (I think) that the CPU is back on the bus doing its stuff quicker than normal and able to compensate for timing problems that were evident when SPR_RDWR_CYC is set to 3. I suspect that this isnt going to be easily fixable, at least not without a hell of a lot of time and comparisson to the lynx hardware. I am not sure how you work out on the actual hardware how many 'suzi ticks' an operation actually takes. If we had proper technical information regards suzi it would be much easier.

 

 

 

//NOTE: Changing this to 0 fixes Roadblasters palette timing issues, likely due to CPU being back on the bus without the incorrect artificial delay of Suzi operations - ie. Suzi emulation taking more cycles than the real lynx uses, OR the way in which the CPU is artificially delayed by these number of cycles is incorrect, and perhaps the CPU should return to the bus at fixed intervals regardless of how many cycles suzi takes to complete operations. I've not dug into the code enough to fully understand how this all hangs together yet.

 

#define SPR_RDWR_CYC 3

 

Incidentally ive not noticed any new problems anywhere since I implemented that Gates of Zendocon sound fix.

Edited by GadgetUK
Link to comment
Share on other sites

Yes Suzy emulation is not accurate at all, timings -sprite and math engines- are wrong. LX.NET has some values for the math engine.

Glad you are working on it, hopefully you can come up with something more accurate.

Any chance you put the sources somewhere too, github, bitbucket, anything, so your work don't get lost ?

Thanks for your work.

Edited by obschan
Link to comment
Share on other sites

#define SPR_RDWR_CYC 3

 

Sounds like RDWR stands for Read/Write Cycles.. so they are defaulting to the read and write cycles always being 3. SPR means sprite maybe?

 

Yes, thats exactly what he did. What I need to work out is where he got 3 from and whether thats accurate for all scenarios. Moving forward from there its a case of then looking at operations suzi carries out and work out if his timings for those are correct.

 

I will stick the source somewhere soon.

Link to comment
Share on other sites

Yes Suzy emulation is not accurate at all, timings -sprite and math engines- are wrong. LX.NET has some values for the math engine.

Glad you are working on it, hopefully you can come up with something more accurate.

Any chance you put the sources somewhere too, github, bitbucket, anything, so your work don't get lost ?

Thanks for your work.

 

No problem, I cant guarantee any major improvements regards timing. Interested to see what comes out of the maths testing youve done together.

 

Ive looked at multiply and divide suzi ops and whilst they seem correct for the most part I am not 100% sure the are precise regards carry, sign, overflow flags etc. That was on the back of looking at the Warbirds bug.

Link to comment
Share on other sites

Its a slideshow of naked Japanese ladies. It uses a technique to show more colours than normally possible - they look a little like 256 colour images as a result. It has some OK music as well but the timing of the music goes out totally by about 3/4 the way through the slideshow. I think theres something like 16 pictures if memory serves, possibly 32 I honestly dont remember.

 

The title screen credits shows - 'Bitman Productions'.

 

EDIT: Oh, and if you want a copy someone has been producing and selling them on EBAY - a seller in France, infact 2 people in France seem to be selling them. I bought mine a month or so back and ive seen the same seller put more on since then and last night I spotted someone selling 4 or more copies. It's reasonably priced for what it is. It comes on one of the Pasiu 256Kb PCB's. Mine was unsocketed.

Edited by GadgetUK
Link to comment
Share on other sites

You do not need to be a programmer to use a click-once-be-happy tool.

 

 

I’m not sure why you made this comment, but I wanted to know if the person or persons who made this slideshow already have an established reputation for developing and making games for the Lynx, or if this was made by some person who was unknown until the making of this. Thus, I think “programmer” was the best word to use in my concise question. If I had simply said “person,” then that could have referred to any user on this site, whereas “programmer” would refer to those who are known to have made and released games in some form for the Lynx, many of whom make their appearance on this site.

Link to comment
Share on other sites

I’m not sure why you made this comment,

looks like.

 

but I wanted to know if the person or persons who made this slideshow already have an established reputation for developing and making games for the Lynx, or if this was made by some person who was unknown until the making of this. Thus, I think “programmer” was the best word to use in my concise question. If I had simply said “person,” then that could have referred to any user on this site, whereas “programmer” would refer to those who are known to have made and released games in some form for the Lynx, many of whom make their appearance on this site.

 

The difference is between USER and CODER.

 

The user is using a tool the coder has written.

Thus you can credit him for the picture selection, music, packaging, etc.

 

http://www.atariage.com/forums/topic/194940-hicolor-slideshow-builder-tool-from-sage

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...