Jump to content
IGNORED

Dragon's Lair


Tursi

Recommended Posts

Just for sake of note: I will not be checking to see who wants one when I have them ready. You'll walk up with cash in hand (well, virtually). ;)

 

I just wanted to share the status and leak a demo. Feel free to continue posting, but just don't set the expectation that I will check back here. :)

 

I should be able to take a video on hardware soon, I just wanted to get a bit more in before I paused to do that. All the pieces have been independently tested though.

  • Like 4
Link to comment
Share on other sites

 

I do all my testing with F18A emulation. But make sure you're running a version new enough to /load/ an 8MB ROM. The debug log will tell you if it truncated the file.

 

I remember we talked about this for the attract demo. This is true as of 399.03, and just tested with 399.04. If I turn off F18A emulation its runs fine. There may be other options causing this, as well. Wanna have a look at my ini?

Link to comment
Share on other sites

There has to be something else in my Classic99 settings which break this for me. If it is F18A-enhanced then I definitely want to see that.

 

EDIT: Found it: Turn on GPU interleave.

 

Ah, yes. The GPU code never sleeps, so the round-robin config will just appear to lock up in Classic99. Good call!

Link to comment
Share on other sites

Hi Tursi, this is a great demo and I'm particularly impressed by the sound quality in Classic99. Please remind me how the audio playback is done so I can think about whether it's possible to emulate in js99er.net. At the moment I'm only supporting changes the the PSG registres roughly every VDP frame, which is way off for sampled sound to work.

  • Like 2
Link to comment
Share on other sites

Hi Tursi, this is a great demo and I'm particularly impressed by the sound quality in Classic99. Please remind me how the audio playback is done so I can think about whether it's possible to emulate in js99er.net. At the moment I'm only supporting changes the the PSG registres roughly every VDP frame, which is way off for sampled sound to work.

That's what I used to do too. I stole an idea that a friend of mine used for his Atari 8-bit emulator. Basically, just generate a frame's worth of audio at a time.

 

In Classic99 I didn't want to mess with the existing channels much, so I set up an extra buffer that I called the DAC buffer. If a channel's frequency is set higher than a cutoff value, I treat it as a DAC output instead, and fill the DAC buffer based on the cycle count and volume level. (As a bonus, I also use this channel for WAV file playback for cassette and the single-bit ticks from the cassette audio gate, like Perfect Push uses).

 

This isn't 100% accurate, of course, because we lose the high frequency "carrier" of the square wave, but the real thing doesn't sound much worse (and we'd need 90-100KHz of audio generation to reproduce it accurately, only to find that the TI's audio out circuit muddies it anyway ;) ).

 

You'll find the handling code in sound.cpp, updateDACBuffer(). It takes in the number of CPU cycles and uses that to decide how many samples in the buffer to update. At the end of the frame sound_update() merges it in with the generated output for playback.

  • Like 2
Link to comment
Share on other sites

At this point I have no clue what I'd use it for, but this special cartridge (new hardware) that is required for Dragon's Lair... will it also be sold separately in the future for others to experiment with or fill up?

Not by me... I'm not a salesman. That's why I need someone to do the productization side for me ;)

 

Anyone can make their own, of course. The 128MB flash chips were getting harder to find, but last time I looked the (compatible) 64MB flash was still common enough. It's non-trivial, though, since you have to program the flash chip before you solder it down. That's going to be my biggest risk during assembly.

 

You could make a test board like I did with a socket, but the flash pins are pretty fragile and only good for a dozen cycles or so, if you're really careful. I broke a few just testing back and forth.

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...