Sonic and Sega Retro Message Board: Bgvanbur - Viewing Profile - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help

Group:
Tech Member: Tech Members
Active Posts:
129 (0.07 per day)
Most Active In:
Technical Discussion (29 posts)
Joined:
02-November 10
Profile Views:
1846
Last Active:
User is offline Private
Currently:
Offline

My Information

Age:
32 years old
Birthday:
October 3, 1982
Gender:
Male Male
Location:
USA

Contact Information

E-mail:
Private
Website:
Website  http://

Previous Fields

Project:
a disassembly, some small Sega CD projects
National Flag:
us

Latest Visitors

Topics I've Started

  1. Flickie's Island Defense

    25 August 2012 - 06:13 PM

    Well Flickies' Island Defense was released to the Sonic Hacking Contest 2012. It was a slowly worked on project over a year and a half. My heart wasn't really in the project so I easily got distracted on other projects. It took me a while to realize that the tower defense genre is either quite boring or requires a lot of micro management (which I hate). So basically this project no longer has a developer. The source is on the ISO if anyone cares to resurrect the game.

    SSRG Download Link For Flickies' Island Defense

    Youtube of sample "gameplay":
  2. SCDTools

    10 April 2012 - 09:45 AM

    I have hinted at my SCDTools before in previous posts and even released a few scripts individually. The SCDTools is a combination of PERL scripts along with some shell scripts. Some of the most useful are creating a Sega CD data track, converting images to Sega VDP formats, converting Sega VDP formats to images, converting wave to PCM, and decoding/encoding Sega CD Cinepak. All the scripts I have made for Sega CD development are located at:

    http://sourceforge.net/p/scdtools/

    If you run each script you will get a full description of the script, but here is a (very) quick description of each script:

    scd68kdcleanup
      Kind of cleans up output from 68kd (68k disassembler)
    scdasm
      Wrapper for your favorite assembler and favorite options
    scdasmall
      Run asmx, asm68k, and SNASM68K and verify they have the same output
    scdchecksum
      A specific tool to make a 16 bit checksum for all but first two bytes
      and put the 16 bit checksum at the first two bytes of the file.
      Used for a specific homebrew game.
    scdcinepakencode
      Encode a cinepak file
    scdcinepakencodeframe
      Encode the image data for a cinepak frame
    scdget
      Retreive the iso for the Sega CD in your CD-ROM
      Uses dd program
    scdhex
      Does a search and replace using hex strings (I used for Sonic CD hacking)
    scdimg2tile
      Converts an image to Sega VDP data
      Uses Perl's Image::Magick library
    scdimgvdppalette
      TODO work in progress
    scdisofilefromoffset
      Determines the filename from which an ISO byte index corresponds to
      Uses isoinfo program
    scdlittle2bigword
      I used this to convert cram part of savestate file the more convient endian
    scdmake
      Used to make a Sega CD ISO
    scdmoviedecode
      Used to decode a Cinepak for Sega file
    scdtile2img
      Converts Sega VDP data to a PNG
    scdupdatebinfile
      Takes a binary file and replaces it at a specified byte index in a file.
      Useful for overwriting data in an ISO file.
    scdwav2pcm
      Converts a wav file to Sega CD PCM data
    scdwrite
      Writes Sega CD files out to a CD-R
    
  3. Demystifying Cinepak For Sega

    27 August 2011 - 12:37 PM

    I have been researching heavily into the Cinepak For Sega (as used on the Sega CD).

    First off, many places that talk about Cinepak for Sega and it seems like they make up things with little or no evidence. Cinepak uses 16276 Hz 8-bit PCM (this is fixed) but the code thinks it is 16000 Hz (so it plays faster than the code expects). It has a max of 61 unique colors in one frame since it only uses one plane with the possibility of 1 to 4 palettes. It is not 128 or 256 colors as many places suggest (including Sega Mega CD - Sega Retro). It is double buffered in both the Word RAM and the VDP RAM (so when seeing if a tile has changed, you need to check if was the same from two frames ago, and do not check it against the last frame). There is no necessity for ordered dithering to be used, but it is typically used since ordered dithering typically produces smaller frame data due to the way 4x2 or 2x2 pixel blocks are encoded and reused (and better compression means you can have a larger picture or faster frame rate). When two palettes are used, the palette map uses two bits to encode each palette for a tile. And many places claim a movie is or is not Cinepak For Sega and are wrong.

    I have been working on disassemblies of both the MAIN and SUB CPU code, a detailed list of Cinepak games and notes about each one, a Cinepak encoder, and a Cinepak decoder. The MAIN code went through a couple of revisions but not much changed between revisions. The SUB code went through several revisions and had much larger changes (which makes sense since it was more complex than the MAIN code). I plan to release all of these as they get more refined and finalized.

    For now, I am excited to provide my Nyan Cat Cinepak Demo (it uses unmodified Cinepak revision 1.2 with some small startup MAIN/SUB code to start the movie). I was real happy when this finally worked in Gens (and worked first try on hardware last night).

    Collection of files released in this thread:

    Nyan Cat Cinepak Demo ISO
    Bad Apple Cinepak Demo ISO and source
    Glenn Miller In The Mood Cinepak Demo ISO and source
    Nyan Cat Cinepak Demo ISO and source
    Star Wars Chess Reencoded Cinepak Demo ISO and source
    Cinepak 68k Disassemblies
    Cinepak Movie Reseach (ods)
    Cinepak Movie Research (xls)
  4. SCDBook Volume 0

    15 June 2011 - 01:24 AM

    I have developed an eBook reader for the Sega CD called SCDBook Volume 0. I made this since I wanted to read the books from Project Gutenberg but did not like reading them on my computer. Currently, it has 43 books from Project Gutenberg site (mostly books I recognized from the top 100 and some others that I like). It works on both real hardware and emulators (tested Gens and Fusion). I read the entirety of Alice in Wonderland using the RF output on a CRT and the entirety of Pinocchio with my son with the composite output on a CRT and both work very well. It also reads well on an LCD in an emulator. However, trying to read these books on the projector was bad (the text was too big).

    <img src="http://img688.imageshack.us/img688/9218/scdbookvolume0000.png" border="0" class="linked-image" />

    I parse the gutenberg books that I add a markup to (that indicates chapter breaks, title, author, etc). This makes an information file and a 36 character wide text file. The 36 character wide text file can be read by a regular text editor (though some Windows text readers may not like the single linefeed character I use for the newline). It can read books that are up to ~22MB long (to put this in perspective, the full King James Bible is ~4MB long). It can handle ~400 books in its present form (could be more if I changed things around, but I think more than that would be difficult to navigate so many books anyways).

    YouTube Video of SCDBook Volume 0
    SourceForge page for ISO and source

    If anyone else plans on using SCDBook and would like to see additional books on the CD, just send your book suggestions to me and I can include them in the next revision.
  5. Sega VDP Format And Image Converters

    21 January 2011 - 12:38 AM

    I have developed PERL scripts that allow converting from the Sega VDP format and image file format. My script scdtile2img will take a palette and a set of Sega VDP tiles and generate an 4 bit indexed transparent PNG file. Another script scdimg2tile will convert most image formats (since it uses the ImageMagick PERL API) to a labeled asm file (base on the input image file name). They have options for map/sprite ordering, magic pink support for image formats that do not support transparency, option to call pngcrush to generate an optimized png, and many more.

    Using this, I made PNGs for all the Sonic 2 animals (from the disassembly) and many of the sprites from the Dr. Robotnik's Mean Bean Machine (from a save state). I also use these scripts for the development of my Riley's Letter Recycle game and the current project I am working on. A sample from the mean bean collection is:



    All of my scd scripts and the two sprite collections mentioned can be be found at http://dhost.info/gekkinfo/scd.html

Friends