Myself086 / Project-Nested

MIT License
493 stars 17 forks source link

i can't get tiny toon 1 & 2 run on nested #29

Open johneymute opened 2 years ago

johneymute commented 2 years ago

I can’t get tiny toon 1 & 2 working at all on nested on whether snes flashcard,despite both games do use the mmc3 chip just like supermario 3 and so i also used the same setting of supermario 3,but no luck,despite both games do use a statusbar on the bothem of the screen just supermario 3,mmm that’s pretty strange. Speaking about strange things,metroid does works partially on both snes9x & everdrive but not on the powerpak.

Myself086 commented 2 years ago

SRM files are generated by the emulator or the flash cart device, they contain saved data from the RAM packed with the game. Both emulators and flash cart devices have a varying amount of SRM ranging from 8KB to 256KB. Since v1.4, 16KB is no longer required to play games but you won't be able to load the SRM back into the Windows executable. Some emulators such as Snes9x (v1.61) are getting an update to support 256KB. If the PowerPak doesn't support 16KB, I can't do anything about it.

Colors on SNES can only use the RGB555 format. The 256-color BG of mode 3 and 4 can use "direct color" for even more colors but with very limited use and rarely the best option for detailed images.

This project wasn't designed for SA-1 and porting the code to SA-1 isn't very straight forward.

I have no plan to support LoROM. I don't remember mentioning it but if I did, please send me a link. I did however suggest support for "Slow ROM". While my initial intention was to add an option change the speed of banks 80-ff, and realizing that it's very unlikely necessary for anyone to want that. However, moving the data from banks 80-ff to 00-7d is something that I intend on doing at some point, which would make the ROM slow since this range has no waitstate control for fast ROM.

I have no idea why Super Mario World uses 32KB (unless you mean 32 kilo bits) because it's the type of game that really shouldn't need that much.

johneymute commented 2 years ago

https://emulation.gametechwiki.com/index.php/Project_Nested Hi this link tells that slorom is indead planned but is there a difference between slorom and lorom? Because it sounds the same, Now about that srm file, I checked it out and it turns out supermarioworld only requires 2KB of srm file, but it turns out i created a 32KB srm file for it by accident in the past but it somehow still could just save fine on it,

HOWEVER I checked a game called super fire pro wrestling x premium jap ,and that game requires indeed 32KB of srm ram, so i tested it on my powerpak and i could just saving it with no problem, So i guess the powerpak can support 32KB of data to 32KB srm file, am still not 100% sure since i couldn’t get far into the game, Now i wonder if duckhunt be made compatible with nested by emulating the zapper by the superscope or the justifier, it think it shouldn’t be all that hard right, unless it screws up the timing of it,but again a patch could take potential latency into account to get arount that i suppose, just imagine playing duckhunt and other nes lightgun games using the superscope or justifier ,that would be cool, Also can you explain why i don’t get metroid to work on my powerpak?,note: i tryed both pal and ntsc and all i get is just a black screen ,Does it yet require 16KB srm ram? If so will nested v 1.5 allow metroid to run at 8KB srm ?? Also when will fds disk gamescwill be supported?

Also how are those enhanced mappers emulated,are they emulated trough the cpu or ppu? And lastly will it be possible to play more soundchannels atonce by disable the audio priority system from those games,those sothat for instance sound A from triagle wave could use sound channel 1 while sound B from triangle wave could just use soundchannel 6 rather then disturbing triangle wave sound A, unless that’s too complicated and impossible,

Well thanks again for ansuring these questions.

Verstuurd vanaf mijn iPhone

Op 18 sep. 2021 om 15:10 heeft Myself086 @.***> het volgende geschreven:



SRM files are generated by the emulator or the flash cart device, they contain saved data from the RAM packed with the game. Both emulators and flash cart devices have a varying amount of SRM ranging from 8KB to 256KB. Since v1.4, 16KB is no longer required to play games but you won't be able to load the SRM back into the Windows executable. Some emulators such as Snes9x (v1.61) are getting an update to support 256KB. If the PowerPak doesn't support 16KB, I can't do anything about it.

Colors on SNES can only use the RGB555 format. The 256-color BG of mode 3 and 4 can use "direct color" for even more colors but with very limited use and rarely the best option for detailed images.

This project wasn't designed for SA-1 and porting the code to SA-1 isn't very straight forward.

I have no plan to support LoROM. I don't remember mentioning it but if I did, please send me a link. I did however suggest support for "Slow ROM". While my initial intention was to add an option change the speed of banks 80-ff, and realizing that it's very unlikely necessary for anyone to want that. However, moving the data from banks 80-ff to 00-7d is something that I intend on doing at some point, which would make the ROM slow since this range has no waitstate control for fast ROM.

I have no idea why Super Mario World uses 32KB (unless you mean 32 kilo bits) because it's the type of game that really shouldn't need that much.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Myself086/Project-Nested/issues/29#issuecomment-922274527, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVWMQGVRQ5VQWNCTM4IES3UCSFVDANCNFSM5EH6HHAA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Myself086 commented 2 years ago

I believe Metroid doesn't work on v1.4, you'll have to play on v1.3 (which requires 16KB SRAM). Some games that had NMI issues in v1.3 now just hang in v1.4.

LoROM maps the 32KB of ROM per bank and SRAM is 32KB per bank in banks 70-7d. HiROM maps the 64KB of ROM per bank and SRAM is 8KB per bank in banks 20-3f (mirrored to a0-bf). Slow ROM runs at 2.68Mhz Fast ROM runs at 3.58Mhz

For verifying that 16KB SRAM works on your PowerPak, there's a blue setting called "Sram size", it is set to 8 (256KB) by default but you should try lowering it to 4 (16KB). There's another setting called "Show hardware usage" and it'll show you total RAM (WRAM+SRAM combined). The WRAM is 128KB and with SRAM at 16KB, you should be getting 144KB total. If you try that and only get a total of 136KB then your PowerPak can't support 16KB SRAM. When the "Sram size" is too high, some emulators and devices just assume that it's 8KB because one game had it set too high by the developers but only has 8KB.

Mapper emulation is done by the CPU. There are multiple aspects to it. CHR bank changes are controlled by the CPU and the bank number is compared against what's already in VRAM because the transfer rates are very limited and slow. Transfers must complete before vblank ends, otherwise a black line appears at the top of the screen. The best transfer method for CHR banks is DMA which can only do 8-bit at a time at a rate of 2.68Mhz and halts the CPU in the process.

Yes, I can repurpose sound channels based on priority because the SNES only has 8.

johneymute commented 2 years ago

Whoooaaah i am mind blown away that the slow snes cpu along with it’s backed in Dram (despite speaking the same languange) just emulates both the mmc3 mapper and the nes cpu,i tout that the ppu was used to emulate the mmc3 chip,and that the snes cpu was only used to emulate the nes cpu,now am really aware how much much more powerful the snes really is compared with the stock nes,

Now I do wonder, do you think emulating the nes zapper with the superscope or justifier will became possible with duck hunt and hogans alley etc,,,??? It would be great to play those games on snes, Also did you heard about the snes superdeck from 1993 ?? It was an unofficial unreleased prototype adaptor to play nes games on snes trough hardware tricks & emulation aka mested, now we will probably never know how they did it, i wish someone could track down the superdeck,extract the source code and dump it online so we could compare it with nested to see if it was better or worse and being more limited or just more capable,we will probably never know about it’s inner workings.



I believe Metroid doesn't work on v1.4, you'll have to play on v1.3 (which requires 16KB SRAM). Some games that had NMI issues in v1.3 now just hang in v1.4.

LoROM maps the 32KB of ROM per bank and SRAM is 32KB per bank in banks 70-7d. HiROM maps the 64KB of ROM per bank and SRAM is 8KB per bank in banks 20-3f (mirrored to a0-bf). Slow ROM runs at 2.68Mhz Fast ROM runs at 3.58Mhz

For verifying that 16KB SRAM works on your PowerPak, there's a blue setting called "Sram size", it is set to 8 (256KB) by default but you should try lowering it to 4 (16KB). There's another setting called "Show hardware usage" and it'll show you total RAM (WRAM+SRAM combined). The WRAM is 128KB and with SRAM at 16KB, you should be getting 144KB total. If you try that and only get a total of 136KB then your PowerPak can't support 16KB SRAM. When the "Sram size" is too high, some emulators and devices just assume that it's 8KB because one game had it set too high by the developers but only has 8KB.

Mapper emulation is done by the CPU. There are multiple aspects to it. CHR bank changes are controlled by the CPU and the bank number is compared against what's already in VRAM because the transfer rates are very limited and slow. Transfers must complete before vblank ends, otherwise a black line appears at the top of the screen. The best transfer method for CHR banks is DMA which can only do 8-bit at a time at a rate of 2.68Mhz and halts the CPU in the process.

Yes, I can repurpose sound channels based on priority because the SNES only has 8.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Myself086/Project-Nested/issues/29#issuecomment-922375914, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVWMQBRTGBTQMLMFXS645LUCT7SBANCNFSM5EH6HHAA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Myself086 commented 2 years ago

This emulator has a 1 frame delay so Duck Hunt would need a patch. There's also work to be done with controller emulation because the 2 scopes aren't compatible. Possible and I'll get to it at the same time I plan on doing controller emulation updates.

johneymute commented 2 years ago

Interesting am very curious about that,maybe zapper lightgun games can be compatible with the superscope and/or justifier and getting 1 frame delays into account trough patches,maybe😁

Now am wondering how that psg sound was done, were each sound recording done at a single cycle wave to fit within the 64KB of audio ram space? or are each sample recorded at high quality at full length and does nested use sound swapping instead to get around the 64KB limit?

Also i was thinking ,we could take a slow recorded sample from each sample and speed it up and repitch them as needed rather then recording each sample at different pitches and speeds as that would take up lots of memory space while still remaining good audio quality, Eventrough, what you never should do (as nintendo and other companies mistakingly did to save on memory space) is recording and storing each sample at high speeds and then slowong it down,as that will result in ugly metalic audio,supermario allstars is a great example of this as it suffers heavily from this,for instance those underground levels wich does has that ugly stretchy metalic sound and reverbisch effect to fake echo sound for wich i really don’t like,many sound effects and instruments in mario allstars suffers from that harschy sound effect among other snes games,

Now about that nes dpcm channel i think if possible, nested could convert dpcm into BRR format on the fly to play on snes,while for 7bit pcm playback(wich a few nes games uses),nested could use the echo buffer and disable echo writes and then stream audio samles rough it,sure you could decide to record each dpcm or 4bit pcm sound from nes games individually into BRR format,but i can imagine that will take forever and that will also probably take lots and lots of memory space.

But what if the cpu has no spare power left, then we may could emulate those enhanced mappers trough the ppu chips instead to offload lots of tasks from the cpu,aslong those ppu chips does contain lots of features from those mmc chips, or if not possible, the sa1 chip could emulate those mmc chips instead to offload such heavy tasks from the cpu while the cpu could emulate the nes cpu and do realtime audio conversion from dpcm to BRR ,just in the hopes to speed things up,

But it would be mind blowing to see ,a slow 16bit cpu wich could emulate the nes cpu ,the mmc3 chip and doing dpcm to brr sound conversions on the fly, that would be jaw dropping😁

Op 19 sep. 2021 om 01:19 heeft Myself086 @.***> het volgende geschreven:



This emulator has a 1 frame delay so Duck Hunt would need a patch. There's also work to be done with controller emulation because the 2 scopes aren't compatible. Possible and I'll get to it at the same time I plan on doing controller emulation updates.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Myself086/Project-Nested/issues/29#issuecomment-922387443, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVWMQE7SWRAS2LE45EKGMTUCUM63ANCNFSM5EH6HHAA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

johneymute commented 2 years ago

:

 Hi, can you please sent my your costumized 16KB srm file just in case sothat i can test it out, Yes you did mention that the 16KB srm file is somehow generated by the flashcard device if it is supported,BUT i just want to test it out just in case anyway,also since some games with the BSOD massage could still say follow step 5,

IMG_E1346

these are your words in the picture wich i have market with a circle

And Since you mentioned that 16KB srm file are avaiIible on github, i looked all around on github and at every version of nested but i just cannot find any 16kB srm file so that’s why i would like if you could sent it to me trough email,or just explain were i could exactly find those 16KB srm files on github because i wanna try it out anyway just in case, thanks alot.

Myself086 commented 2 years ago

No, I already gave you instructions for testing 16KB. Here's a copy of what I said:

For verifying that 16KB SRAM works on your PowerPak, there's a blue setting called "Sram size", it is set to 8 (256KB) by default but you should try lowering it to 4 (16KB). There's another setting called "Show hardware usage" and it'll show you total RAM (WRAM+SRAM combined). The WRAM is 128KB and with SRAM at 16KB, you should be getting 144KB total. If you try that and only get a total of 136KB then your PowerPak can't support 16KB SRAM. When the "Sram size" is too high, some emulators and devices just assume that it's 8KB because one game had it set too high by the developers but only has 8KB.

This option edits the header directly, so any emulator/device that supports 16KB will generate a 16KB file. The data contained within the 16KB file doesn't matter either because it starts on a blank file.

I never mentioned that 16KB srm files are available on my Github, I don't distribute them.

johneymute commented 2 years ago

Hi, were exactly can i find that blue setting with sram size?? And how can i see whether my powerpak supports 16KB srm or not? Is it a certain test program to test on my powerpak or something? ,mmmm

Op 20 sep. 2021 om 17:14 heeft Myself086 @.***> het volgende geschreven:



No, I already gave you instructions for testing 16KB. Here's a copy of what I said:

For verifying that 16KB SRAM works on your PowerPak, there's a blue setting called "Sram size", it is set to 8 (256KB) by default but you should try lowering it to 4 (16KB). There's another setting called "Show hardware usage" and it'll show you total RAM (WRAM+SRAM combined). The WRAM is 128KB and with SRAM at 16KB, you should be getting 144KB total. If you try that and only get a total of 136KB then your PowerPak can't support 16KB SRAM. When the "Sram size" is too high, some emulators and devices just assume that it's 8KB because one game had it set too high by the developers but only has 8KB.

This option edits the header directly, so any emulator/device that supports 16KB will generate a 16KB file. The data contained within the 16KB file doesn't matter either because it starts on a blank file.

I never mentioned that 16KB srm files are available on my Github, I don't distribute them.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Myself086/Project-Nested/issues/29#issuecomment-923020667, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVWMQHTOK2G5WERNXXJKE3UC5FU7ANCNFSM5EH6HHAA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Myself086 commented 2 years ago

You can decide how much SRAM Project Nested uses: image

I also made these test ROMs just before Project Nested v1.4. Try using test 4 and 5 on your PowerPak and show me screenshots. Tests 4 and 5 are 16KB and 32KB SRAM respectively. Snes SRAM test.zip

johneymute commented 2 years ago

Hi, i followed those steps like setting ram size from 8 to 4, i activated show hardware usage And this what it says

IMG_1349

it says 144KB So it looks like my powerpak does support 16KB srm ram,what do you think?

 Hi, were exactly can i find that blue setting with sram size?? And how can i see whether my powerpak supports 16KB srm or not? Is it a certain test program to test on my powerpak or something? ,mmmm

No, I already gave you instructions for testing 16KB. Here's a copy of what I said:

For verifying that 16KB SRAM works on your PowerPak, there's a blue setting called "Sram size", it is set to 8 (256KB) by default but you should try lowering it to 4 (16KB). There's another setting called "Show hardware usage" and it'll show you total RAM (WRAM+SRAM combined). The WRAM is 128KB and with SRAM at 16KB, you should be getting 144KB total. If you try that and only get a total of 136KB then your PowerPak can't support 16KB SRAM. When the "Sram size" is too high, some emulators and devices just assume that it's 8KB because one game had it set too high by the developers but only has 8KB.

This option edits the header directly, so any emulator/device that supports 16KB will generate a 16KB file. The data contained within the 16KB file doesn't matter either because it starts on a blank file.

I never mentioned that 16KB srm files are available on my Github, I don't distribute them.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Myself086/Project-Nested/issues/29#issuecomment-923020667, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVWMQHTOK2G5WERNXXJKE3UC5FU7ANCNFSM5EH6HHAA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Myself086 commented 2 years ago

Ok so it does support 16KB SRAM. If you're using v1.4+, make sure to use (and possibly test) the highest amount of SRAM possible. For Metroid however, I think you must use v1.3 (requires 16KB so we're good) but you also have to follow the instructions found on the spreadsheet.

johneymute commented 2 years ago

Hi, i tryed again a desperate multiple times to get metroid to work on my powerpak, ,i tryed both pal and ntsc versions of it, (yes i disabled static native return and enabled static range 0c000 according to those instructions) i tryed with and without adding 8KB srm to it,with and without stored calls on the srm file,i tryed changing ram size from 8 to 4 and 3 ,i tryed it with both ‘memory emulation absolute cross’ on or off ,i tryed it with both pal & ntsc snes,i tryed it with both nested v1.3 and v1.4(yes you recommanded using v1.3) But, now ironically enough, with all these attempts, they did all work just fine on snes9x but still not on real snes trough powerpak(alltrough we do know that it only supports 8KB srm files)and whether i used pal or ntsc snes, Note; that the powerpak has 128Megabit of sdram and 8KB of srm ram, so i really don’t understand why i don’t get metroid working at all on snes except on snes9x ,just insane, Thx for responding.

Verstuurd vanaf mijn iPhone

Op 20 sep. 2021 om 20:05 heeft johannes mutlu @.***> het volgende geschreven:

 Hi, were exactly can i find that blue setting with sram size?? And how can i see whether my powerpak supports 16KB srm or not? Is it a certain test program to test on my powerpak or something? ,mmmm

Op 20 sep. 2021 om 17:14 heeft Myself086 @.***> het volgende geschreven:



No, I already gave you instructions for testing 16KB. Here's a copy of what I said:

For verifying that 16KB SRAM works on your PowerPak, there's a blue setting called "Sram size", it is set to 8 (256KB) by default but you should try lowering it to 4 (16KB). There's another setting called "Show hardware usage" and it'll show you total RAM (WRAM+SRAM combined). The WRAM is 128KB and with SRAM at 16KB, you should be getting 144KB total. If you try that and only get a total of 136KB then your PowerPak can't support 16KB SRAM. When the "Sram size" is too high, some emulators and devices just assume that it's 8KB because one game had it set too high by the developers but only has 8KB.

This option edits the header directly, so any emulator/device that supports 16KB will generate a 16KB file. The data contained within the 16KB file doesn't matter either because it starts on a blank file.

I never mentioned that 16KB srm files are available on my Github, I don't distribute them.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Myself086/Project-Nested/issues/29#issuecomment-923020667, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVWMQHTOK2G5WERNXXJKE3UC5FU7ANCNFSM5EH6HHAA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.