#Sega Master System

2480 messages · Page 3 of 3 (latest)

smoky dock
#

This build fix the regression glitches in Fray - Shugyou Hen (Game Gear) and After Burner (SMS).

thorny sierra
#

For information you shared the previous RBF and not the new one with the fixes.

thorny sierra
vivid ledge
thorny sierra
#

Working great 🙂

thorny sierra
#

No new issue after some testing of GG, SMS, SC and SG for SMS_SC-3000 core.

obtuse prairie
#

Is the Master System core perfected now? 😮

chilly dove
#

Does 4 Pak All Action work on the Master System yet? I know the mapper wasn't supported last time I checked. Also, there's the 2 baseball games on Game Gear that are missing mappers

smoky dock
#

There are some mappers still not implemented

vivid ledge
#

SC-3000 and SK-1100 Support
Includes the latest changes. Please let me know if there are any regressions compared against the latest unstable.

obtuse prairie
smoky dock
#

yes

#

but some SMS ROMs don't have a header to inform which mapper they use

#

that's why it is trickier. Even with a mapper implemented, we still have to use some heuristic to know when to use them.

thorny sierra
thorny sierra
#

I have a question regarding the SMS core.
Do you think it is possible to merge GG in the same Load with SC, SG and SMS on the OSD ?

#

No no just to simplify the OSD settings 🙂

#

because we have
Load *.SMS,SC,SG
Load *.GG

It will be better to have Load *.SMS,GG,SG,SC

#

Some gamegear games have sms extension like Castle of Illusion (gg version) so I think it could be merged
https://consolemods.org/wiki/Game_Gear:Master_System_Games_on_Game_Gear#Game_Gear_Games_Running_in_Master_System_Mode

ConsoleMods Wiki

The Game Gear hardware is fairly similar to that of the Master System, with only a handful of enhancements (namely stereo sound and a much larger color palette). In addition, the Game Gear itself is capable of running Master System cartridges using a passive adapter, making it one of the few handhelds...

#

I see so not possible to simplify 😢

#

Yes I privileged GG version if the game is available on both supports

smoky dock
#

It would probably require more changes than I can handle. It is a job for a real core developer.

silver hare
#

Thinking GG specifically, it would be great if you could force GG or SMS regardless of the file extension, and have HDMI output simulate what the GG screen did pixel blending

vivid rampart
# silver hare This was my list a while back https://discord.com/channels/647909397477195803/1...

I saw those GitHub issues—would be awesome to get them implemented, and some are already on your list. About issue #167, I played Turma da Mônica for ~20 minutes and it worked fine on my end:
Turma da Monica em O Resgate (Brazilian Dragon's Trap) Doesn't work #167
Border support for 224p and 240p modes to achieve correct aspect ratio #163
GG: All 4 EEPROM games don't boot currently #130
Issues found by atari-forum user "hyperterminal" #55

thorny sierra
#

ty Kconger and Skooter for all improvements 🙂

smoky dock
#

Turma da Monica is fine here too.

#

I'll link the solved issues to the commits.

long rapids
visual summit
#

The Othello Multivision had built in buttons specifically for Othello, so that version doesn't work with a controller like the stand alone version (which has extra RAM for some reason).

long rapids
#

Probably for the AI player

visual summit
#

Sorry, misread at first. Makes sense. It kicks my butt even on level 1.

#

It works in SC-3000 mode on the test core (stand alone).

vivid ledge
#

GameGear Gear to Gear(Link Cable) support over USERIO. Tested between two MiSTers.
https://segaretro.org/Gear-to-Gear_Cable

A cable needs to be built to test, some games you can use a GBLink cable with SNAC adapters. Use a level shifter if connecting to a real Game gear.
https://www.smspower.org/Development/GearToGearCable
GG signal Cable pin USERIO
PC0 1 USER_IO[0]
PC1 2 USER_IO[3]
PC2 3 USER_IO[4]
PC3 4 USER_IO[5]
PC4 / TX 6 USER_IO[1]
PC6 / NMI 7 USER_IO[6]
GND 8 GND
PC5 / RX 9 USER_IO[2]

vivid ledge
#

This had to be worked out before that. 🙂

smoky dock
#

This build add support for "4 PAK All Action (Australia) (Unl)"

thorny sierra
smoky dock
#

This build supports Nemesis and Nemesis II.
Note: the mapper must be selected in the new OSD option "Korean Mapper".
I don't like this approach, but I'm still trying to figure out some auto detection that doesn't require CRC (costly on the FPGA side or needs changes on the framework in the host side).

smoky chasm
#

Do we have composite blur on the SMS core already?

sage hill
chilly dove
#

Is Robby just rick rolling everyone now?

thorny sierra
chilly dove
#

That was my experience with 4 Pak All Action years ago when I tested it. The game always booted but none of the 4 games boot and it sends you back to the menu when selecting any of them

thorny sierra
#

Nemesis I works if I set bios to disable and mapper to Nemesis but I couldn't make the Nemesis 2 works

thorny sierra
#

With the test build 4Pak I could go in game

smoky dock
smoky dock
#

I'm testing a small CRC16 in the last 8KB to detect both Nemesis and I'll leave an OSD option to set mapper to Auto, Sega, and Zemina. Maybe other games will work wih Zemina enabled and I can add a CRC detection to them too.

thorny sierra
smoky dock
thorny sierra
#

Thank you for the explanation 🙂

obtuse prairie
#

Is there a way to have an external BIOS boot in the core by default? I renamed the wonderful Japanese 2.1 BIOS to boot.rom, but that doesn't work.
It only works with "Load Ext. BIOS", and even so, it isn't saved so everytime I load the core I would have to manually load the BIOS...

#

I have been searching the channel before asking here, but I can't see a clean answer.

thorny sierra
#

You could use MGL file with this line below to run the core with bios loaded at the startup

#

<file delay="1" type="f" index="3" path="#Bioses/[BIOS] Sega Master System (Japan) (v2.1).sms"/>

obtuse prairie
thorny sierra
#

it is relative to the directory /media/fat/game/<setname_choose_on_mgl_file>

obtuse prairie
#

Ok, that works. But now I have two "Master System" entries: one is the actual .RBF core file, and the other is the MGL. Is there a way to hide the actual core?

thorny sierra
#

on _console directory you could create a directory named mgl without "_" to no make it visible and move the rbf in this directory

#

and change the path of SMSRBF on the mgl file

#

but after you need to update manually

obtuse prairie
#

Ahh.. not that convenient. I will simply name the MGL to something different.. Thanks!

#

But I wonder: why does boot.rom work with custom BIOS but not with the original japan BIOS?

#

I mean, what's different with the japan BIOS? Is there a way to convert it to a working format?

thorny sierra
#

To have boot.rom will require some update on the core to support it.
For the moment mgl is the way to go

obtuse prairie
#

It's the japan BIOS that does not

thorny sierra
#

Ok maybe the size file is different ?
I think boot.rom was not supported on this core.

obtuse prairie
thorny sierra
#

I see so boot.rom is used to run directly any games but not SMS bioses ?

obtuse prairie
charred turtle
#

Thanks to everyone that has been recently working on this core , you are the MVPs

sage hill
sage hill
smoky dock
#

This build implements mappers for the following games:

  • 4 PAK All Action (Australia) (Unl)
  • F-1 Spirit - The way to Formula-1
  • Knightmare II: The Maze of Galious
  • Nemesis
  • Nemesis II
  • Penguin Adventure
thorny sierra
#

4 PAK All Action and two Nemesis (KR) work !

#

For Nemesis 1, the bios needs to be disable on the bios to work.

smoky dock
#

which BIOS?

thorny sierra
#

[BIOS] Sega Master System (Japan) (v2.1).sms

#

With Nemesis 2 it works with his bios

smoky dock
#

The Korean BIOS should work

#

Maybe Nemesis is failing the Japanese BIOS check

thorny sierra
#

It is the only on the list failing with japanese bios check.

#

Auto works all cases for Mapper.

smoky dock
#

it has a weird header, but it may be something else

sage hill
#

does this channel need fancy pins?

smoky dock
#

In this one Japanese and Korean BIOS will now load Nemesis and the other new games:
4 PAK All Action (Australia) (Unl)
F-1 Spirit - The way to Formula-1
Knightmare II: The Maze of Galious
Nemesis
Nemesis II
Penguin Adventure

thorny sierra
#

Confirmed all boot with japanese bioses

thorny sierra
#

@smoky dock I found The Castle on SG Mode boots loop now. It has also graphical issues (like previously). (for information on My SG Mode mgl I set disable for bios)
On SC3000 mode it doesn't boot loop for information.

smoky chasm
#

The Castle is the big end boss now 🙂

sage hill
sage hill
thorny sierra
#

Regarding games on 4 PAK All Action, the standalone version of "Wonder Kid (Korea) (En) (Unl).sms" doesn't boot (maybe a mapper to add). It is not a regression.

smoky dock
#

This one?
SMS 5e7b18c8 24E29B513CCE7B89 Wonder Kid [Proto] [SMS-GG]/FLAGS=SMSGG_MODE,PROTO/COUNTRY=US/COMMENT=Prototype version of the game, based on 'Adventure Kid' available in '4 Pak All Action'/EMU_MAPPER=41

#

#define MAPPER_MSX_Generic16_8000 (41) // Register at 0x8000 with 16KB granularity. Same as CodeMasters except initial mapping is 0 for all slots.

thorny sierra
#

Yes it existed on Gamegear set and Master System Set but don't know if both used the same mapper and same hash. Both don't run on the core

smoky dock
#

The CRC16 check will make it easier to add those single game mappers.

smoky dock
#

This build implements the mapper for Castle, The (Japan) - SG-1000

smoky dock
#

This build implements the mapper for Wonder Kid [Proto] [SMS-GG]

#

They are incremental, this last one also has The Castle and everything before it.

thorny sierra
#

ty The Castle (SG Mode) and Wonder Kid work great 🙂

smoky chasm
#

Wow, I think I will have to move over from the Coleco core to the SMS one again for the SG-1000 games

sage hill
sage hill
thorny sierra
#

ty Skooter and Kconger ^^

round wagon
sage hill
#

Skooger

vivid ledge
vivid rampart
vivid rampart
#

Does The Castle (Taiwan) use a different mapper than The Castle (Japan)?

smoky dock
#

Yes, according to Meka documentation, it is a mapper 11.

#

which is "no mapper"

smoky dock
#

Trying to implement it. Got 4 new games to work: FA Tetris, Flashback, Rally-X, Road Fighter. But broke Bomberman. The other mapper 11 games do not load, including The Castle Taiwan which now doesn't show the logo.
It needs more investigation. May be not the same mapper or may be related to something else.

sage hill
#

@vivid ledge will you be submitting these to the mister dev level repo?

flat sierra
valid orchid
#

Doyle will be pleased

vivid ledge
round wagon
#

I'm sure this supports the link cable.

#

Great game, there is a translation if you need it.

#

It isn't listed on the Gear to Gear games though. 🤔

sage hill
bold brook
#

Well it's still the Lynx so....

pale hound
#

Forced black border for all games and auto-region detection (which changes the TV System too) is something that i really miss. Is it possible to add?

bold brook
#

I know many of the Master System games that were EU exclusive were still NTSC but there's a few I'm not sure on. Like Ninja Gaiden. Should we be playing that at 50hz or 60hz?

pale hound
#

Native NTSC games in NTSC of course. But the Master System has tons of exclusive PAL games too.

bold brook
#

Yeah but is Ninja Gaiden NTSC? I haven't been able to confirm. I know Power Strike II is PAL.

pale hound
#

Probably PAL

#

According to the No-Intro naming

bold brook
#

I've played it at both speeds and both seemed right.

#

Oh ok cool

#

Thanks. I like it and I think last time I played through on PAL. Just wanted to be sure I was using the right speed.

#

It would be cool to have the core auto detect.

smoky dock
#

I believe that, ideally, the host would calculate a CRC32 for the ROM and send it to the core.

#

Or maybe even check a CSV file for mappers and region to adjust automatically. Therefore we wouldn't have to touch the core to support a new ROM.

bold brook
#

Kind of how N64 works?

smoky dock
#

I never checked how it works

#

Just figured out it's trickier to auto detect mappers, it is easier to have a database.

#

based on what most emulators do

silver hare
#

A huge amount of SMS games are the same region for one ROM, so automatically deciding region might not be great

round wagon
#

Best option is to call 1-198-6-MARK-SMS you will get a region recommendation while lines are still open. smugnep

silver hare
#

Region Recommendation: PAL, 100% of the time

round wagon
#

My recommendation is NTSC 95% of the time

#

I think there was about 10 maybe less that exhibit glitches when run in NTSC. Jungle Book and Chase HQ etc.

#

I did have a list

#

Interestingly Chase HQ on Game Gear which is the same game runs at 60Hz with no track glitching

sage hill
sage hill
smoky dock
#

New Master System games supported:

  • FA Tetris (Korea) (Unl)
  • Flashpoint (Korea) (Unl)

New SG-1000 games supported:

  • Rally-X (Taiwan) (Chinese Logo) (Unl)
  • Rally-X (Taiwan) (English Logo) (Unl)
  • Road Fighter (Taiwan) (Chinese Logo) (Unl)
  • Road Fighter (Taiwan) (English Logo) (Unl)
long rapids
#

Oh nice, are you checking the SG-1000 games that are marked as not working on the old testing sheet?

smoky dock
#

Not yet. I was checking why The Castle (Taiwan) had a regression from title screen loop to no boot (@vivid rampart found it). Therefore I implemented the mapper 11, which fixed those games.

#

There are 3 other games that I may have fixed, but my daughter is watching the TV now and I can't test 🙂

#

I'll get to the spreadsheet, I think most issues are mapper related.

pale hound
vivid rampart
vivid ledge
round wagon
#

is it possible to have 1 screen appear on one display and another screen appear on the other? 🤔

#

1 player is on the analog output and the other is on HDMI

#

So you can't see each other screen

vivid ledge
#

Maybe, all my Misters are dual-ram and I don't have a CRT so it probably won't come from me.

smoky dock
#

New games supported:

  • Castle, The (Taiwan) (Unl)
  • Magical Kid Wiz (Taiwan) (Unl)
sage hill
smoky dock
#

New game supported: - Bomberman Special (Taiwan) (Chinese Logo)

smoky dock
#

007 James Bond (Japan) (Othello Multivision) is working too. It is the same VDP mode as Super Boy, so it got fixed as well.

#

I was updating the spreadsheet but I realize this is still unstable core. Should we wait for a stable version to update it?

long rapids
#

Probably best not update entry until the merge is accepted, or there is a numbered build at least, but no harm in commenting in comments column if you want to use it to keep track of your progress

smoky chasm
#

Or nag sorgelig to simply release as stable.

thorny sierra
#

@vivid ledge Testing a bit Gamegear2P,
There is missing sprites on the bottom right for OutRun in selecting screen

round wagon
#

I wonder if it is there on purpose, something related to the link cable ?

#

Looks like two pixels

thorny sierra
#

I think the line is shifted on the left but maybe the normal behaviour in link cable case

round wagon
#

Hard to tell

sage hill
#

omg @smoky dock let me rest please

#

pinning is a very difficult process

lean fox
#

Man I’m excited to see all the sms work going on. Proper SG-1000 and SC-3000 support rules

vivid rampart
#

Right now the SMS core only supports NTSC and PAL-N, not PAL-M (Brazil). Since the Master System was huge here with lots of exclusives, I’m wondering if adding PAL-M could help compatibility in some games (like Back to the Future III) or improve colors in certain titles.

round wagon
#

Back to The Future 3 for SMS was made by Probe in the UK which would be PAL-I

smoky dock
#

The PAL-M from Tec Toy Master System is in the RF and A/V outputs. Internally it is the same as NTSC.

smoky dock
#

Yesterday I went through the SG-1000 spreadsheet and I found out most games marked as "Unplayable" or "Issues" are now working.

#

The remaining are alternative versions of supported games in which the CRC must be added, and a mapper to be implemented "Mapper 15"

#

Since there will always be some translation, pallet hack, or any other ROM alternative that breaks CRC identification, I think it would be easier to have all mappers in an OSD option. CRC detection will still work for known games, but the mapper option will override any detection for these edge cases.

#

Any cons?

silver hare
#

Probably very handy, there are always odd mapper cases. I suppose automatic detection would still be the go to, but nice redundancy

brazen bramble
#

Could just use a database flushedshy

smoky dock
#

A database requires changes in the HPS side

brazen bramble
#

Yes, but if it’s better than having to manually select mappers, isn’t that a better solution?

#

I mean, I don’t know how many mappers there are, but if it means toggling through ~15 options, that seems a pain

obtuse prairie
#

I am alright with manually selecting the mappers.
Last core using a database (MSX2) has been in development for 5 years because of the complications of that approach.

brazen bramble
#

The N64 core does it, and I hacked one together for the Saturn core in the past - it’s not a huge amount of work blobshrug

smoky dock
#

The force Mapper option is for unkown ROMs only, and to easily find the mapper to include them.

#

I'll keep using the CRC option anyway, even if still hardcoded.

brazen bramble
#

But I don’t particularly care - I’m just pitching an idea so that things “just work” rather than having an end user needing to know which mapper to use

smoky dock
#

For now, 23 ROMs will be detected by CRC

#

All hardcoded

#

I'm reducing the mess in system.vhd by moving the CRC lists to another .vhd file

#

Adding a new game will require adding it to this list and recompiling.

brazen bramble
#

But it’s probably not that likely to need changing

smoky dock
#

I thought you were suggesting a .csv file or something like that.

brazen bramble
#

Well I was, but something that main read and toggled confstr bits as necessary

#

Exactly the same principle as what you’re doing right now, but not in the core itself

#

It’s not a perfect solution, but a few cores have used it by now

#

But honestly I don’t have any strong feelings. I was just trying to save future work by needing to recompile. It’s not major though

smoky dock
#

That was my ideal solution, but I didn't want to mess with the Menu.

brazen bramble
#

Why would you need to mess with the menu?

smoky dock
#

I mean, the HPS side

brazen bramble
#

Ah, gotcha

smoky dock
#

I never edited anything there.

brazen bramble
#

I’ve only edited there 😅

smoky dock
#

I don't think I even have the tools to compile it

brazen bramble
#

Don’t let me derail what you’re doing 🙂

smoky dock
#

But it would be a solution for ROMs that require specific options besides mapper (PAL, no BIOS, Japan region, etc.)

brazen bramble
#

Yeah, you could basically set everything if you needed to

smoky dock
#

I'll keep things simple for now. Only 3 mappers are being detected by CRC anyway.

round wagon
#

I'll make things complicated. SEGA Pico when ? joke

brazen bramble
#

Just in case you weren’t aware 🙂

round wagon
#

How are the games going to be packaged

brazen bramble
#

Pass 🙂

round wagon
#

a bunch of png's with a rom in a zip 😆

#

Best would be to vectorise the books

soft urchin
smoky dock
#

I remember that on the old Atari 2600 core, but I never really liked it. Renaming a file until finding the correct mapper is way more trouble than changing a menu option.

lapis crypt
#

nonstandard file extensions are usually a bad option from a ux perspective

smoky dock
#

And the idea is that all official ROMs will work on "Auto". The mapper option would be for translations, hacks, etc.

lapis crypt
#

why not all things?

#

use heuristics like 2600

#

we've learned the hard way that external metadata is shit

smoky dock
#

There are heuristics for most mappers. But I couldn't find anything for three specific mappers yet.

lapis crypt
#

they don't have any registers?

smoky dock
#

Maybe, I was looking for headers or other patterns.

#

two of the missing ones are those that have extra RAM

#

and the other is 48KB with no mapper

silver hare
smoky dock
#

Not that I know of. I had to rename Wonder Kid prototype to work in GG mode. It is the same ROM for both SMS and GG.

visual summit
#

Castle of Illusion has some differences, but the GG version still uses SMS mode

#

Rastan GG runs with the SMS extension, but is silent if you try to use FM sound since it was removed from the GG version.

lean fox
#

does the sc3000 portion include tape loading functionality? There have been some recently done type-ins from old magazines, would be cool to be able to run em

silver hare
#

Those GG/SMS differences would be nice if you could force the system was my thought.
I guess in particular, the difference would be far greater if the GG SMS display output mixing pixel RGB values was implemented in HDMI. In a way, that seems to be what some games (like Castle of Illusion) did to improve text visibility seemingly, accounting for the way SMS mode is handled in particular by the GG screen.
For sure it would need to be an opt in option as people love those clean pixels, but it would be neat to replicate how the at least some of those SMS on GG games were designed

round wagon
#

The few SMS games that were sold on GG carts run in SMS mode on the Game Gear anyway

#

So the resolution output is the same as an SMS

#

In my experience SMS mode on the GG screen was awful because of lost detail on the GG's lower resolution screen

silver hare
#

That's why I always think of Castle of Illusion as a great example, as they went to the effort of changing the text and bits. So, that change only makes any sense at all if viewed in different circumstances, like the GG original LCD

round wagon
#

Yeah, they changed palette values too.

#

But ultimately a hack that changes the viewport resolution would make it better

charred turtle
#

What about a message on load that says: “you know guys, this system is kind of a mess to deal with”?

smoky dock
#

I'm trying a full heuristics approach

#

So far I managed to break almost all of the mappers 😄

gray harness
#

Tested all the SG-1000 games I have on the latest unstable and the only one that doesn't work correctly (garbled graphics) is Chack'n Pop.

#

And Othello doesn't load...

smoky dock
#

Othello is the same mapper as The Castle. It will work in the next version.

sage hill
vivid rampart
#

It’s a really cool game—definitely worth checking out.

visual summit
#

The Castle also has a sequel on MSX, Castle Excellent. There's an FC/NES version too, but that one adds choppy scrolling. The NES one (renamed to Castlequest, not to be confused with the FC game by the same name) also has 50 lives for some reason.

smoky dock
#

It is loading, but it plays by itself

#

The standalone version is playable

#

Only Nemesis and Wonder Kid Proto are still failing auto detection now.

#

From the current mappers

thorny sierra
smoky dock
#

This build fix Codemasters regression and add heuristics to detect these mappers:

  • Castle (32KB ROM heuristic based on mirroring)
  • Dahjee Type A (preamble detection)
  • Nemesis/Korean 1 and 2 (page-0 / last-page blank test)
  • Zemina 16KB (header byte detection)
round wagon
#

Skooteristics

silver hare
#

Thanks so much for all the SMS work. My most used core! I'd be loving testing if not for the newborn 😆

round wagon
#

@vivid ledge Have you tried adding support the SEGA Mark III link cable for F-16 Fighting Falcon?

#

Apparently the cable might not have been released but the code is still in the game to support it.

bronze lark
round wagon
silver hare
#

Limitations, but I dunno, maybe enough? IIRC there was an effort for 3D glasses support. I never did have time to dive deeper into understanding that or trying to get a bespoke SNAC to even try....

smoky dock
#

This build removes the mappers used by single games from the OSD menu.

smoky dock
#

This is an attempt to get sorgelig to agree with the merge. He doesn't want the OSD option at all, but it was already there when I arrived.

supple canopy
#

Saint Skooter

#

keep this up and they’ll make a national holiday in your honor in Brazil

sage hill
smoky dock
#

select the mapper if the automatic detection fails

#

for translations, hacks, new dumps, bugs, etc.

#

the option is there in the current stable build, it is called "Disable mapper", but it actually forces de Sega mapper

thorny sierra
#

On Master System "Wonder Kid (Korea) (En) (Unl)", Auto it is just black screen

#

If I set Zemina and load again the game it is black screen

#

if I change to auto it starts

smoky dock
#

I don't have this ROM.

#

I didn't know a final version of Wonder Kid standalone existed

#

That would be a good use for the Mapper option. This probably uses the Wonderkid mapper.

#

It was being used only by the prototype of Wonder Kid

smoky dock
#

Bugfix: Wonder Kid would not load when BIOS is in use

#

By the way: Wonder Kid (Korea) (En) (Unl) and Wonder Kid [Proto] are the same ROM.
So it was already supported, but there was a bug loading it when BIOS was enabled.

thorny sierra
#

Thank you ❗

visual summit
#

From the looks off it, Wonder Kid is based off the NES Adventure Island II?

vivid rampart
smoky dock
#

The Hang On & Safari Run checks for SEGA signatures not present in most unlicensed ROMs.

vivid rampart
#

I just tested it using the Space Harrier BIOS, and Super Boy and The Castle (Taiwan) worked. The Castle (Japan) did not.

smoky dock
#

I will check it. Thanks.

vivid rampart
smoky dock
#

This build fixes loading The Castle (Japan) with the Japanese BIOS enabled.

vivid rampart
#

Thank you!!

smoky dock
#

This build implements savestates.
Notes:

  1. BIOS built-in games will save to DRAM only; saving to the SD would require changes in the Linux side. Workaround: use an empty ROM.
  2. Saves from this build may not work in future builds.
vivid rampart
#

OMG😱

#

somebody give this man a cape

pale hound
#

Save States are working fine here, tested some homebrew games too. 😎

smoky quartz
#

Strange bug on my side, the Game Gear & Master System screen are rotated.

#

I will check with the scaler and the screens at home.

chilly dove
#

Can confirm too. Loaded up about 10 SMS and GG games and all of them are rotated 90 degrees to the right for some odd reason

smoky quartz
#

Sonic 1 can't be loaded immediately on GG too, I need to launch another game before with the core.

smoky quartz
#

EDIT ; I'm testing something.

#

I remembered something stupid like that one time on N64 and PSX cores testing phase.

smoky dock
#

Thanks for testing. I will check these bugs.
This rotation issue is using analog output or HDMI?

smoky quartz
#

HDMI on mine.

smoky dock
#

I have a Morph 4K, so I'm not using the scaler. I may have broken something on the way.

smoky quartz
#

I'm checking if this is an issue with the older config files.

#

Nope, I remove all my config files for the core (GG and SMS), no change.
So, it's something that is broken on the core.
(This time, I'm sure.)

smoky dock
#

Sonic 1 still broken too?

smoky quartz
#

Give me a minute.

#

Still broken too.

#

Blue light screen after loading.

#

The ROM file is okay, SHA1 and CRC32 values are correct.

#

For example, I need to launch "Sonic the Hedgehog - Triple Trouble" and Sonic 1 once again, it will work after that.

smoky dock
#

The rotation thing I think I found it, I'll compile it and bring a new version in ~20 minutes

smoky quartz
#

This may be related to something with the BIOS option.
When I launch the core with a MGL file (SEGA Game Gear.mgl), with BIOS as Disable, it refuses to work.
If I cycle through Internal, Ext. File and once again Disable, the game works just after that.

smoky dock
#

Thanks for the info. This will help me track the regression.

smoky quartz
#

@smoky dock It broke starting that release.

#

2nd release of 2025-04-27.

smoky dock
#

Thanks, that's very helpful.

#

I think Sonic 1 is being misdetected as Zemina mapper

#

I'll exclude Zemina mapper from the GG path.

smoky dock
#

It also happens with the SMS Sonic 1, and only on the first load, that's weird...

#

But I'll have to harden the Zemina detection anyway

smoky dock
#

This build fixes the rotation bug from the last build.
Sonic 1 detection still needs more work. It needs a forced Sega mapper for now.

smoky dock
#

Rotation was an easy fix. I was trying to fix Sonic together to avoid so many builds. I don't want Robby to run out of pins. 🙂
But Sonic detection is being tricky. I'll try a refactor next week.

lapis crypt
#

do these games really not have any kind of header?

#

how has this been overlooked for so long?

#

I suppose it's possible nobody has ever attempted to play SMS

smoky dock
lapis crypt
#

I thought this was SMS?

#

are they ports of MSX games?

smoky dock
#

Yes, most (all?) of them are MSX ports. They were released in Korea, unofficially.

lapis crypt
#

is this another system like atari that has no built in headers so you can only determine mappers through heuristics?

smoky dock
#

In most cases, yes.

lapis crypt
#

ah so they are unlicensed stuff on an unpopular system, no wonder nobody noticed

smoky dock
#

They noticed it, they were in the issues for a while.

lapis crypt
#

people make issues for anything, people make issues for weird nes games all the time, but none of the people who play games notice

#

there's a lot of games out there that aren't really playable

smoky dock
#

There are nice games among the Zemina stuff.

lapis crypt
smoky dock
#

I think I got most of them working detecting writes to specific regions

#

and a few exceptions have to be detected by CRC

lapis crypt
#

well the sms cart header has a checksum in it

#

and a product code

#

why can't you use those?

smoky dock
#

do they? let me check this

#

if they do, it is encoded somehow

#

I know Sega stuff has the TMR

#

but unofficial games and even some official earlier japanese games probably won't have that

#

2 bytes only, that could be anything in the unofficial games, I could check for collisions, but I don't think this is reliable to identify ROMs uniquely.

#

The CRC16 of the last 8KB block which I'm using is safer.

#

Anyway, the heuristics are supposed to be working fine. Sonic 1 is the only game breaking it so far, but I don't think it is writing to the Zemina registers, it must be something else.

#

I think ideally we should support all the mappers, even those multigames cartridges, but sorg already said it is pointless, counter-productive and makes core more complicated.

lapis crypt
#
Sega Retro

The ROM header or disc ID is a defined area of a video game cartridge ROM or CD-ROM used to identify software. Sega mandated that software include a header, both so the hardware understood what it was running, and for cataloguing purposes.
Sega's ROM headers were designed to be human readable, so details of compatible software can be understood ...

#

Many unlicensed games, particularly ports of SG-1000 or MSX software, do not include headers, as Asian consoles typically made no header checks. However, many post-2007 games released by Tectoy, which were built-in exclusives in later Brazilian Master System and Mega Drive models, continue to have headers despite never being released on physical media.

#

you could use the lack of a header as an indicator, in fact

lapis crypt
smoky dock
lapis crypt
#

de-facto whatever is in the place of, say, the rom's serial is probably unique anyway

smoky dock
smoky dock
#

And there are unlicensed games which use the Zemina mapper that have a valid Sega header.

lapis crypt
#

well, it's one more bit of info

#

it's a shame they leave it blank

silver hare
#

The product code region is often set in homebrew too. Admittedly to all 9s or other such things, but so long as you can get around it. 99% of the time just using the default sega mapper at least

smoky dock
#

I removed the Zemina heuristics and Sonic is no longer misdetected. It was only 3 games using Zemina heuristics anyway. Now they are detected by CRC.

#

I could use the Sonic product code (7A51B) to select Sega mapper for it. But I think it is better to leave the exceptions for exceptions (unlicensed games) than to a original game with the most used mapper. It is likely that there were other games being misdetected as Zemina.

vivid rampart
#

Will some games that use the Zemina mapper stop working?

smoky quartz
#

They will be detected with another method.

pale hound
#

I noticed something weird yesterday. With the internal BIOS enabled Speedball (PAL only game) runs with half of the game speed (or slower). Without BIOS it runs at full speed.

smoky dock
smoky dock
pale hound
#

Yes, happens there too.

#

Loading an external "[BIOS] Sega Master System (Europe) (v2.0).sms" is fine though.

smoky dock
#

I have a mistery here: Olympic Gold, both USA/Japan/Brazil and Europe versions give "Software Error" using western BIOS.

#

Only the Brazil only version works.

#

I thought it was a bug in BIOS implementation, but I just got the same behavior from Mega Sg

pale hound
#

Strange, works fine for me using

#

[BIOS] Sega Master System (USA, Europe) (v1.3).sms
[BIOS] Sega Master System (Europe) (v2.0).sms

smoky dock
#

I was testing the Alex Kidd one

#

And Hang On / Safari Hunt

smoky dock
#

Same issue with Mega Everdrive Pro BIOS

smoky dock
#

This build fixes Sonic 1 (SMS and GG) mapper detection issues.

smoky dock
#

Regarding the Olympic Gold mystery. I've made a script to check the headers. both USA/Japan/Brazil and Europe versions have a header but their checksum is 0x0000.

#

Only the Brazil version is correct.

#

So I wonder if these dumps are actually correct and from the cartridges that were distributed. I don't think they are. Otherwise they wouldn't run in any American/European SMS...

smoky dock
#

The one called prototype, on the other hand, has the correct checksum.

#

Mystery solved: I was using the ROMs from @Master System - Master EverDrive 2022-05-04.zip

#

No-Intro has only two versions of Olympic Gold, Brazil and Europe. Both with correct checksum.

#

I won't trust these everdrive packs anymore.

sage hill
#

yah they’re garbo

smoky dock
#

There are other mistakes, "Felipe em Acao (B)" is listed as a Brazilian licensed hack, but it is unofficial. It was never released by Tec Toy.

#

They are cool for bringing interesting hacks, translations, tools that are not in No-Intro scope, but not reliable for the origin of the releases.

smoky quartz
#

Yes, Omar Cornut (Bock) and Maxim have redumped most of the cartridges with some others over the years.
And the dumps were integrated into No-Intro.

The Everdrive packs are generally out-of-date and based on GoodSMS (which was faulty at least or even called a fraud on some 'verified' dumps).

sage hill
#

I like that people here can actually explain why something sucks. I just go “IT BAD, NEXT”

smoky dock
#

I'm trying to understand why there is a button called "Arcade 3" in SMS.

thorny sierra
long rapids
#

Presumably for the arcade games that use the core

smoky dock
#

Yeah, I got that the Coin button is for System E

#

but Arcade 3 is a weird name, maybe it is START and it was renamed to avoid confusion

#

Any reason to have these buttons mapped in SMS mode?

#

maybe some homebrew

thorny sierra
#

it is this commit

#

those two games are Sega System E and may required a third buton

smoky dock
#

I get it, buy are these buttons (Coin, Arcade 3) ever used in any SMS game?
I see no reason to have them in "Define SMS buttons"

#

System E games have their own names for buttons, and skip the unused ones, according to the MRA files.

long rapids
#

You may still need to map them from the SMS core for them to work if you load an arcade game via MRA

#

Controller mapping is sometimes esoteric (see: N64)

smoky dock
#

Yeah, ok, but there are other two buttons that are currently hidden

#

buttons 10 and 11

thorny sierra
#

They are added on the commit for Sega System E but don't know the use case.

#

@soft urchin may have the information

long rapids
#

As an aside, are there any SMS based arcade games we are missing that could potentially be run on the core?

soft urchin
#

The naming should be clear ``` "J1,Fire 1,Fire 2,Pause,Coin,Arcade 3,Soft Reset;",

thorny sierra
#

also we have question regarding buttons 10 and 11.
We figured out for Arcade 3 button.

soft urchin
unique gulch
#

The mapper should skip buttons named '-'. in the SMS core name the arcade only buttons '-' and then in the arcade MRAs name them whatever

smoky dock
ember dawnBOT
#
.j1_start(swap ? joy_1[11] : joy_0[11]),
.j1_coin(swap ? joy_1[10] : joy_0[10]),
smoky dock
#

I'm using button 12 for SaveStats for now:
"J1,Fire 1,Fire 2,Pause,Coin,Arcade 3,Soft Reset,-,-,SaveState;",

visual summit
#

While it wasn't done officially (AFAIK, it's possible it was done in Brazil since they had systems packaged with 6 button controllers), some games were hacked to support the extra buttons of the Genesis controller and they work on real hardware (SMS and Genesis).

soft urchin
ember dawnBOT
#
<buttons names="Fire/Button1,Transform/Button2,-,-,-,-,Coin,Start,Pause" default="A,B,R,Start,Select" count="1"/>
soft urchin
#

Or maybe I was simplifying things because inputs are handled differently on arcade hardware. Feel free to rewrite to better match newer standards.

#

This was the first core to support both a console and arcade in the same core (neo geo worked differently).

#

It also may have been an attempt to make coin and start consistent across arcade cores.

#

That actually seems to ring a bell somewhere for me.

smoky dock
#

I'll leave it the way it is and add savestates in button 12, skipping buttons 10 and 11 on mapping. It is safer, less chance of breaking something.

smoky dock
vivid rampart
#

I mapped a button on the controller as save state, and when I pressed the button to test it, this message appeared on the screen. I didn’t understand how it works. Do I need to use a button combination to make a save state and load state?

smoky dock
#

I copied the hint message from the SNES core. I don't like it, but I couldn't think of anything better with so few characters.

pearl briar
#

The new unstable nightly fixed Gear2Gear support? Isn't that the Link Cable functionality? Is there a method to use the core to play the multiplayer games somehow?

visual summit
#

I tested a few of the Genesis controller hacks via the SMS core. They work with an actual Genesis controller via SNAC.

round wagon
#

But it was working

pearl briar
#

I wasn't even aware we had a 2P core 😀

round wagon
#

Not sure if it is on update all etc

smoky dock
#

System E pause is currently broken in stable core, right?

supple canopy
#

i wasn’t aware

#

but also

#

adding save states to the core is a very pleasant surprise

supple canopy
#

tested the feature on Alex Kidd, swapping states, restoring and loading works fine!

flat sierra
#

so happy to see save states added! I should be able to test a bit next week

hallow wadi
#

#games-and-patches message