I was working on taking a full-frame RGB signal in, separating into YUV,
applying a low pass filter (because, e.g. the colour subcarrier is
only 4.43361875Mhz, giving PAL a lower horizontal colour resolution than a
Sam, though the luminance frequency is much higher) and recombining. Pretty
trivial to do in general and it gives you a lot of the PAL look -- doing it
on the GPU is smart because in an emulator you're almost certainly not
otherwise using it. I just used a quick Kaiser-Bessel type filter, which is
really not the sort of thing the GPU is good at, but it still worked quite
well. I was then looking at shadow mask emulation, but got distracted.

Since a lot of that is very basic digital signal processing stuff, I was
suggesting you'd be well placed to look into it because you seem to have a
background in audio.

On 28 Mar 2012, at 11:27, "Aleš Keprt" <a...@keprt.cz> wrote:

 Tommo, I'm afraid I don't understand what are you talking about in your
second paragraph.

AD Codecs: I tried a few codecs from Windows, MJPEG which I used in the
past, and then I searched for some lossless codecs. The best one is SCLS,
the second best is MSUD - they are both from Moscow State University (MSU).
You can download them for free from their website. SCLS is superior in all
aspects - it is very fast, it has best compression ratio (by far), it
doesn't need any configuration settings. Microsoft video 1 (a standard very
old codec which is present in all Windows) is also able to compress
losslessly the ZX Spectrum video, but its compression ratio is much worse
compared to MSU codecs. Radius Cinepak (another standard old codec from
Windows) has very bad picture quality and is slow. I also tried MJPEG
codecs, but the results weren't good - it is necessary to use the highest
mjpeg quality settings, files are quite large and the compression process
is slow. I didn't try XVID or other MPEG4 codecs because I am sure it would
be bad as well. The SCLS codec is fast and produces the smallest files, so
it is the #1 choice.

Yesterday I recorded 12 minutes of North Star gameplay. SCLS video is 3.75
MB, MSUD is 36.9 MB, while other codecs produce much larger files. So it is
approximately 19 MB per hour, that's amazing. :-) These values are for full
resolution with border and 50 frames per second!

It is much worse with audio. In the fact there is no single good codec
available. I read article on Wikipedia on this topic - unfortunately ACM
(audio compression manager in Windows) has troubles with variable bitrate
(it doesn't support it at all to be more precise). MP3 is pain, OGG is yet
bigger pain, similarly AC3 or AAC are pain as well. In addition all these
codecs are quite unsuitable for computer music. My final choice is
Microsoft ADPCM, its bitrate is 384 kbps (for 48kHz stereo), i.e. 172 MB
per hour, and I think the audio quality is good. And it is installed in
each Windows and also supported by MPlayer on all other platforms.

 It would be better to create a new custom audio codec, but I rather let
the files to be big than to use nonstandard codec for audio.

 Standard AVI files have got file size limit at 2.0 GB. Normally I can
record only 5.5 minutes of uncompressed RGB video to those 2 GB at 25
frames per second. When I use SCLS, I can go up to 50 frames per second,
and still I am limited only by the size of audio track. More than 10 hours
of uninterrupted recording will fit into 2 GB. :-)

 Best regards,
 Aley Keprt
  *From:* Tommo H <tomh.retros...@gmail.com>
*Sent:* Wednesday, March 28, 2012 7:21 AM
*To:* sam-users@nvg.ntnu.no
*Subject:* Re: ASCD 0.98 WIP 2 released

 Which codec is that, if I may ask?

Something much more fun than dealing with complicated interfaces in a
platform-neutral manner that I recently experimented with was a GPU-driven
pipeline for PAL simulation. If I recall, you did a lot of work on SAA
emulation back in the day, which must give rise to some broadly similar DSP
sort of topics so have you any plans there?

On 26 Mar 2012, at 10:41, "Aleš Keprt" <a...@keprt.cz> wrote:

   I think what you suggest is possible, I had these thoughts too. But
currently I am quite happy with simple quicksave feature, and there is also
history of quicksaves stored on disk, so you can eventually revert to any
of older saves.
What you suggest would move the emulator even further to something like a
movie cutting studio. ;-) But it would also bring more complicated menu/GUI
to control these features. I personally prefer the quick one, just because
it's really "quick".
Currently I have implemented AVI recording. Interestingly, I found a nice
lossless video codec which can record several minutes of video into just
1.0 MB AVI file. :-) Audio track is then much larger than video track,
which is quite unusual. ;-)

Aley

 *From:* Tommo H <tomh.retros...@gmail.com>
*Sent:* Friday, March 23, 2012 1:31 AM
*To:* sam-users@nvg.ntnu.no
*Subject:* Re: ASCD 0.98 WIP 2 released

 If I dare make a suggestion; what might be nice now that memory is so
large would be to ditch fast loads and saves (or at least significantly
demote them) in favour of a simple jog dial. So I'd be able to rewind with,
say, frame accuracy for the last five minutes, second accuracy for the five
minutes before that, etc.

Obviously you'd want to approach the problem similarly to compressed video,
with key frames and the subsequent few stored as delta differences. If you
just densely stored the entire state, and pretending it were just the RAM
for ease of calculation, 50fps for five minutes is 15,000 frames, for a
footprint of 15,000 times 512kb or about 7.3 gigabytes. A key frame each
second for five minutes is already only 150mb and the delta changes would
likely be light.

If you reduced it to just storing input as deltas (whether things the
machine inherently reads or things the emulator supplies like disk changes)
then they'd cost almost nothing at all either to compute or to store.

Good idea? Bad idea?

On 22 Mar 2012, at 16:12, "Aleš Keprt" <a...@keprt.cz> wrote:

   Thank you very much. It is a bug in emulator - apparently the end of
file mark is not saved correctly. (One zero byte is missing at the end of
the file.)

And yes, now we are able to finish some games quite easily, for example I
finished Exolon yesterday. <wlEmoticon-smile[1].png>

Best regards,
Aley Keprt


 *From:* Andrew Gillen <a...@joua.net>
*Sent:* Thursday, March 22, 2012 11:29 PM
*To:* sam-users@nvg.ntnu.no
*Subject:* Re: ASCD 0.98 WIP 2 released

 Hi Aleš

Great work on this emulator. I tried it this evening and it plays a mean
game of Dave Invaders <Emoticon3.gif> and even the demo of Dave Infuriators
<Emoticon3.gif> <Emoticon3.gif>

Quick load and save seems to work great but with one small bug (that I'm
sure you know about already but I thought I'd mention anyway) when I
Quickload from the Emulation menu it says it fails to load, but actually
loads fine. The F9 key doesn't offer up the same error.

Anyway, I might actually be able to complete my own game now without
resorting to a cheat mode

Looking forward to further development.

All the best

Andrew

 *From:* Aleš Keprt <a...@keprt.cz>
*Sent:* Thursday, March 22, 2012 2:26 AM
*To:* sam-users@nvg.ntnu.no
*Subject:* ASCD 0.98 WIP 2 released

 Hi Sam Users!

I just released the new version of my emulator ASCD 0.98 WIP 2. It's still
"work-in-progress", but many planned things are already implemented.
You can download it from my web site www.keprt.cz - click Download, then
see at the bottom of that page.

Snapshots are now enabled for use, they are saved to the new file format
with extension SCS (aka. Sam Coupe Snapshot). The file format is
self-described in the source code (see file SamSnap.cpp). The new
fileformat covers also ZX Spectrum 48/128 snapshots, as it is the
fileformat used for internal Quicksave/Quickload feature. You can also
simultaneously write action replay recording file and use
quicksave/quickload.

My plan is to add AVI video recording to let people record "walkthrough"
videos in games. Until this is implemented, ASCD 0.98 won't reach final
state.


What's new:
-----------------

0.98 WIP 2 - march 2012
==========
* Sam Coupé Snapshots are now public; next goal is to implement AVI video
file writer
* The snapshot code is still in development, now supported also for ZX
Spectrum modes
* QuickSave/QuickLoad feature now uses new snapshot format in all modes,
including air recording
* New file format for OpenAir recordings - files are now a lot smaller
* Sam: Added printer support (wasn't implemented in Windows version yet) -
saves to printout.txt
* Sam: Improved floppy disk drive emulation, SAMDICE doesn't crash anymore,
although it still doesn't work
* Sam: Improved mouse emulation code
* ZXS: Added support for 3x8bit DAC audio based on IC 8255 (ports
31,63,95,127 - MQM5 works :-))
* ZXS: Added support for Fullerbox AY audio (it's always turned on in ZXS
48/128k mode)
* ZXS: Added ZX Printer support - it saves the prints to zxprint.bmp file
* Z80: Fixed ADC HL,rr incorrectly setting N flag
* Z80: Added support for saving .z80 snapshot files (uncompressed 48KB only)
* Mouse was too fast, so it is set 2 times slower than before
* Changed contents of a disk images are now saved with a temp filename and
then renamed back only if no error occurs


0.98 WIP 1 - march 2012
==========
* First public Win32 version - supports Windows 2000 and later, DirectX 6
(2D) and Direct3D 9 (3D)
* MS-DOS version is now officially dropped
* Updated to Visual C++ 2008 and Zlib 1.2.6
* Fixed many bugs in the emulation core
* Fixed Windows related bugs (especially in GUI)
* Added support for saving .sna snaps (both 48k and 128k)
* Added many items to Windows menu, but this is still quite incomplete
* Fixed wrong flash speed (it flashed every 25 frames, now it flashes every
16 frames)

 Best regards,
Aley Keprt
 -----------------------------------------
Mgr. Aleš Keprt, Ph.D.
private: a...@keprt.cz, www.keprt.cz
office: Moravian College / Moravská vysoká škola Olomouc, ales.ke...@mvso.cz
-----------------------------------------
-----------------------------------------
Mgr. Aleš Keprt, Ph.D.
private: a...@keprt.cz, www.keprt.cz
office: Moravian College / Moravská vysoká škola Olomouc, ales.ke...@mvso.cz

-----------------------------------------
Mgr. Aleš Keprt, Ph.D.
private: a...@keprt.cz, www.keprt.cz
office: Moravian College / Moravská vysoká škola Olomouc, ales.ke...@mvso.cz

-----------------------------------------
Mgr. Aleš Keprt, Ph.D.
private: a...@keprt.cz, www.keprt.cz
office: Moravian College / Moravská vysoká škola Olomouc, ales.ke...@mvso.cz

Reply via email to