Thursday, September 8, 2011

CD-i Emulator progress: MPEG decoding, save/restore points, ROM-less emulation

A lot of work has been done on CD-i Emulator in the last month. Cdifan recently posted a very detailed report of his progress, which you can find on his cdibits blog. I've filtered the interesting parts for the blog. Be sure to read the Cdibits blog for the details: It's a tough job to shrink the text into a small size!
Cdifan: "Last January an annoying date-checking bug was found which forced me to release beta2 somewhat earlier than anticipated. After that I did no further work on CD-i Emulator. I resumed CD-i related work in early August. First I spent a few days on Walter Hunt's OS-9 port of gcc, what could be useful for homebrew activities: it's a much more usable C compiler and I intend to use this for ROM-less emulation validation some day.
After that I had another go at the Digital Video cartridge emulation. At the point where I left off last year the major stumbling block was the presumed picture / frame buffering logic of the MPEG video driver. I decided to once again attempt to get "CD-i Full Motion Video Technical Aspects" working. I had previously tried to run this disc on CD-i Emulator, but it always crashed for an unknown reason that I attributed to MPEG device emulation problems. Now that it's fixed some other titles have probably started working but I haven't tested that.
You might think that all of the difficulties are with the MPEG video decoding and that is indeed mostly true. There is currently just one known problem with the MPEG audio decoding: the audio isn't properly attenuated as specified by the driver. This causes little audio distortions at some stream transitions and when buffers run out. During testing, I often have to do the same exact sequence of mouse actions to get a CD-i application to a problem point and this is starting to be annoying. The obvious solution is a full emulation state save/restore feature, which I've given some thought and started implementing. It's nowhere near finished, though. During the MESS collaboration I spent some time investigating the MESS save/restore mechanism. If at all possible I would love to be compatible for CD-i emulation states, but it turns out to be quite hard to do.
I also made some progress on the ROM-less emulation front. First I spent some time reading up on the internals of OS-9 file managers. I need to implement cross-module calling first. It's not really hard in principle, the design has been done but there are a lot of little details to get right. When cross-module calling is working, I have to find some way of integrating it in the user experience. You could always start over without any NVRAM files, but I'd like to have some way of migrating files between the two possible locations without having to run CD-i Emulator with weird options.
I did some work on saving CD-i IFF image files for each emulated video frame. The motivation for this was to bring full-resolution real-time frame saving into the realm of the possible. The data is written out fine, but it's still too slow. That being so, I am not really very motivated to extend the CD-i IFF decoding. So there is still a lot of work to be done, but it's all quite interesting and will provide for some entertaining evenings and weekends in the coming weeks or possibly months."


[Thanks, cdifan, CDIBITS]

0 comments:

CD-i Games Index A-F

3rd Degree - PF Magic
7th Guest, The - Philips Freeland Studios
Accelerator - SPC/Vision
Adventure of the Space Ship Beagle, The - Denshi Media Services
Affaire Morlov, L' - Titus
Alfapet - Adatek
Alice in Wonderland - Spinnaker
Alien Gate - SPC Vision
Alien Odyssee - Argonaut
Aliens Interactive CD-i - Dark Vision Interactive
Ange et le Demon, L' - Smart Move
Apprentice, The - SPC Vision
Apprentice 2, The - Marvin's Revenge - SPC Vision
Arcade Classics - Philips ADS / Namco
Asterix - Caesar’s Challenge - Infogrames
Atlantis - The Last Resort - PRL Redhill (Philips ADS)
Axis and Allies - CapDisc
Backgammon - CapDisc
Battle Chess - Accent Media (for Interplay)
Battleship - CapDisc
Big Bang Show - Infogrames
BMP Puzzle - Circle (for ZYX)
Brain Dead 13 - Readysoft
Burn:Cycle - Trip Media
Caesar's World of Boxing - Philips POV
Caesar's World of Gambling - CD-I Systems
Cartoon Academy - Bits Corporation
CD-i mit der Maus - SPC Vision
CD Shoot - Eaglevision Interactive Productions
Change Angels Kick-off - HMO
Chaos Control - Infogrames
Christmas Country - Creative Media
Christmas Country - The Lost Levels - Creative Media
Christmas Crisis - DIMA
Clue - 3T Productions
Clue 2 - The mysteries continue - 3T Productions
Connect Four - CapDisc
Creature Shock - Argonaut (for Virgin)
Crime Patrol - CapDisc
Crow, The - Philips POV
Cyber Soldier Sharaku - Japan Interactive media
Dame was Loaded, The - Beam Software
Dark Castle - Philips POV
Dead End - Cryo
Defender of the Crown - Philips POV
Deja Vu - Icom Simulations
Deja Vu 2: Lost in Las Vegas - Icom Simulations
Demolition Man - Virgin Interactive Entertainment
Demon Driver - Haiku Studios
Discworld - Teeny Weeny Games
Dimo's Quest - SPC Vision
Domino - Wigant Interactive Media
Down in the Dumps - Haiku Studios
Dragon's Lair - Superclub / INTL CDI
Dragon's Lair 2- Time Warp - Superclub / INTL CDI
Drug wars - Crime Patrol II - CapDisc
Dungeons & Dragons - PF Magic
Earth Command - Visionary Media
Effacer - CapDisc
Escape from Cybercity - Fathom Pictures
Evidence - Microids
Falco & Donjon & The Sword of Inoxybur - BMi / Zephyr Studio
Family Games I - DIMA
Family Games II - Junk Food Jive - DIMA
Felix the Cat - Philips Sidewalk Studio
Flashback - Delphine/Tiertex (for US Gold)
Flinstones Wacky Inventions - Philips Funhouse
Fort Boyard: The Challenge - Microids
Frog Feast - Rastersoft

Compact Disc Interactive

Compact Disc Interactive

CD-i Games Index G-M

Go - CapDisc 
Golden Oldies - SPC Vision 
Golden Oldies II - SPC Vision 
Golgo 13 - Japan Interactive Media 
Great day at the races, A - CD-I Racing, Dove Films, Total Vision 
Guignols de l'Info, Les - Canal+ Multimedia / INTL CDI 
Heart of Darkness - Amazing Studio (for Virgin) 
Hitchhiker's Guide to the Galaxy, The - Philips Kaleidoscope 
Holland Casino CD-i - HMO 
Hotel Mario - Philips Fantasy Factory 
Inca - Coktel Vision 
Inca 2 - Coktel Vision 
International Tennis Open - Infogrames 
Jack Sprite vs. The Crimson Ghost - PF Magic 
Jeopardy - Accent Media 
Jigsaw - Novalogic 
Joe Guard - DIMA 
John Dark: Psychic Eye - CapDisc 
Joker's Wild!, The - Accent Media 
Joker's Wild Jr., The - Accent Media 
Kether - Infogrames 
Kingdom - The far reaches - CapDisc 
Kingdom 2 - Shadoan - CapDisc 
Labyrinth of Crete - Philips Funhouse 
Laser Lords - Spinnaker 
Last Bounty Hunter, The - CapDisc 
Legend of the Fort - Microids 
Lemmings - DMA Design / Psygnosis 
Lettergreep - Wigant Interactive Media 
Lingo - SPC Vision 
Link - The faces of evil - Animation Magic 
Lion King, The - Virgin Interactive Entertainment 
Litil Divil - Gremlin Graphics 
Litil Divil 2: Limbo Years - Gremlin Graphics 
Lords of the rising sun - Philips POV 
Lost Eden - Cryo (for Virgin) 
Lost Ride, The - Formula (Lost Boys) 
Lucky Luke - The video game - SPC Vision 
Mad Dog McCree - CapDisc 
Mad Dog McCree II: The lost gold - CapDisc 
Magic Eraser - Circle (for ZYX) 
Mah-Jong - Japan Interactive Media
Making the Grade - 3T Productions 
Man Before Man - Cryo 
Marco Polo - Infogrames 
Mario Takes America - CIGAM 
Master Labyrinth - AVM AG/HQ 
Mega Maze - CapDisc 
Memory Works, The - Compact Disc Incorporated 
Merlin's Apprentice - Philips Funhouse 
Microcosm - Philips Freeland Studios 
Micro Machines - Codemasters 
Monty Python's Invasion from the Planet Skyron - Daedalus CD-i Productions 
Mutant Rampage - Body Slam - Animation Magic 
Myst - Sunsoft (for Cyan) 
Mystic Midway - Rest in pieces - Philips POV 
Mystic Midway 2 - Phantom Express - Philips POV 

CD-i Games Index N-Z

Name that tune - Philips Fantasy Factory 
New Day - Bits Corporation 
NFL Hall of Fame Football - Philips POV 
Othello - HMO 
Pac Panic - Philips ADS / Namco 
Palm Springs Open - ABC Sports / Fathom Pictures 
Pool - SPC Vision 
Pinball - CapDisc 
Plunderball - ISG Productions 
Power Hitter - ABC Sports / Fathom Pictures 
Power Match - Two's Company 
Pursue - BEPL 
Pyramid Adventures - Compact Disc Incorporated 
RAMRaid - PRL Redhill 
Return To Cybercity - Fathom Pictures 
Riddle of the Maze, The - Fathom Pictures 
Riqa - Bits Corporation 
Rise of the Robots - Mirage Technologies 
Sargon Chess - Spinnaker 
Scotland Yard Interactive - AVM AG/HQ 
Secret Mission - Microids 
Secret Name of Ra, The 
Shaolin's Road - Infogrames 
Skate Dude - Viridis 
Smurfen, De - De Telesmurf - Infogrames 
Solar Crusade - Infogrames 
Solitaire - BEPL 
Space Ace - Superclub / INTL CDI 
Space Ranger - Studio Interactive 
Special Operations Squadron - SPC Vision 
Sport Freaks - SPC Vision 
Star Trek - Philips POV 
Star Wars: Rebel Assault - LucasArts 
Steel Machine - SPC Vision 
Striker Pro - Rage 
Strip Poker Live - Greenpig Production 
Strip Poker Pro - Interactive Pictures 
Super Fighter - The Super Fighter Team / C&E 
Super Mario's Wacky Worlds - NovaLogic 
Surf City - Philips Sidewalk Studios 
Tangram - Eaglevision Interactive Productions 
Taco's Toyroom Troopers - Creative Media 
Tankdoodle - Creative Media 
Tetris - Philips POV 
Tetsuo Gaiden - Creative Media 
Text Tiles 
Thieves' World - Electronic Arts 
Tic-tac-toe - BEPL 
Tox Runner - ISG Productions 
Treasures of Oz - Philips Kaleidoscope 
Ultra CD-i Soccer - Krisalis 
Uncover featuring Tatjana - SPC Vision 
Uninvited - Icom Simulations 
Video Speedway - ISG Productions 
Vinnie the Pinguin - Pandemonium Labs 
Voyeur - Philips POV 
Voyeur 2 - Philips POV 
Whack-a-Bubble - Creative Media 
What's it worth - Marshall Cavendish Multimedia / Spice 
Who shot Johnny Rock? - CapDisc 
Wordplay - BEPL 
World Cup Golf - US Gold 
Zaak Sam, De - Toneelschool NL 
Zelda - The wand of Gamelon - Animation Magic 
Zelda's Adventure - Viridis 
Zenith - Radarsoft 
Zombie Dinos From The Planet Zeltoid - Philips POV

  © 'Games Blog' gemaakt door Interactive Dreams 2008

Back to TOP