tpunix / SAROO

SAROO is a SEGA Saturn HDloader
354 stars 40 forks source link

Option for default CD read speed? #143

Open Neorocket64 opened 5 months ago

Neorocket64 commented 5 months ago

there are many games that have problems when the read speed is not what they expected it to be. i think this has been reported but also with appropiate fixes later on, which is great! but is it possible for making normal cd read speed an option for [Global]?

since it will be greatly benefit for someone who just wants that slower reading speed for accuracy and stability sake if many bugged and non working games only caused by inappropiate reading speed. atleast it will make compatibility list little better. and would be great if this is the default option and use "high speed' cd read as optional (and experimental) option for one who seek for faster loading with reading speed adjustable if such option enabled.

tzmwx commented 5 months ago

Most games are adapted to fast reading, and only a few are adapted to slow reading, so the sector(or other) delay setting in the cfg file is now for the minority. These parameters are not just two options, fast and slow, but a variable. You can get as close to fast and stable operation as possible.

If you only want stability and don't want high speed, you can directly place the sector parameter under GLOBAL.The parameter settings here will control the reading (or other instructions) speed of all images.

[global] lang_id = 0 sector_delay=6000 play_delay=30000

Neorocket64 commented 5 months ago

If you only want stability and don't want high speed, you can directly place the sector parameter under GLOBAL.The parameter settings here will control the reading (or other instructions) speed of all images.

i understand about those 2 reading speed options, but i think it would be great if there's a singular option for activating normal cd reading mode, replacing those 2 options, in global or per games. yes i guess those broken games by high speed reading are minority, but it still be great to have such option without needing to know the exact numbers for emulating slow reading speed. maybe atleast add those numbers to the default config file (comments) to make people know that they can emulate the original speed if they want to and show the numbers.

i think some people will need this option. anyways thank you for the values. i will put this on my config if i ever need to use them.

also kind of off-topic, but what priority does the setting work on? specific game options? by that i mean if i have disc reading related values on specific game id, will it get replaced by the global option? or is it the opposite?

tzmwx commented 5 months ago

Each game has an ID, and when running saroo, it will check if there are corresponding IDs and parameters in the saroocfg. txt file. If there are, it will run according to the parameters.

The [global ]character represents the global setting, and the parameters here are used for all games. If there are similar parameters for a single game and global settings, single game parameters will take priority.

Also, note that the parameters 6000 and 30000 above cannot be understood 100% as running at the default CD speed, but rather slowing down the transmission and running speed to accommodate more games that require slow running

Neorocket64 commented 5 months ago

i see. thank you for the note

TrekkiesUnite118 commented 5 months ago

Each game has an ID, and when running saroo, it will check if there are corresponding IDs and parameters in the saroocfg. txt file. If there are, it will run according to the parameters. The [global ]character represents the global setting, and the parameters here are used for all games. Also, note that the parameters 6000 and 30000 above cannot be understood 100% as running at the default CD speed, but rather slowing down the transmission and running speed to accommodate more games that require slow running

Each game does not have a UNIQUE ID. What you are referring to as GAME ID is actually the PRODUCT ID NUMBER in the IP.BIN. This value is not reliable for Identifying games because not all games set it properly. On top of that different revisions will share the same Product ID, and sometimes the same game will have different Product IDs for different bundles but no actual code differences. Sometimes different revisions will change the version number, but sometimes they don't. Sometimes different regional releases will share the same Product ID and even version number, but the code is actually different under the hood. When we get into prototypes, demos, and homebrew it becomes the wild west and these values become completely meaningless and is highly prone to collisions. That's why I opened this ticket: https://github.com/tpunix/SAROO/issues/133

As for the actual issue at hand here, I think it's a far better idea to have Saroo by default run at whatever the closest setting approximation is to simulate the real speeds of the actual CD-ROM drive. The Game specific config file grows each firmware release and the issues board is full of issues related to people needing to add more game specific configs to that file. Many times tickets are being reopened because certain values are not well known and shared. If having Saroo emulate the real speeds of a real drive eliminates the need for these game specific configs that would clear out a lot of these compatibility issues. Running at faster speeds could then just be a separate boot option. If the game has issues running at faster speeds, then the user can just boot with the default speeds.

When it comes to default behavior compatibility should trump bonus features like faster load times.

tpunix commented 5 months ago

Why i made Saroo? I dont want to waste life on "Now Loading"! Most games works fine at fast speed. only a little games need config. The ProductID is best choice. Almost all games can be identify. Any other idea? CRC or MD5 or SHA? That's too slowly on MCU.

TrekkiesUnite118 commented 5 months ago

Why i made Saroo? I dont want to waste life on "Now Loading"! Most games works fine at fast speed. only a little games need config. The ProductID is best choice. Almost all games can be identify. Any other idea? CRC or MD5 or SHA? That's too slowly on MCU.

Product ID is not the best option because it's prone to false positives. A simple checksum on the first loaded file and IP.BIN should be sufficient to identify the game. With how much you guys boast about the power and potential of this thing a simple checksum before booting should be trivial.

As for wanting to speed up load times, you can still do that with what was proposed. Just have 2 boot options when you select a game. One for speeds that replicate the real drive, and one for faster speeds. If the game breaks with the faster speeds users can simply try the other option. Wouldn't that be far less of a pain for you guys than having to maintain a list of game specific configurations and having to deal with the same tickets being opened again and again in your github?

Finally it's clearly not a small amount of games being impacted by faster speeds since again the list grows with each update and there's constantly new tickets being opened for similar issues in other games. Just because a game boots to a title screen doesn't mean it's stable. The issues with Resident Evil for example didn't present themselves until well into the game and near the end. So unless you've actually tested all ~1100 Saturn games to completion on Saroo you can't really claim its only a small amount of games impacted.

Neorocket64 commented 5 months ago

this might be unneeded for me to say this, but me in particular mean no harm for denying the performance that SAROO already been giving. it's great to have high speed reading, but it should be with the cost of stability. since the game does not expect it to load fast, things might not add up on ther logic and broke some parts of the game (which maybe not that impactful for some games, but maybe it eventually breaks apart on later).

i greatly appreciate you guys for testing and fixing issues that people have been issuing over these months, but i think it will also be beneficial for all of us if we have more stable option (normal cd reading speed). it doesn't have to be a default one, just something that people can choose if the game breaks on some point as a fail-safe option.

with that i agree with what trekkies said:

When it comes to default behavior compatibility should trump bonus features like faster load times.

i think compatibility should be the priority now, but i can't force you into anything, but also i still want you guys to consider my suggestion

i'm sure with this, any future problems could be narrowed down and less from just "reading speed" problem.

yzbss commented 5 months ago

To simulate the normal speed of the optical drive, as tzmwx said, set a global delay speed in cfg, is it difficult to do so?

And where do you see developers boasting about the power and potential of this product, claiming that only a handful of games are affected??

TrekkiesUnite118 commented 5 months ago

To simulate the normal speed of the optical drive, as tzmwx said, set a global delay speed in cfg, is it difficult to do so?

And where do you see developers boasting about the power and potential of this product, claiming that only a handful of games are affected??

tpunix flat out said in a reply in this issue that most games work fine and implied only a few have issues. And quite a few people have been boasting about the power and potential of Saroo on twitter and various other outlets. Again I find it very hard to believe that simple checksum on the first loaded file and IP.BIN is too much for this thing to handle when it goes to load a game.

yzbss commented 5 months ago

So you have this device? Have you tested it? Or did you just hear about it? There are more than 1100 ss games, more than how many games can be said to be the majority? 900 or 1,000 or 1100?

What does someone else's bragging matter to a developer?

TrekkiesUnite118 commented 5 months ago

So you have this device? Have you tested it? Or did you just hear about it? There are more than 1100 ss games, more than how many games can be said to be the majority? 900 or 1,000 or 1100?

What does someone else's bragging matter to a developer?

tzmwx has literally been boasting about it on twitter, SegaXtreme, etc. Secondly the owner of this repo flat out said "Most games works fine at fast speed. only a little games need config." So again I don't get what you're trying to get at here.

The main point here is simply that from a compatibility stand point, it would be better to have faster loading be a separate boot option, and the default attempt to mimic the speeds of a real drive and see if that eliminates the need for a lot of game specific configs. From a user standpoint that's much easier than messing with a config file.

yzbss commented 5 months ago

BTW,We don't have a product, we only have the source code, if you feel bad, you can test and modify it

tzmwx commented 5 months ago

So you have this device? Have you tested it? Or did you just hear about it? There are more than 1100 ss games, more than how many games can be said to be the majority? 900 or 1,000 or 1100? What does someone else's bragging matter to a developer?

tzmwx has literally been boasting about it on twitter, SegaXtreme, etc. Secondly the owner of this repo flat out said "Most games works fine at fast speed. only a little games need config." So again I don't get what you're trying to get at here.

The main point here is simply that from a compatibility stand point, it would be better to have faster loading be a separate boot option, and the default attempt to mimic the speeds of a real drive and see if that eliminates the need for a lot of game specific configs. From a user standpoint that's much easier than messing with a config file.

Which ones? Can you give me an example of which games I brag about? Twitter, SegaXtreme and Other.

The player is saying that a game can't run, I say it can run, and tell them how to run it. Is this bragging?

TrekkiesUnite118 commented 5 months ago

Which ones? Can you give me an example of which games I brag about? Twitter, SegaXtreme and Other.

The player is saying that a game can't run, I say it can run, and tell them how to run it. Is this bragging?

You were literally boasting that the MCU is 10x more powerful than the SH-2s in the Saturn: Screenshot_20240518-192213_X

You were literally saying this thing is powerful enough to decode MPEG-1, emulate other systems, etc. But somehow a simple checksum is beyond it's capability?

odiaboeeu commented 5 months ago

@Neorocket64 Could you close this issue? It's not leading to anything in this discussion, TPU is doing saroo without looking for any form of financial gain, but as a hobby. It's still in development, so there will be games with problems, some solve for cfg others by patch file. If you're not satisfied, I bought another ode. And as mentioned above, it's open source: so take the code, modify it as you see fit and don't bother the developer.

tzmwx commented 5 months ago

Which ones? Can you give me an example of which games I brag about? Twitter, SegaXtreme and Other. The player is saying that a game can't run, I say it can run, and tell them how to run it. Is this bragging?

You were literally boasting that the MCU is 10x more powerful than the SH-2s in the Saturn: Screenshot_20240518-192213_X

You were literally saying this thing is powerful enough to decode MPEG-1, emulate other systems, etc. But somehow a simple checksum is beyond it's capability?

Are you sure you have seen it clearly? Am I talking about MCU frequency or performance?

TrekkiesUnite118 commented 5 months ago

Are you sure you have seen it clearly? Am I talking about MCU frequency or performance?

Does it really matter? You're flat out saying there it should be able to decode MPEG-1 and emulate the Genesis. That's pretty much beyond the SH2s capabiltiies. So again that would imply it's performance is higher than that of an SH2. And again if you're claiming it's capable of doing those things, a Checksum should be easy to do.

@Neorocket64 Could you close this issue? It's not leading to anything in this discussion, TPU is doing saroo without looking for any form of financial gain, but as a hobby. It's still in development, so there will be games with problems, some solve for cfg others by patch file. If you're not satisfied, I bought another ode. And as mentioned above, it's open source: so take the code, modify it as you see fit and don't bother the developer.

I don't think the ticket needs closed, I think there's just a lot of conflicting statements that have been thrown around resulting in overall confusion. I still think the main point of this ticket of having a simple option to boot with speeds that emulate a real drive would be beneficial in the long run.

Telling people "It's open source, do it yourself!" is kind of a childish stance to take. Why even have an issues board if that's the stance you're going to take? If I had the time and the knowledge of where exactly that change would need to go in the code and a device to test it on I'd put a PR up. But I don't have any of that sadly. Most people asking for this I doubt are developers either. So I don't think it's unreasonable to ask for a feature like this. Especially from a baseline maintainability standpoint where it would be easier to just have a default speed option people can try first if they have a compatibility problem. The current process maintaining a growing list of game specific configurations is a far more tedious option. And I'd imagine it would make the developers lives easier to not have to keep addressing these same issues over and over again.

Neorocket64 commented 5 months ago

@Neorocket64 Could you close this issue? It's not leading to anything in this discussion, TPU is doing saroo without looking for any form of financial gain, but as a hobby. It's still in development, so there will be games with problems, some solve for cfg others by patch file. If you're not satisfied, I bought another ode. And as mentioned above, it's open source: so take the code, modify it as you see fit and don't bother the developer.

sorry it was not meant to drag out like this it was merely just a suggestion (i'm totally fine with having a manual config for emulating the closest reading speed as normally would), i apologize it leads to something undesireable. but i also don't want to close this until the repo holder closed it himself because i have no right to close it prematurely...

TrekkiesUnite118 commented 5 months ago

If the checksum discussion is derailing things too much it can always be moved over to this ticket where it's more relevant: https://github.com/tpunix/SAROO/issues/133

tzmwx commented 5 months ago

Are you sure you have seen it clearly? Am I talking about MCU frequency or performance?

Does it really matter? You're flat out saying there it should be able to decode MPEG-1 and emulate the Genesis. That's pretty much beyond the SH2s capabiltiies. So again that would imply it's performance is higher than that of an SH2. And again if you're claiming it's capable of doing those things, a Checksum should be easy to do.

@Neorocket64 Could you close this issue? It's not leading to anything in this discussion, TPU is doing saroo without looking for any form of financial gain, but as a hobby. It's still in development, so there will be games with problems, some solve for cfg others by patch file. If you're not satisfied, I bought another ode. And as mentioned above, it's open source: so take the code, modify it as you see fit and don't bother the developer.

I don't think the ticket needs closed, I think there's just a lot of conflicting statements that have been thrown around resulting in overall confusion. I still think the main point of this ticket of having a simple option to boot with speeds that emulate a real drive would be beneficial in the long run.

Are you sure you have seen it clearly? Am I talking about MCU frequency or performance?

Does it really matter? You're flat out saying there it should be able to decode MPEG-1 and emulate the Genesis. That's pretty much beyond the SH2s capabiltiies. So again that would imply it's performance is higher than that of an SH2. And again if you're claiming it's capable of doing those things, a Checksum should be easy to do.

@Neorocket64 Could you close this issue? It's not leading to anything in this discussion, TPU is doing saroo without looking for any form of financial gain, but as a hobby. It's still in development, so there will be games with problems, some solve for cfg others by patch file. If you're not satisfied, I bought another ode. And as mentioned above, it's open source: so take the code, modify it as you see fit and don't bother the developer.

I don't think the ticket needs closed, I think there's just a lot of conflicting statements that have been thrown around resulting in overall confusion. I still think the main point of this ticket of having a simple option to boot with speeds that emulate a real drive would be beneficial in the long run.

It's very important! What are you really pursuing? Do you see the word "if"? This passage is a excerpt of myself and Dave, the person in charge of Segasaturnshiro, who talked to me about hardware during the purchase of Saroo. Take a look at TPU's saroo homepage, which says, "We have established a lower level for more people to participate.". Do you understand the design of Sega Saturn card slots? Do you think it's possible to achieve MPEG based on Saroo? TPU welcomes every developer with an open attitude, why not allow Saroo to have more room for imagination under everyone's care? But rather, is the content of my private conversation with Dave just boasting?

Returning to the above question: Which ones? Can you give me an example of which games I brag about? Twitter, SegaXtreme and Other.

TrekkiesUnite118 commented 5 months ago

It's very important! What are you really pursuing? Do you see the word "if"? This passage is a excerpt of myself and Dave, the person in charge of Segasaturnshiro, who talked to me about hardware during the purchase of Saroo. Take a look at TPU's saroo homepage, which says, "We have established a lower level for more people to participate.". Do you understand the design of Sega Saturn card slots? Do you think it's possible to achieve MPEG based on Saroo? TPU welcomes every developer with an open attitude, why not allow Saroo to have more room for imagination under everyone's care? But rather, is the content of my private conversation with Dave just boasting?

Returning to the above question: Which ones? Can you give me an example of which games I brag about? Twitter, SegaXtreme and Other.

I never said you bragged about games. I said you boasted the capabilities of the Saroo cart itself. Which you were clearly doing in that conversation with Dave on twitter. Dave shared that with me because he was effectively playing a game of telephone between you and me in the Shiro discord. Clearly you think the MCU is capable of those things otherwise you wouldn't have said them. So in my mind a checksum should be trivial, especially considering I've done checksums on the Saturn itself and the Genesis performs a simple checksum on every ROM when it boots to verify the data isn't corrupt. I could care less if Saroo eventually does MPEG-1 or Emulators. I just want to see it use a checksum or something more reliable than the values in IP.BIN to verify it's actually patching the right thing so we stop having false positives pop up. But again the checksum conversation is more for the issue I posted previously.

I don't have an issue with Saroo having room for imagination. I'm simply saying from a compatibility standpoint having the default be the speeds of a real drive would probably reduce a lot of these tickets that keep getting posted so you guys could then focus on more interesting features and more pressing matters. You'd still have room for imagination as you put it. If anything you'd have more time to focus on that kind of stuff as you wouldn't have to keep addressing the same kinds of compatibility tickets constantly.

07saga commented 5 months ago

There are only so many games in total on the Sega Saturn, and the current verification method is enough. Except for some privately modified versions, the verification method used now will not have errors. There is really nothing to discuss on this issue. If you find that there is an error in this ID, just publish it directly. Switching to a more complex verification method for the sake of a few is obviously not worth the gain.

yzbss commented 5 months ago

很重要!你真正追求的是什么?你看到“如果”这个词了吗?这段话是我和 Segasaturnshiro 的负责人 Dave 的对话摘录,他在收购 Saroo 期间和我聊过硬件问题。看看 TPU 的 saroo 主页,上面写着“我们建立了一个下级,让更多人参与进来”。你了解 Sega Saturn 卡槽的设计吗?你觉得基于 Saroo 实现 MPEG 有可能吗?TPU 以开放的态度欢迎每一位开发者,为什么不让 Saroo 在大家的关照下拥有更多的想象空间呢?但相反,我和 Dave 的私人谈话内容只是在吹牛吗? 回到上面的问题:哪些游戏?你能举个例子说明我吹嘘哪些游戏吗?Twitter、SegaXtreme 和其他。

我从来没有说过你吹嘘游戏。我说你吹嘘 Saroo 购物车本身的功能。你在推特上与戴夫的对话中显然就是这么做的。戴夫和我分享了这一点,因为他实际上是在 Shiro discord 中玩你和我之间的电话游戏。显然你认为 MCU 能够做到这些,否则你就不会这么说了。所以在我看来,校验和应该是微不足道的,特别是考虑到我已经对 Saturn 本身进行了校验和,并且 Genesis 在启动时对每个 ROM 执行了简单的校验和以验证数据没有损坏。我不太关心 Saroo 最终是否会使用 MPEG-1 或模拟器。我只是想看到它使用校验和或比 IP.BIN 中的值更可靠的东西来验证它是否真的修补了正确的东西,这样我们就不会出现误报。但再次重申,校验和对话更多是针对我之前发布的问题。

我不认为 Saroo 有想象空间。我只是说,从兼容性的角度来看,默认速度为真实驱动器的速度可能会减少很多不断发布的票证,这样你们就可以专注于更有趣的功能和更紧迫的问题。正如你所说,你仍然有想象空间。如果有什么不同的话,那就是你会有更多时间专注于这类事情,因为你不必不断处理相同类型的兼容性票证。

So far in saroo's testing, there is no problem with the way the game is running, and there is no problem with patching specific games by game ID. saroo first ensures that the official ss games work properly, and that the patches for these commercial games do not conflict with each other.

Only in the conflict to home-made software and homemade games because they have no use separate id number, public libraries have been used as an example of the only public number 999999, and so the following http://redump.org/disc/61414/ game patch has a conflict I think developers would be more than happy to give their games or software a unique name, rather than stick to the sample ID number in the public library

If homebrew and homebrew games are misidentified and patched by saroo simply because they use public ids, it would be foolish, if not effortless, to use a check on the game

Plus, you're a developer too, so I'm looking forward to you opening up a branch of the project with your ideas, rather than talking around and telling people what to do.

Finally, can you tell me if you have a saroo cassette or not?

TrekkiesUnite118 commented 5 months ago

@yzbss @07saga please see #133.

yzbss commented 5 months ago

@yzbss @07saga请参阅#133。

I will not discuss saroo source code with another developer who does not have a saroo cartridge

That makes no sense at all

TrekkiesUnite118 commented 5 months ago

@yzbss @07saga请参阅#133。

I will not discuss saroo source code with another developer who does not have a saroo cartridge

That makes no sense at all

1) I'm not asking you to discuss the source code with me. I'm telling you there's a logical flaw in your patching process based on a false assumption

2) I don't need to own a saroo to be able to look at the source code and identify flaws and logical errors.

07saga commented 5 months ago

@yzbss @07saga please see #133.

Do you think there is a problem with using this ID to identify the game? It is not friendly to self-made or modified games. So do you have any better ideas? The method used now is very simple and efficient, and the recognition can be completed the moment the game is launched. In addition, for Saturn's immature data transmission structure, the simpler it is, the less likely it will go wrong. The more data is preprocessed, the more likely there will be unexpected problems.

TrekkiesUnite118 commented 5 months ago

@yzbss @07saga please see #133.

Do you think there is a problem with using this ID to identify the game? It is not friendly to self-made or modified games. So do you have any better ideas? The method used now is very simple and efficient, and the recognition can be completed the moment the game is launched. In addition, for Saturn's immature data transmission structure, the simpler it is, the less likely it will go wrong. The more data is preprocessed, the more likely there will be unexpected problems.

I replied to you in the proper ticket. There's no need to duplicate the discussion over here in this ticket.

yzbss commented 5 months ago

@yzbss @07saga please see #133.

Do you think there is a problem with using this ID to identify the game? It is not friendly to self-made or modified games. So do you have any better ideas? The method used now is very simple and efficient, and the recognition can be completed the moment the game is launched. In addition, for Saturn's immature data transmission structure, the simpler it is, the less likely it will go wrong. The more data is preprocessed, the more likely there will be unexpected problems.

目前saroo运行商业游戏对原使用内存扩充卡的游戏进行补丁修复完全没有冲突问题,其中包括那些发布的原型游戏。

有冲突的是部分自制游戏和自制软件,简单的解决方法有两种。

一种方法是 玩家修改镜像的id号,使用任意一款16进制编辑器都可以轻松简单完成,这需要花费1分钟的时间,对熟练的玩家可能只需要10秒钟。

另外一种方法是 自制游戏或者自制软件作者在公开发布作品之前,花费10秒钟,哦,不,只需要3秒钟的时间,为他的游戏或者软件写一个漂亮的版本号在他的作品中,而不是一直使用示例库中的版本号。

以上2种方法任意一种都可以轻松解决冲突问题,但是关于第二点,很可惜,看起来有的开发者不愿意这样做,他说他很忙,他甚至愿意花费大量的时间发表长篇大论告诉saroo的开源作者应该怎么做才可以适配他的程序,也不愿意花费这短短的3秒钟为自己的程序做一个版本号。

去瞧瞧吧,Fenrir和rhea也都各自为自己做了一个版本号,其他开发者为什么不自己做一个呢?

我对这位开发者说过saroo是开源项目,你可以按你的想法和要求去开辟一个新分支,但是他却说他很忙,没有时间。

老实说这样很自私,saroo的使用者全球各地都有,并不是所有的saroo用户都会使用他所说的自制程序,有些saroo用户只关心商业游戏能不能顺利运行。

所以这个自私的开发者不想浪费这短短的3秒钟去做一个版本号,而要求saroo开源作者按他所说的要求对游戏进行数据校检来避开他的软件或者游戏。

因为这个自私的要求,所以他想要全世界所有的saroo用户一起和他承担这个完全没有必要的数据校检,这是不公平的,而且是非常愚蠢的做法,更愚蠢的是这个自私的开发者完全没有一张saroo卡带,他完全没有接触过saroo。

最后我再重申一遍,我不会去对一个没有一张saroo卡带的自私的开发者发表的主题里回复,特别是主题中还要求saroo应该怎么做,这会让我觉得我很愚蠢。

所以,请这位自私的开发者以后不要@我

老实说我甚至怀疑他是不是其他ode设备派来捣乱的。

saroo currently runs commercial games and patches original games using memory expansion cards without conflict, including those released as prototypes.

There is a conflict between some homebrew games and homebrew, and there are two easy solutions.

One way is for the player to change the id number of the image, which can be done easily and easily with any hexadecimal editor. This takes about 1 minute, and perhaps 10 seconds for a skilled player.

Another method is for a homebrew or homebrew author to spend 10 seconds, oh no, only 3 seconds, writing a nice version number for his game or software in his work before releasing it to the public, instead of using the version number in the sample library all the time.

Either of the above two approaches could easily resolve the conflict problem, but on the second point, unfortunately, it seems that one developer is unwilling to do this, he says that he is busy, and he is willing to spend a lot of time in a long speech telling the open source author of saroo what to do to fit his application. I don't want to spend three seconds making a version number for my program.

Check it out, Fenrir and rhea have each made their own version numbers, so why don't other developers make their own?

I told the developer that saroo is an open source project and you can start a new branch as you wish, but he said he was busy and didn't have time.

To be honest, this is very selfish, saroo users are all over the world, not all saroo users will use the homebrew he says, some saroo users only care about the smooth running of commercial games.

So the selfish developer didn't want to waste the short 3 seconds to make a version number, and asked the saroo open source author to do the data check he said he wanted to avoid his software or game.

Because of this selfish request, he wants all saroo users in the world to bear this completely unnecessary data check with him, which is unfair and very stupid, and what is more stupid is that this selfish developer does not have a saroo cartridge, he has not touched saroo at all.

Again, I will not respond to a thread posted by a selfish developer who doesn't have a saroo cartridge, especially if it asks what saroo should do. It makes me feel stupid.

So please, this selfish developer don't @me in the future

To be honest, I wonder if he was sent by another ode device.

TrekkiesUnite118 commented 5 months ago

@yzbss @07saga please see #133.

Do you think there is a problem with using this ID to identify the game? It is not friendly to self-made or modified games. So do you have any better ideas? The method used now is very simple and efficient, and the recognition can be completed the moment the game is launched. In addition, for Saturn's immature data transmission structure, the simpler it is, the less likely it will go wrong. The more data is preprocessed, the more likely there will be unexpected problems.

目前saroo运行商业游戏对原使用内存扩充卡的游戏进行补丁修复完全没有冲突问题,其中包括那些发布的原型游戏。

有冲突的是部分自制游戏和自制软件,简单的解决方法有两种。

一种方法是 玩家修改镜像的id号,使用任意一款16进制编辑器都可以轻松简单完成,这需要花费1分钟的时间,对熟练的玩家可能只需要10秒钟。

另外一种方法是 自制游戏或者自制软件作者在公开发布作品之前,花费10秒钟,哦,不,只需要3秒钟的时间,为他的游戏或者软件写一个漂亮的版本号在他的作品中,而不是一直使用示例库中的版本号。

以上2种方法任意一种都可以轻松解决冲突问题,但是关于第二点,很可惜,看起来有的开发者不愿意这样做,他说他很忙,他甚至愿意花费大量的时间发表长篇大论告诉saroo的开源作者应该怎么做才可以适配他的程序,也不愿意花费这短短的3秒钟为自己的程序做一个版本号。

去瞧瞧吧,Fenrir和rhea也都各自为自己做了一个版本号,其他开发者为什么不自己做一个呢?

我对这位开发者说过saroo是开源项目,你可以按你的想法和要求去开辟一个新分支,但是他却说他很忙,没有时间。

老实说这样很自私,saroo的使用者全球各地都有,并不是所有的saroo用户都会使用他所说的自制程序,有些saroo用户只关心商业游戏能不能顺利运行。

所以这个自私的开发者不想浪费这短短的3秒钟去做一个版本号,而要求saroo开源作者按他所说的要求对游戏进行数据校检来避开他的软件或者游戏。

因为这个自私的要求,所以他想要全世界所有的saroo用户一起和他承担这个完全没有必要的数据校检,这是不公平的,而且是非常愚蠢的做法,更愚蠢的是这个自私的开发者完全没有一张saroo卡带,他完全没有接触过saroo。

最后我再重申一遍,我不会去对一个没有一张saroo卡带的自私的开发者发表的主题里回复,特别是主题中还要求saroo应该怎么做,这会让我觉得我很愚蠢。

所以,请这位自私的开发者以后不要@我

老实说我甚至怀疑他是不是其他ode设备派来捣乱的。

saroo currently runs commercial games and patches original games using memory expansion cards without conflict, including those released as prototypes.

There is a conflict between some homebrew games and homebrew, and there are two easy solutions.

One way is for the player to change the id number of the image, which can be done easily and easily with any hexadecimal editor. This takes about 1 minute, and perhaps 10 seconds for a skilled player.

Another method is for a homebrew or homebrew author to spend 10 seconds, oh no, only 3 seconds, writing a nice version number for his game or software in his work before releasing it to the public, instead of using the version number in the sample library all the time.

Either of the above two approaches could easily resolve the conflict problem, but on the second point, unfortunately, it seems that one developer is unwilling to do this, he says that he is busy, and he is willing to spend a lot of time in a long speech telling the open source author of saroo what to do to fit his application. I don't want to spend three seconds making a version number for my program.

Check it out, Fenrir and rhea have each made their own version numbers, so why don't other developers make their own?

I told the developer that saroo is an open source project and you can start a new branch as you wish, but he said he was busy and didn't have time.

To be honest, this is very selfish, saroo users are all over the world, not all saroo users will use the homebrew he says, some saroo users only care about the smooth running of commercial games.

So the selfish developer didn't want to waste the short 3 seconds to make a version number, and asked the saroo open source author to do the data check he said he wanted to avoid his software or game.

Because of this selfish request, he wants all saroo users in the world to bear this completely unnecessary data check with him, which is unfair and very stupid, and what is more stupid is that this selfish developer does not have a saroo cartridge, he has not touched saroo at all.

Again, I will not respond to a thread posted by a selfish developer who doesn't have a saroo cartridge, especially if it asks what saroo should do. It makes me feel stupid.

So please, this selfish developer don't @me in the future

To be honest, I wonder if he was sent by another ode device.

@yzbss since you're being stubborn and won't actually address the proper ticket I'll respond to you here.

The issue isn't just homebrew. I posted a list for you of various other prototypes and developer tools from 30 years ago that share product ids and IP.BINs. It's not reliable for identifying games.

As for your two solutions, neither are acceptable solutions in any rational sense. Requiring the user to edit the game image is a ridiculous thing to ask because they don't need to do that on any other emulator, ODE, or even just using a CD.

Asking us developers to come up with unique IDs is also unacceptable. We don't have to do that for any other device. We are not registered developers getting published product ids from Sega. We're hobbyists. Even if we come up with our own there's no guarantee we won't still have collisions. What if we pick a value someone else picked and one of our homebrews needs to be added to your patch list at some point in the future? Who's job is it to pick the new ID? What about translation patches? Most translation patches dont change that ID or version number. What if the base game needs a patch in the future and now it interferes with the translation patch? You're effectively asking developers to register a unique ID with you which is ridiculous and absurd. Are you going to maintain this database of IDs to make sure there's no future conflicts going forward? I know I certainly don't want to be responsible for that.

It is not selfish to point out a logical flaw in your patching code. It is not selfish to suggest a better way to identify a game for patching. It is not a burden on users to do a checksum on a file that's less than 1MB in size before you patch it. That should take microseconds to do even on the Saturn.

This isn't about laziness or selfishness, it's about fixing an issue so you don't have this possible problem going forward. It's not a burden, it's good software design. The current implementation in game_patch.c is not a good solution and is prone to collisions.

As for the complaint about my not having a Saroo, you realize that as a developer I get people reporting problems to me right? There's a Saroo testing thread in the Shiro discord as well as threads on SegaXtreme where people have reported issues with this device. For some of them I noticed the heart of darkness patch and realized it was being applied to the wrong games and causing problems so I made a ticket.

As for the accusation about being sent by another ODE, don't flatter yourself. I report issues with any device that get reported to me from people playing translation patches or homebrew. Saroo is no different. I've reported them to TerraOnion for MODE users, ced for Fenrir users, and Prof Abrasive for Satiator issues.

Again if I had the time to fix this problem for you I would. But I don't. So I'm telling you ways to fix it so you guys can do it when you have time and hopefully have it in your next release.

Chris5523 commented 4 months ago

@yzbss @07saga please see #133.

Do you think there is a problem with using this ID to identify the game? It is not friendly to self-made or modified games. So do you have any better ideas? The method used now is very simple and efficient, and the recognition can be completed the moment the game is launched. In addition, for Saturn's immature data transmission structure, the simpler it is, the less likely it will go wrong. The more data is preprocessed, the more likely there will be unexpected problems.

目前saroo运行商业游戏对原使用内存扩充卡的游戏进行补丁修复完全没有冲突问题,其中包括那些发布的原型游戏。 有冲突的是部分自制游戏和自制软件,简单的解决方法有两种。 一种方法是 玩家修改镜像的id号,使用任意一款16进制编辑器都可以轻松简单完成,这需要花费1分钟的时间,对熟练的玩家可能只需要10秒钟。 另外一种方法是 自制游戏或者自制软件作者在公开发布作品之前,花费10秒钟,哦,不,只需要3秒钟的时间,为他的游戏或者软件写一个漂亮的版本号在他的作品中,而不是一直使用示例库中的版本号。 以上2种方法任意一种都可以轻松解决冲突问题,但是关于第二点,很可惜,看起来有的开发者不愿意这样做,他说他很忙,他甚至愿意花费大量的时间发表长篇大论告诉saroo的开源作者应该怎么做才可以适配他的程序,也不愿意花费这短短的3秒钟为自己的程序做一个版本号。 去瞧瞧吧,Fenrir和rhea也都各自为自己做了一个版本号,其他开发者为什么不自己做一个呢? 我对这位开发者说过saroo是开源项目,你可以按你的想法和要求去开辟一个新分支,但是他却说他很忙,没有时间。 老实说这样很自私,saroo的使用者全球各地都有,并不是所有的saroo用户都会使用他所说的自制程序,有些saroo用户只关心商业游戏能不能顺利运行。 所以这个自私的开发者不想浪费这短短的3秒钟去做一个版本号,而要求saroo开源作者按他所说的要求对游戏进行数据校检来避开他的软件或者游戏。 因为这个自私的要求,所以他想要全世界所有的saroo用户一起和他承担这个完全没有必要的数据校检,这是不公平的,而且是非常愚蠢的做法,更愚蠢的是这个自私的开发者完全没有一张saroo卡带,他完全没有接触过saroo。 最后我再重申一遍,我不会去对一个没有一张saroo卡带的自私的开发者发表的主题里回复,特别是主题中还要求saroo应该怎么做,这会让我觉得我很愚蠢。 所以,请这位自私的开发者以后不要@我 老实说我甚至怀疑他是不是其他ode设备派来捣乱的。 saroo currently runs commercial games and patches original games using memory expansion cards without conflict, including those released as prototypes. There is a conflict between some homebrew games and homebrew, and there are two easy solutions. One way is for the player to change the id number of the image, which can be done easily and easily with any hexadecimal editor. This takes about 1 minute, and perhaps 10 seconds for a skilled player. Another method is for a homebrew or homebrew author to spend 10 seconds, oh no, only 3 seconds, writing a nice version number for his game or software in his work before releasing it to the public, instead of using the version number in the sample library all the time. Either of the above two approaches could easily resolve the conflict problem, but on the second point, unfortunately, it seems that one developer is unwilling to do this, he says that he is busy, and he is willing to spend a lot of time in a long speech telling the open source author of saroo what to do to fit his application. I don't want to spend three seconds making a version number for my program. Check it out, Fenrir and rhea have each made their own version numbers, so why don't other developers make their own? I told the developer that saroo is an open source project and you can start a new branch as you wish, but he said he was busy and didn't have time. To be honest, this is very selfish, saroo users are all over the world, not all saroo users will use the homebrew he says, some saroo users only care about the smooth running of commercial games. So the selfish developer didn't want to waste the short 3 seconds to make a version number, and asked the saroo open source author to do the data check he said he wanted to avoid his software or game. Because of this selfish request, he wants all saroo users in the world to bear this completely unnecessary data check with him, which is unfair and very stupid, and what is more stupid is that this selfish developer does not have a saroo cartridge, he has not touched saroo at all. Again, I will not respond to a thread posted by a selfish developer who doesn't have a saroo cartridge, especially if it asks what saroo should do. It makes me feel stupid. So please, this selfish developer don't @me in the future To be honest, I wonder if he was sent by another ode device.

@yzbss since you're being stubborn and won't actually address the proper ticket I'll respond to you here.

The issue isn't just homebrew. I posted a list for you of various other prototypes and developer tools from 30 years ago that share product ids and IP.BINs. It's not reliable for identifying games.

As for your two solutions, neither are acceptable solutions in any rational sense. Requiring the user to edit the game image is a ridiculous thing to ask because they don't need to do that on any other emulator, ODE, or even just using a CD.

Asking us developers to come up with unique IDs is also unacceptable. We don't have to do that for any other device. We are not registered developers getting published product ids from Sega. We're hobbyists. Even if we come up with our own there's no guarantee we won't still have collisions. What if we pick a value someone else picked and one of our homebrews needs to be added to your patch list at some point in the future? Who's job is it to pick the new ID? What about translation patches? Most translation patches dont change that ID or version number. What if the base game needs a patch in the future and now it interferes with the translation patch? You're effectively asking developers to register a unique ID with you which is ridiculous and absurd. Are you going to maintain this database of IDs to make sure there's no future conflicts going forward? I know I certainly don't want to be responsible for that.

It is not selfish to point out a logical flaw in your patching code. It is not selfish to suggest a better way to identify a game for patching. It is not a burden on users to do a checksum on a file that's less than 1MB in size before you patch it. That should take microseconds to do even on the Saturn.

This isn't about laziness or selfishness, it's about fixing an issue so you don't have this possible problem going forward. It's not a burden, it's good software design. The current implementation in game_patch.c is not a good solution and is prone to collisions.

As for the complaint about my not having a Saroo, you realize that as a developer I get people reporting problems to me right? There's a Saroo testing thread in the Shiro discord as well as threads on SegaXtreme where people have reported issues with this device. For some of them I noticed the heart of darkness patch and realized it was being applied to the wrong games and causing problems so I made a ticket.

As for the accusation about being sent by another ODE, don't flatter yourself. I report issues with any device that get reported to me from people playing translation patches or homebrew. Saroo is no different. I've reported them to TerraOnion for MODE users, ced for Fenrir users, and Prof Abrasive for Satiator issues.

Again if I had the time to fix this problem for you I would. But I don't. So I'm telling you ways to fix it so you guys can do it when you have time and hopefully have it in your next release.

If users are so eager to use obscure Prototypes you can expect them to edit the game themself but this isn't even necessary the user can simply set the config to the values that are close to the default values mentioned earlier. But even if this is not enough, the user can simply make a second SD card for Homebrews and Prototypes using the slow read values and keep the "normal" games on a seperate card. I really don't see any problem here that needs to be fixed.

TrekkiesUnite118 commented 4 months ago

@yzbss @07saga please see #133.

Do you think there is a problem with using this ID to identify the game? It is not friendly to self-made or modified games. So do you have any better ideas? The method used now is very simple and efficient, and the recognition can be completed the moment the game is launched. In addition, for Saturn's immature data transmission structure, the simpler it is, the less likely it will go wrong. The more data is preprocessed, the more likely there will be unexpected problems.

目前saroo运行商业游戏对原使用内存扩充卡的游戏进行补丁修复完全没有冲突问题,其中包括那些发布的原型游戏。 有冲突的是部分自制游戏和自制软件,简单的解决方法有两种。 一种方法是 玩家修改镜像的id号,使用任意一款16进制编辑器都可以轻松简单完成,这需要花费1分钟的时间,对熟练的玩家可能只需要10秒钟。 另外一种方法是 自制游戏或者自制软件作者在公开发布作品之前,花费10秒钟,哦,不,只需要3秒钟的时间,为他的游戏或者软件写一个漂亮的版本号在他的作品中,而不是一直使用示例库中的版本号。 以上2种方法任意一种都可以轻松解决冲突问题,但是关于第二点,很可惜,看起来有的开发者不愿意这样做,他说他很忙,他甚至愿意花费大量的时间发表长篇大论告诉saroo的开源作者应该怎么做才可以适配他的程序,也不愿意花费这短短的3秒钟为自己的程序做一个版本号。 去瞧瞧吧,Fenrir和rhea也都各自为自己做了一个版本号,其他开发者为什么不自己做一个呢? 我对这位开发者说过saroo是开源项目,你可以按你的想法和要求去开辟一个新分支,但是他却说他很忙,没有时间。 老实说这样很自私,saroo的使用者全球各地都有,并不是所有的saroo用户都会使用他所说的自制程序,有些saroo用户只关心商业游戏能不能顺利运行。 所以这个自私的开发者不想浪费这短短的3秒钟去做一个版本号,而要求saroo开源作者按他所说的要求对游戏进行数据校检来避开他的软件或者游戏。 因为这个自私的要求,所以他想要全世界所有的saroo用户一起和他承担这个完全没有必要的数据校检,这是不公平的,而且是非常愚蠢的做法,更愚蠢的是这个自私的开发者完全没有一张saroo卡带,他完全没有接触过saroo。 最后我再重申一遍,我不会去对一个没有一张saroo卡带的自私的开发者发表的主题里回复,特别是主题中还要求saroo应该怎么做,这会让我觉得我很愚蠢。 所以,请这位自私的开发者以后不要@我 老实说我甚至怀疑他是不是其他ode设备派来捣乱的。 saroo currently runs commercial games and patches original games using memory expansion cards without conflict, including those released as prototypes. There is a conflict between some homebrew games and homebrew, and there are two easy solutions. One way is for the player to change the id number of the image, which can be done easily and easily with any hexadecimal editor. This takes about 1 minute, and perhaps 10 seconds for a skilled player. Another method is for a homebrew or homebrew author to spend 10 seconds, oh no, only 3 seconds, writing a nice version number for his game or software in his work before releasing it to the public, instead of using the version number in the sample library all the time. Either of the above two approaches could easily resolve the conflict problem, but on the second point, unfortunately, it seems that one developer is unwilling to do this, he says that he is busy, and he is willing to spend a lot of time in a long speech telling the open source author of saroo what to do to fit his application. I don't want to spend three seconds making a version number for my program. Check it out, Fenrir and rhea have each made their own version numbers, so why don't other developers make their own? I told the developer that saroo is an open source project and you can start a new branch as you wish, but he said he was busy and didn't have time. To be honest, this is very selfish, saroo users are all over the world, not all saroo users will use the homebrew he says, some saroo users only care about the smooth running of commercial games. So the selfish developer didn't want to waste the short 3 seconds to make a version number, and asked the saroo open source author to do the data check he said he wanted to avoid his software or game. Because of this selfish request, he wants all saroo users in the world to bear this completely unnecessary data check with him, which is unfair and very stupid, and what is more stupid is that this selfish developer does not have a saroo cartridge, he has not touched saroo at all. Again, I will not respond to a thread posted by a selfish developer who doesn't have a saroo cartridge, especially if it asks what saroo should do. It makes me feel stupid. So please, this selfish developer don't @me in the future To be honest, I wonder if he was sent by another ode device.

@yzbss since you're being stubborn and won't actually address the proper ticket I'll respond to you here. The issue isn't just homebrew. I posted a list for you of various other prototypes and developer tools from 30 years ago that share product ids and IP.BINs. It's not reliable for identifying games. As for your two solutions, neither are acceptable solutions in any rational sense. Requiring the user to edit the game image is a ridiculous thing to ask because they don't need to do that on any other emulator, ODE, or even just using a CD. Asking us developers to come up with unique IDs is also unacceptable. We don't have to do that for any other device. We are not registered developers getting published product ids from Sega. We're hobbyists. Even if we come up with our own there's no guarantee we won't still have collisions. What if we pick a value someone else picked and one of our homebrews needs to be added to your patch list at some point in the future? Who's job is it to pick the new ID? What about translation patches? Most translation patches dont change that ID or version number. What if the base game needs a patch in the future and now it interferes with the translation patch? You're effectively asking developers to register a unique ID with you which is ridiculous and absurd. Are you going to maintain this database of IDs to make sure there's no future conflicts going forward? I know I certainly don't want to be responsible for that. It is not selfish to point out a logical flaw in your patching code. It is not selfish to suggest a better way to identify a game for patching. It is not a burden on users to do a checksum on a file that's less than 1MB in size before you patch it. That should take microseconds to do even on the Saturn. This isn't about laziness or selfishness, it's about fixing an issue so you don't have this possible problem going forward. It's not a burden, it's good software design. The current implementation in game_patch.c is not a good solution and is prone to collisions. As for the complaint about my not having a Saroo, you realize that as a developer I get people reporting problems to me right? There's a Saroo testing thread in the Shiro discord as well as threads on SegaXtreme where people have reported issues with this device. For some of them I noticed the heart of darkness patch and realized it was being applied to the wrong games and causing problems so I made a ticket. As for the accusation about being sent by another ODE, don't flatter yourself. I report issues with any device that get reported to me from people playing translation patches or homebrew. Saroo is no different. I've reported them to TerraOnion for MODE users, ced for Fenrir users, and Prof Abrasive for Satiator issues. Again if I had the time to fix this problem for you I would. But I don't. So I'm telling you ways to fix it so you guys can do it when you have time and hopefully have it in your next release.

If users are so eager to use obscure Prototypes you can expect them to edit the game themself but this isn't even necessary the user can simply set the config to the values that are close to the default values mentioned earlier. But even if this is not enough, the user can simply make a second SD card for Homebrews and Prototypes using the slow read values and keep the "normal" games on a seperate card. I really don't see any problem here that needs to be fixed.

The issue with unique IDs has been somewhat addressed in recent commits. They made it so for Heart of Darkness they at least check the memory values before patching which should help for that particular patch. There's still a chance for collisions with other games and demos that need patched. Checksum would still be the best way to go if getting rid of the patches isn't possible. That would eliminate the possibility of collisions and end the issue once and for all.

The point is that this device should be aiming for compatibility first, and cheap gimmicks like faster loading second. Currently those priorities are backwards and it's resulting in problems. Just look at the pile of tickets that keep getting made almost daily that boil down to people needing to add in more game specific configs to make the game in question work. Most of that could be alleviated by a simple "Boot with real CD Drive speeds" option. If the game doesn't work with the fast load times option, users could just try the slower option. Then devs wouldn't have to keep addressing these kind of tickets and could focus on things they find more important. There's no denying that this is far more user friendly than having to manually configure a config file.

vmicka72 commented 1 week ago

So what is the best default value to maximize stability (i don't care about loading faster than cdrom)?

[global] lang_id = 0 sector_delay=???? play_delay=????