Jump to content
IGNORED

Monkey Island 2 music/slideshow demo


Asmusr

Recommended Posts

I found some sheet music from Monkey Island 2 that I have been converting to a format playable by our music chip by entering it into the MOD2PSG2 tracker. I think the result is pretty good (although far from the original) so I decided to turn it into a slideshow demo with screenshots from the PC game.

 

The music is played using Tursi's VGM tools, and the images have been converted using Tursi's Convert9918A tool.

 

There are 3 versions of the demo:

 

monkey8.bin is a 512K cartridge image for the original 9918A video chip. The image quality is pretty bad, but at least you have something to watch while listening to the music. The cart requires 32K RAM because the music player needs it, and I was too lazy to try to make it run on an unexpanded console.

 

f18a-monkey8.bin is a 512K cartridge image for use with the F18A video chip. This is using Tursi's routine to display images with a new color palette for every scanline. The image quality is a lot better than for the 9918A, but there's still a long way to VGA. This runs fine in the latest version of Classic99, but JS99er.net is lagging (unless you have a faster computer than me) as is not recommended. The sound quality is best, of course, on real hardware.

 

monkey.dsk contains an E/A#5 file with just the music and a single image.Try this if you want to hear the music, but cannot use one of the other options. We need The FinalGROM 99!

 

I have also attached the music if you want to play around with the tracker.

monkey8.bin

f18a-monkey8.bin

monkey.dsk

music.zip

  • Like 11
Link to comment
Share on other sites

The cart requires 32K RAM because the music player needs it, and I was too lazy to try to make it run on an unexpanded console.

 

I have that mostly done... the 680Rock demo uses a version of the player that has all the data access abstracted to a function call so it could be used for bank switching or other locations like VDP with a simple function. ;)

Edited by Tursi
Link to comment
Share on other sites

lol im dumb, I tried to stick the .bin version on my flashrom .. even though you mentioned above what it was. Finally when I looked at the file size, I knew I had to bust out the diskettes.

 

TIMXT + Terminal Program on PC .... I have tons of OEM 3.5" floppies just waiting for something like this :) It's always fun firing up the disk drives!

 

 

 

 

EDIT: Worked like a charm -- awesome and thank you for the fun!

 

When I transferred this to disk (I only have 180K to play with on diskettes as I have the standard TI controller unmodded), I noticed it only took up 87 of the 718 sectors I had initialized on a new disk. Any chance the expanded version would fit on a disk? I have another 631 to play with :) Also ... I do have a horizon RAMdisk if more space is needed!

 

Or is there someway I can 'unpack' that F18A .bin file and run it off a disk or ramdisk?

Edited by budz2355
Link to comment
Share on other sites

This is a very nice demo indeed. Pictured here running of my F18A equipped TI-99/4A while using the Pipistrello FPGA as the "cartridge". Good job Asmusr!

 

Now that I think about it, this probably also is the first time I'm running something F18 enhanced on my TI. The picture is from the non-F18 enhanced version, I tried the F18 version after that and it worked just as well. :)

 

Monkey Island Demo (512K) running of the Pipistrello FPGA "cartridge"

  • Like 1
Link to comment
Share on other sites

Excellent sounds & musics ! I played the version using the (lovely) TMS9918A/29A and I find that graphics are good ! And I am sure that we can obtain even better pictures by reworking the drawings manually to adapt them within the TMS9918 colors proximity contraints.

Thank you Rasmus and Tursi :-)

Link to comment
Share on other sites

Your demo brought back some great memories. :)

 

 

I do not have a 512k cart handy, nor can the cart be used with a Geneve, so I have adapted the 512k ROM demo version to run from the Geneve in native OS mode. The demo loads the ROM data into available memory and pages it accordingly. I tested in both MESS and real hardware. Press ESCAPE to exit the demo.

 

Thanks to Rasmus for the demo and for permission to release this adaptation.

 

MonkeyIslandGeneve.dsk

 

post-25764-0-32171800-1487543640_thumb.png

  • Like 4
Link to comment
Share on other sites

I wonder if the F18A "one 16 color palette per scanline" data could be mapped to one of the 9938 modes?

The V9938 has a graphics mode (7) that might come close. The screen is 256x192, with one byte representing one dot. Each byte can be one of 256 colors, represented as [3 bit red|3 bit green|2 bit blue]. Each screen is approximately 50k bytes, so I guess one would write to the non-displayed screen, then change the screen table pointer when ready. How is the image and color data represented in the f18a rom?

Link to comment
Share on other sites

The V9938 has a graphics mode (7) that might come close. The screen is 256x192, with one byte representing one dot. Each byte can be one of 256 colors, represented as [3 bit red|3 bit green|2 bit blue]. Each screen is approximately 50k bytes, so I guess one would write to the non-displayed screen, then change the screen table pointer when ready. How is the image and color data represented in the f18a rom?

 

Patterns and colors are stored as for normal bitmap mode, but in addition each image has a block of 192 palettes (one for each horizontal pixel line) starting from bank 44 in the cart image. Each palette is 32 bytes long, holds 16 colors, and each color is represented by a word >0RGB where R, G, and B are 4 bits each. It seems like this should be quite easy to map to mode 7.

Link to comment
Share on other sites

 

Patterns and colors are stored as for normal bitmap mode, but in addition each image has a block of 192 palettes (one for each horizontal pixel line) starting from bank 44 in the cart image. Each palette is 32 bytes long, holds 16 colors, and each color is represented by a word >0RGB where R, G, and B are 4 bits each. It seems like this should be quite easy to map to mode 7.

Hmm. I might try that this weekend as I already have the f18a ROM file prepared. Would it be better to keep the most significant bits of each color? Red and Green will just lost one bit; blue will lose two....

Link to comment
Share on other sites

Hmm. I might try that this weekend as I already have the f18a ROM file prepared. Would it be better to keep the most significant bits of each color? Red and Green will just lost one bit; blue will lose two....

 

Yes you should keep the most significant bits. It will be interesting to see the results.

Link to comment
Share on other sites

 

Yes you should keep the most significant bits. It will be interesting to see the results.

post-25764-0-62025700-1487834875_thumb.png

 

I might try some adjustments later in the week.. here is a MESS screenshot of the first pic. This is using the Geneve and V9938 in Graphics mode 7, with the F18A 12-bit palette converted to V9938 8-bit palette.

  • Like 2
Link to comment
Share on other sites

Here is the same demo for the Geneve using the V9938 Graphics mode 7. The screens are built in alternating 64K banks in the background. When the timer expires for each screen, the pattern name table register is flipped to the already-built screen, allowing for the seamless transitions. I haven't done much with graphics modes in the past, so this was a good learning experience.

 

The demo currently requires more CPU memory than a stock Geneve has available, so you'll need to use MESS or a Geneve with expanded RAM.

 

post-25764-0-93157600-1487916483_thumb.pngpost-25764-0-51566300-1487916501_thumb.pngpost-25764-0-60358600-1487916521_thumb.pngpost-25764-0-93949000-1487916542_thumb.png

 

MonkeyIslandGeneve-V9938-720k.dsk

Edited by InsaneMultitasker
  • Like 9
Link to comment
Share on other sites

Here is the same demo for the Geneve using the V9938 Graphics mode 7. The screens are built in alternating 64K banks in the background. When the timer expires for each screen, the pattern name table register is flipped to the already-built screen, allowing for the seamless transitions. I haven't done much with graphics modes in the past, so this was a good learning experience.

 

The demo currently requires more CPU memory than a stock Geneve has available, so you'll need to use MESS or a Geneve with expanded RAM.

 

attachicon.gifgene0032.pngattachicon.gifgene0030.pngattachicon.gifgene0031.pngattachicon.gifgene0029.png

 

attachicon.gifMonkeyIslandGeneve-V9938-720k.dsk

 

 

Coool. ;-)

Link to comment
Share on other sites

To get it running, you have to use some special settings for MAME.

 

1. Since this is a 720k disk image, the default floppy drive will not work (40 tracks). You have to select a 3.5" drive for flop1.

2. You have to set the DIP switch on the HFDC controller to define your first drive to have 80 tracks (DIP switch settings in the OSD menu).

3. In GeneveOS you have to type in SETDSK 108.

4. In order to get more memory, do not forget to add the MEMEX.

 

My command line looks like this:

./mame64 geneve -peb:slot3 memex \
     -peb:slot8 hfdc \
     -peb:slot8:hfdc:h1 generic -hard1 /home/michael/mame/disks/hd/scsi2.hd \
     -peb:slot8:hfdc:f1 35dd -flop1 ti/andere/tesch/MonkeyIslandGeneve-V9938-720k.dsk

(the \ are just continuations in the shell; you should write everything in one line.)

 

Edit: The SETDSK is not required.

Edited by mizapf
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...