Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Zexall updates - documentation and speed

Reply to topic
Author Message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13880
  • Location: London
Reply with quote
Zexall updates - documentation and speed
Post Posted: Wed May 25, 2016 7:57 pm
I have had a go at documenting Zexall up, and at the same time made a bunch of other changes. Along the way, I found a bunch of errors in the tests - assuming that the intention is to permute the inputs to the opcodes under test, and not to permute other unrelated bits to check they aren't used. So, as a side effect, I've chopped a bit off the runtime of the suite. I also had to recompute many of the CRCs, for which I mostly used Emulicious.

I don't have a handy console to test on, though - so attached are a couple of built ROMs. Can someone check if the CRCs are OK, and that it works as intended?

Among the things I'd like to do are to add the R register into the tests, and also to try to get some more coverage of the opcode space, including the undocumented bits.

Code is here: https://github.com/maxim-zhao/zexall-sms
zexall.zip (11.18 KB)

  View user's profile Send private message Visit poster's website
  • Joined: 01 Jan 2014
  • Posts: 331
Reply with quote
Post Posted: Fri May 27, 2016 10:39 am
Hi,

I ran the the documented flag while doing other things and as far as I can tell everything was ok.

Did you want the all flags? I am not even sure how you could get comprehensive results. Maybe write the results to cart ram then retrieve the binary from everdrive cart?
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13880
  • Location: London
Reply with quote
Post Posted: Fri May 27, 2016 10:29 pm
Yes, please check the all flags version too. I'm hoping to put some of the missing instructions into the tests - and also to make the undocumented ones optional.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Jan 2014
  • Posts: 331
Reply with quote
Post Posted: Sat May 28, 2016 8:42 am
Please find attached results for all flags.

Test results has issues on hardware, garble at start then missing characters periodically. I modified rom to make sms write all screen output to sd card via sram, i wonder if that is a first. Output this way is complete.

That code is interesting, learned a few things. Interesting structure too.
Zexall Results.txt (2.33 KB)

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13880
  • Location: London
Reply with quote
Post Posted: Sat May 28, 2016 9:15 am
Appending to SRAM is a nice option, worth adding in by default. The graphical corruption is annoying, I'd tried to speed it up a bit by making the character print routines only wait for vblank before each string instead of per character, I guess that isn't quite working. Thanks for the results!
  View user's profile Send private message Visit poster's website
  • Joined: 01 Jan 2014
  • Posts: 331
Reply with quote
Post Posted: Sat May 28, 2016 12:17 pm
Quote
Appending to SRAM is a nice option, worth adding in by default.


Sure, attached code. Hackish so you might want to reformat. Search for psidum / calindro to see code segments. I had previous issues with emulators and 16k roms using sram so changed to 64k. No idea if those issues apply here so feel free to change back.

Assuming all emulators store save as ram dump you can open with your favorite text editor as ascii formatted text.
zexall.zip (20.08 KB)

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13880
  • Location: London
Reply with quote
Post Posted: Sat May 28, 2016 7:04 pm
It's a shame to pad it but it seems like there's a lot of compatibility issues out there.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 2990
Reply with quote
Post Posted: Sun May 29, 2016 8:56 am
psidum wrote
I modified rom to make sms write all screen output to sd card via sram


That's a nice idea, this way I could run the tests without having to keep the TV busy, and send the output later :)
  View user's profile Send private message Visit poster's website
  • Joined: 01 Jan 2014
  • Posts: 331
Reply with quote
Post Posted: Sun May 29, 2016 10:19 am
Just a tip. Everdrive was not storing sram as a file for me. I needed to load a different rom for it to push existing save data to file. I made two copies of rom on sd card with different names and used the second to get the sram file.

edit: Calindro says this is probably because i did not turn of sram which you need to do on a real cart.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2990
Reply with quote
Post Posted: Sun May 29, 2016 2:48 pm
AFAIK Everdrive dumps SRAM contents to SD when you want to load a new ROM into its memory, won't dump to SD in any other case.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13880
  • Location: London
Reply with quote
Post Posted: Sun Oct 17, 2021 9:24 pm
I may as well pick this thread to be a releases thread for Zexall-SMS.

I've released version 0.17 which rolls up a few changes over recent years, most notably it now supports screen, SRAM and SDSC console all at once; and it should work on an SG-1000 now, auto-selecting mode 2 if mode 4 is unavailable (using the sprite collision flag to test).

https://www.smspower.org/Homebrew/ZEXALL-SMS
https://github.com/maxim-zhao/zexall-sms/releases/tag/v0.17

I have another update in progress which speeds it up by about 30%...
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13880
  • Location: London
Reply with quote
Post Posted: Tue Oct 19, 2021 10:32 am
Version 0.18 is released:

https://www.smspower.org/Homebrew/ZEXALL-SMS
https://github.com/maxim-zhao/zexall-sms/releases/tag/v0.18

This contains some improvements to the makefile, new fonts because I felt like it, and most importantly a speed-optimised CRC32 implementation which makes everything run much faster.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!