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