Forums

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

View topic - Fullscreen video playback on Sega Master System

Reply to topic Goto page Previous  1, 2, 3, 4
Author Message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Thu Dec 19, 2019 9:04 am
That's nice to know! :-D I'm quite willing to buy one for developing
  View user's profile Send private message
  • Joined: 04 Jul 2010
  • Posts: 539
  • Location: Angers, France
Reply with quote
Post Posted: Thu Dec 19, 2019 9:16 am
I'm also thinking of a pseudo real dev cart.
With only sram (or a very fast programming flash) + usb2 upload
(more or less one of my last pcb + my dumper in a cart - 14s to flash 32Mbits)
  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Thu Dec 19, 2019 9:30 am
That would be also fantastic (although I'll probably get one dev cart, an one "normal" one, just to test).
  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Thu Dec 19, 2019 9:03 pm
After padding the rom it also works in an Everdrive. I have attached the padded file. :)

  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Thu Dec 19, 2019 10:32 pm
Thanks Calindro! I'll try on the real machine this weekend! :-D
  View user's profile Send private message
Revo
  • Guest
Reply with quote
Post Posted: Fri Dec 20, 2019 12:00 pm
But it's not working on Emulicious?
 
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Fri Dec 20, 2019 12:13 pm
Both worked, just be sure to be at 50hz
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Dec 20, 2019 3:30 pm
Maxim wrote
Everdrive OS (at least the 1MB version) rounds ROM sizes down to the next lowest multiple of 64KB, if greater then 64KB.


So it means an 80KB ROM will only be partially read from SD and to make it read it correctly the file needs to be padded to 128KB?
What if it's smaller than 64KB? I mean, will 16KB/32KB/48KB ROM works? And what if it's some size in between, as 42KB?

(sorry I can't test that myself before some months...)
  View user's profile Send private message Visit poster's website
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Fri Dec 20, 2019 3:40 pm
Last edited by Calindro on Fri Dec 20, 2019 3:41 pm; edited 1 time in total
sverx wrote
Maxim wrote
Everdrive OS (at least the 1MB version) rounds ROM sizes down to the next lowest multiple of 64KB, if greater then 64KB.


So it means an 80KB ROM will only be partially read from SD and to make it read it correctly the file needs to be padded to 128KB?
What if it's smaller than 64KB? I mean, will 16KB/32KB/48KB ROM works? And what if it's some size in between, as 42KB?

(sorry I can't test that myself before some months...)

As I said, it depends on the version of the Everdrive OS.
There are at least 2 different ways of it being handled in the available OSes.
For best compatibility with every version of the Everdrive OS and also every emulator it's best to pad to the next power of 2.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Fri Dec 20, 2019 3:40 pm
From memory, it operates on 64KB chunks. It will copy max(floor(size/64K), 1) chunks to NOR.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Dec 20, 2019 5:30 pm
and here's why (from Master EverDrive OS v6 "prog.c" source)

[...]
    if (len < 65536) len = 65536;
[...]
    vdpDrawConsStr("erase...", PAL1);
    vdp_repaint();
    len >>= 16;
    eprErase(0x100000, len);
    len <<= 16;
    vdpDrawConsStr("write...", PAL1);
    vdp_repaint();
[...]


so that's where the "minimum of 64KB" and "floor multiple of 64KB" comes from
  View user's profile Send private message Visit poster's website
  • Joined: 14 Sep 2016
  • Posts: 81
  • Location: Vienne, France
Reply with quote
Post Posted: Sun Feb 02, 2020 12:18 pm
Hello :)

Last months I worked on this project again a bit, trying to improve the quality without changing the decoder or the data format.
Here are the changes on the latest SMS_WIP branch:
- Key frames detection is now automatic, no need for .kf files anymore.
- Improved dithering, now you can choose between Thomas Knoll and various levels of Yiluoma 2.
- Improved encoder speed.
- Improved frame tiling quality (using among others more tile mirroring).
- Added a blocking message when the player ROM is run on a 60Hz console.
- Padded the video ROMs to 64KB blocks.

The project page is there: https://github.com/gligli/tiler
Just use the binaries from the latest SMS_WIP branch to get this version.

Have fun!
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Sun Feb 02, 2020 1:58 pm
Make sure you update pcmenc too!

How about Game Gear support? There are a lot of tricks that could allow higher frame rates and/or bitrates by expanding the effective VBlank time, and the 12 bit colour depth...
  View user's profile Send private message Visit poster's website
  • Joined: 14 Sep 2016
  • Posts: 81
  • Location: Vienne, France
Reply with quote
Post Posted: Sun Feb 02, 2020 5:59 pm
Ok I updated pcmenc, and seemingly got an audio glitch mitigated (audio click per frame) while using the smooth feature, thanks!
Still, I had to recompile it for 2 reasons: It's compiled to take advantage of AVX2 instruction set, and it's too modern for my CPU (I would recommend SSE2), and "Multithreaded DLL" option forces the download of a MSVC runtime where "Multithreaded" doesn't.

GG should be doable, but I won't try it myself I think (I have no flash cart).
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Sun Feb 02, 2020 7:05 pm
You should find the pcmenc output is rather louder too. I’m not sure how I chose AVX2, but certainly the runtime is included in all current Windows - are you holding out on XP or older?
  View user's profile Send private message Visit poster's website
  • Joined: 14 Sep 2016
  • Posts: 81
  • Location: Vienne, France
Reply with quote
Post Posted: Sun Feb 02, 2020 7:15 pm
Ah yeah, also because I set the volume to 115 now.
Windows 7 but the runtime is per MSVC version, but I have to agree the problem there was theoretical.

Edit: I had to revert pcmenc.exe, the new version gives me garbled background music besides the singer voice on someting like a pop track.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Tue Feb 04, 2020 11:35 pm
I'm curious what the problem is. Older pcmenc had a bug causing it to not use louder volume levels, and you can set the scaling to 33 to simulate that (although the smoothing also affects things). Can you give me the wav to try? Is it one of the ones in the repo?

I'm using the latest version and using ffmpeg to produce the inputs:

ffmpeg -i video.mp4 -t 0:00:15 -r 12.5 -vf scale=-1:192,crop=256:192 -start_number 0 %04d.png -ac 1 -t 0:00:15 audio.wav


...which is resizing and cropping the video, mixing the audio down to mono, trimming to only the first 15s and saving images and audio. This seems to work great, and the steps all seem to work nicely (if slowly - the tiling phases seem not to use much CPU), but then I get an error message on the save stage:

Quote
Stream read error


I had similar errors earlier when I didn’t have my input files just right - am I missing something obvious? I also have in the console:
Quote
Crossed bank limit!
  View user's profile Send private message Visit poster's website
  • Joined: 14 Sep 2016
  • Posts: 81
  • Location: Vienne, France
Reply with quote
Post Posted: Wed Feb 05, 2020 4:49 am
Here it is: http://sfx.gligli.free.fr/smsdev/slayers_sms.7z

Ah, that's nice, I could almost integrate ffmpeg into the GUI this way!

"Stream read error" -> fixed! didn't handle underruns in using audio data (even exact sample count could make it fail).
"Crossed bank limit!" -> this is not a bug, just the fact that one bank wasn't entirely used.
  View user's profile Send private message
  • Joined: 14 Sep 2016
  • Posts: 81
  • Location: Vienne, France
Reply with quote
Post Posted: Wed Feb 05, 2020 7:16 am
Okay well last git has optional ffmpeg input :)
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Wed Feb 05, 2020 8:06 am
Note that my ffmpeg incantation is ok for videos that are 4:3 and wider (cropping to the centre), but would need to be much more complicated to handle much narrow videos or to add black borders. I’ll try the update later today.
  View user's profile Send private message Visit poster's website
  • Joined: 14 Sep 2016
  • Posts: 81
  • Location: Vienne, France
Reply with quote
Post Posted: Wed Feb 05, 2020 8:24 pm
I guess I'm almost done with the encoder revamp, at least the algorithms seem all good now.
Here are a few sample videos with today version (which had a big quality boost, something was previously wrong in the way I did frame tiling datasets).
nggyu_v8_4.7z (382.41 KB)
sonic_boom.7z (1.62 MB)
slayers_opening.7z (1.93 MB)

  View user's profile Send private message
  • Joined: 05 Jul 2017
  • Posts: 67
  • Location: Cornwall, United Kingdom
Reply with quote
Post Posted: Mon Feb 10, 2020 6:44 pm
Super work!

I've seen video-to-ascii before https://github.com/fossage/ASCII-Video but this is more impressive!
  View user's profile Send private message Visit poster's website
Reply to topic Goto page Previous  1, 2, 3, 4



Back to the top of this page

Back to SMS Power!