Quantcast

Page 1 of 32 1234511 ... LastLast
Results 1 to 15 of 472

Thread: Bad Apple demo thread

  1. #1
    Master of Shinobi Sik's Avatar
    Join Date
    Jan 2011
    Posts
    2,191
    Rep Power
    45

    Default Bad Apple demo thread

    So, AnalYoGirl uploaded version 0.07:
    http://hotfile.com/dl/130776084/c734..._0.07.zip.html

    Updates I found so far:
    • Some playback controls
    • Four-level grayscale
    • Two modes: 15 FPS without any artifacts or 30 FPS with vertical interlacing
    • The speech problem was... um... hidden :v

    Making this a new thread to avoid bumping an old one for something that wouldn't even be on-topic (like that even exists in Sega-16) and to avoid triple posting =|

  2. #2
    Outrunner Stef's Avatar
    Join Date
    Aug 2011
    Location
    France
    Posts
    603
    Rep Power
    25

    Default

    I'm glad to see a topic for this demo
    I find it really impressive so far and if i find sometime i would try to test some stuff about it

    Edit :
    Done The total rom size is 8 MB but it does play at full 320x224 resolution, 30 FPS playback and 2bpp color.
    Sound is 4bit ADPCM @13Khz.

    Sources code (also contains first part video data) :

    https://www.dropbox.com/s/xrpak1eatk...le_src.7z?dl=0

    YouTube :

    www.youtube.com/watch?v=2vPe452cegU

    Final version 4 MB version :

    https://www.dropbox.com/s/fg8oymtgjv...le_p1.bin?dl=0
    https://www.dropbox.com/s/v8dffnxpcg...le_p2.bin?dl=0

    Final version 8 MB version (without bank switch) :

    https://www.dropbox.com/s/6fy2y71zfs...Apple.bin?dl=0

    Note that the 8 MB version can work only with Mega Everdrive or custom flash cart supporting full 8 MB mapping (without SSF2 bank switch style).
    Also some special emulator can support it as well (as this one).


    You can download previous versions here :

    version 1 :
    https://www.dropbox.com/s/wil1taet3t...pple1.bin?dl=0

    version 2 :
    https://www.dropbox.com/s/ifgttfd6mg...pple2.bin?dl=0

    version 3 :
    https://www.dropbox.com/s/s6hhk6xxm0...pple3.bin?dl=0

    version 4 :
    https://www.dropbox.com/s/z4r9tnltv1...pple4.bin?dl=0

    version 5 :
    https://www.dropbox.com/s/bc7gwce48c...pple5.bin?dl=0

    version 6 :
    https://www.dropbox.com/s/1lmnvlnsn5...pple6.bin?dl=0

    version 7 :
    https://www.dropbox.com/s/ciyiq1arz1...pple7.bin?dl=0

    version 8 :
    https://www.dropbox.com/s/y01fi50col...pple8.bin?dl=0

    version 9 :
    https://www.dropbox.com/s/21q721czqm...e9_p1.bin?dl=0
    https://www.dropbox.com/s/4gl68iins9...e9_p2.bin?dl=0

    final version :
    https://www.dropbox.com/s/fg8oymtgjv...le_p1.bin?dl=0
    https://www.dropbox.com/s/v8dffnxpcg...le_p2.bin?dl=0
    Last edited by Stef; 06-07-2017 at 01:44 PM.

  3. #3
    ding-doaw Raging in the Streets tomaitheous's Avatar
    Join Date
    Sep 2007
    Location
    Sonoran Desert
    Age
    41
    Posts
    3,981
    Rep Power
    74

    Default

    I'm in the middle of writing a compressor for Bad Apple in 2bit format. It's fairly extensive. I can wait to see what sort of overall compression ratio I get.Though.. I'm only using 3 shades instead of 4, for better compression.

  4. #4
    Outrunner Stef's Avatar
    Join Date
    Aug 2011
    Location
    France
    Posts
    603
    Rep Power
    25

    Default

    I'm also trying to work on that, what i initially want to do is to conserve 8 gray levels with lossless compression.
    Right now for a 320x224 resolution (from a smooth reduction of an higher resolution) it take about 13 MBytes of pure data
    But still i've some stuff i can improve

  5. #5
    ding-doaw Raging in the Streets tomaitheous's Avatar
    Join Date
    Sep 2007
    Location
    Sonoran Desert
    Age
    41
    Posts
    3,981
    Rep Power
    74

    Default

    What kind of compression scheme are you using?

    I just got my compressor working with in the first few compression stages and it's working out pretty good. I got typical type frame of 256x192 for 12288 bytes (2bit) compressed currently down to 806bytes. Though I still need to implement more of the sub level schemes.

  6. #6
    RasterSoft Dev Death Adder's minion cdoty's Avatar
    Join Date
    Sep 2007
    Location
    Houston Texas
    Posts
    15
    Rep Power
    0

    Default

    I had it down to less than 8MB, with a specialized run length compression, but I was only using 4 levels of grey.
    Visit RasterSoft on facebook or visit the website.

  7. #7
    Outrunner Stef's Avatar
    Join Date
    Aug 2011
    Location
    France
    Posts
    603
    Rep Power
    25

    Default

    I first detect tilemap changes between frame then i encode plain tile data as tilemap info. Remaining tiles are compressed using simple RLE (with 90° rotation if it provides better ratio). This is on 320x224 resolution video with 8 gray levels (actually it could be 16 as i encore the color on 4 bits).
    Event with that i still obtain 13 MB of data (10 MB if i use a lower quality base video).
    I now plan to use similar tiles to encode one tile from an already existing tile + different pixel infos to reduce size again.

  8. #8
    Hero of Algol kool kitty89's Avatar
    Join Date
    Mar 2009
    Location
    San Jose, CA
    Age
    28
    Posts
    9,713
    Rep Power
    60

    Default

    Quote Originally Posted by Stef View Post
    I first detect tilemap changes between frame then i encode plain tile data as tilemap info. Remaining tiles are compressed using simple RLE (with 90° rotation if it provides better ratio). This is on 320x224 resolution video with 8 gray levels (actually it could be 16 as i encore the color on 4 bits).
    Event with that i still obtain 13 MB of data (10 MB if i use a lower quality base video).
    I now plan to use similar tiles to encode one tile from an already existing tile + different pixel infos to reduce size again.
    Since you're only using 8 colors (shades), couldn't you optimize the RLE scheme for that:
    ie use 1 bit to define whether the nybble will be a line or a single pixel, then read the other 3 bits to define the shade and a second nybble to define the length of the line (if not a single pixel), or (if a single pixel) the next nybble defines and the next pixel/line, and so on. (you could also then have the 2nd nybble define run length as 2-17 pixels rather than 1-16 -since you'd handle 1 pixel segments separately)

    Does your current scheme also allow tile flips? (so any tiles that are H/V mirrors or other tiles can be omitted)
    6 days older than SEGA Genesis
    -------------
    Quote Originally Posted by evilevoix View Post
    Dude it’s the bios that marries the 16 bit and the 8 bit that makes it 24 bit. If SNK released their double speed bios revision SNK would have had the world’s first 48 bit machine, IDK how you keep ignoring this.
    Quote Originally Posted by evilevoix View Post
    the PCE, that system has no extra silicone for music, how many resources are used to make music and it has less sprites than the MD on screen at once but a larger sprite area?

  9. #9
    Master of Shinobi Sik's Avatar
    Join Date
    Jan 2011
    Posts
    2,191
    Rep Power
    45

    Default

    Quote Originally Posted by kool kitty89 View Post
    (you could also then have the 2nd nybble define run length as 2-17 pixels rather than 1-16 -since you'd handle 1 pixel segments separately)
    If you use two nibbles for RLE, then a two pixel run will take up the same space whether compressed or not. As such, wouldn't it be better to define the range as 3-18?

  10. #10
    Hero of Algol kool kitty89's Avatar
    Join Date
    Mar 2009
    Location
    San Jose, CA
    Age
    28
    Posts
    9,713
    Rep Power
    60

    Default

    Quote Originally Posted by Sik View Post
    If you use two nibbles for RLE, then a two pixel run will take up the same space whether compressed or not. As such, wouldn't it be better to define the range as 3-18?
    Yes, that's a good point, and the same would apply to a 128 color scheme using 1 or 2 bytes rather than nybbles. (the CD-i's video chipset actually supports such a scheme in hardware iirc, though I'm not sure it uses 3-258 for the run lengths)
    6 days older than SEGA Genesis
    -------------
    Quote Originally Posted by evilevoix View Post
    Dude it’s the bios that marries the 16 bit and the 8 bit that makes it 24 bit. If SNK released their double speed bios revision SNK would have had the world’s first 48 bit machine, IDK how you keep ignoring this.
    Quote Originally Posted by evilevoix View Post
    the PCE, that system has no extra silicone for music, how many resources are used to make music and it has less sprites than the MD on screen at once but a larger sprite area?

  11. #11
    Outrunner Stef's Avatar
    Join Date
    Aug 2011
    Location
    France
    Posts
    603
    Rep Power
    25

    Default

    Quote Originally Posted by kool kitty89 View Post
    Since you're only using 8 colors (shades), couldn't you optimize the RLE scheme for that:
    ie use 1 bit to define whether the nybble will be a line or a single pixel, then read the other 3 bits to define the shade and a second nybble to define the length of the line (if not a single pixel), or (if a single pixel) the next nybble defines and the next pixel/line, and so on. (you could also then have the 2nd nybble define run length as 2-17 pixels rather than 1-16 -since you'd handle 1 pixel segments separately)

    Does your current scheme also allow tile flips? (so any tiles that are H/V mirrors or other tiles can be omitted)
    Yeah i guess i can spare some bytes with that but i do not think it can improve that much the actual compression ratio... Anyway that s some bytes, i ve to test that
    Initially i wanted to stay with 16 colors as i planned to code a generic video encoder but if i want to achieve descent compression ratio for this video i have to use its specificities...

    I tried to use the H / V Flip but on a total of 950000 tiles i found only about 10000 copies (and this is, by using H and V flip capabilities)... So now i'm just ignoring copies as we gain so few from them.
    Last edited by Stef; 10-19-2011 at 04:20 PM.

  12. #12
    Master of Shinobi Sik's Avatar
    Join Date
    Jan 2011
    Posts
    2,191
    Rep Power
    45

    Default

    Quote Originally Posted by Stef View Post
    I tried to use the H / V Flip but on a total of 950000 tiles i found only about 10000 copies (and this is, by using H and V flip capabilities)... So now i'm just ignoring copies as we gain so few from them.
    I assume you'd get a larger gain if the format was lossy.

  13. #13
    Outrunner Stef's Avatar
    Join Date
    Aug 2011
    Location
    France
    Posts
    603
    Rep Power
    25

    Default

    Of course But i first want try lossless compression, then if i can't reduce that much i'll switch to lossy compression...

  14. #14
    Road Rasher
    Join Date
    Apr 2011
    Posts
    489
    Rep Power
    13

    Default

    Quote Originally Posted by Stef View Post
    I tried to use the H / V Flip but on a total of 950000 tiles i found only about 10000 copies (and this is, by using H and V flip capabilities)... So now i'm just ignoring copies as we gain so few from them.
    that is still alot in my option.

  15. #15
    Master of Shinobi Sik's Avatar
    Join Date
    Jan 2011
    Posts
    2,191
    Rep Power
    45

    Default

    A saving of ~1.05% isn't a lot in my opinion.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •