Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Apple » Apple II » Lo-Res Escape Demo
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Lo-Res Escape Demo [message #388851] Tue, 19 November 2019 11:13 Go to next message
Vince Weaver is currently offline  Vince Weaver
Messages: 136
Registered: April 2013
Karma: 0
Senior Member
Hello

I've finally posted the final version of my 32k Apple II "Lo-Res Escape"
demo that won 3rd place in the Retro Demo category at the
Demosplash 2019 Demoparty.

http://www.deater.net/weave/vmwprod/lores_escape/

It's all in Lo-res mode, but is using cycle-counting and beam racing
to switch between Page1/Page2 of Lores to get 40x48interlaced and
40x96 graphics. It also has a few examples where it can get up to 12
blocks across of 40x192 graphics by re-drawing the page as it is being
drawn in the 65 cycles between flipping pages.

The biggest struggle I had with this was the Mockingboard music. It was
tricky, as I am using my PT3 player. Which is fine in the interrupt-driven
part of the demo, but in the cycle-counted part I needed invariant music
playing and it turned out to be too complex to decode a PT3 file in a
cycle-invariant way. So the demo decodes the sound to a buffer then
plays it cycle-counted (at first to the language card, but later it
over-writes the code from the first half of the demo).

That was tricky getting the handoff between the two modes, but I got it
working and sounding great in both AppleWin and MAME. But it sounds
awful on real hardware.

Some of the bugs turned out to be counting on memory being initialized to
00 FF by AppleWin (uninitialized variable errors) but even if I set all
memory to known state I still hit the issues. It's bizzarre, I've even
verified that the exact same AY-3-8910 registers are being written on
real vs emulated, yet there are drop-outs and glitches on the real
Mockingboard (both on Apple IIe-platinum and Apple II+).

I thought it might be trying to play the music at 60Hz/1MHz but I have
a raspberry-pi driven AY-3-8910 board which can play the sound file fine
at 1MHz.

These are the reactivemicro mockingboard replica boards, but I'd assume
they are just like the originals. I guess there's a slim possibility
something is up with the AY-3-8912 chips on them, but it still is puzzling.

Anyway I gave up and released the demo with the so-so sound, I might take
a look at this again in a few months when I have some time again.

Vince
Re: Lo-Res Escape Demo [message #388895 is a reply to message #388851] Fri, 22 November 2019 16:31 Go to previous messageGo to next message
TomCh is currently offline  TomCh
Messages: 242
Registered: November 2012
Karma: 0
Senior Member
On Tuesday, 19 November 2019 16:13:19 UTC, vi...@pianoman.cluster.toy wrote:
> Hello
>
> I've finally posted the final version of my 32k Apple II "Lo-Res Escape"
> demo that won 3rd place in the Retro Demo category at the
> Demosplash 2019 Demoparty.
>
> http://www.deater.net/weave/vmwprod/lores_escape/
>
> It's all in Lo-res mode, but is using cycle-counting and beam racing
> to switch between Page1/Page2 of Lores to get 40x48interlaced and
> 40x96 graphics. It also has a few examples where it can get up to 12
> blocks across of 40x192 graphics by re-drawing the page as it is being
> drawn in the 65 cycles between flipping pages.
>
> The biggest struggle I had with this was the Mockingboard music. It was
> tricky, as I am using my PT3 player. Which is fine in the interrupt-driven
> part of the demo, but in the cycle-counted part I needed invariant music
> playing and it turned out to be too complex to decode a PT3 file in a
> cycle-invariant way. So the demo decodes the sound to a buffer then
> plays it cycle-counted (at first to the language card, but later it
> over-writes the code from the first half of the demo).
>

Vince - this looks & sounds great!


re. MB music
Have you seen what Grouik @ French Touch has done with cycle-counting & MB playback?

http://fr3nch.t0uch.free.fr/MADEF/MADEF.html (PAL/50Hz only)
http://fr3nch.t0uch.free.fr/MAD2/MAD2.html (PAL or NTSC)
(AppleWin 1.29.6.0 required)

In layman's terms:
.. 6522 timer int sync'd with start of video display + small tweak to get it precise
.. 192 lines of cycle-accurate video
.. next frame of music playback (variable duration)
.. wait for next timer int

Tom
Re: Lo-Res Escape Demo [message #388907 is a reply to message #388895] Sat, 23 November 2019 13:43 Go to previous messageGo to next message
Vince Weaver is currently offline  Vince Weaver
Messages: 136
Registered: April 2013
Karma: 0
Senior Member
On 2019-11-22, TomCh <tomcharlesworth26@gmail.com> wrote:
>
> In layman's terms:
> . 6522 timer int sync'd with start of video display + small tweak to get it precise
> . 192 lines of cycle-accurate video
> . next frame of music playback (variable duration)
> . wait for next timer int

for various reasons I'd prefer not to rely on the Mockingboard timers like
this, at least not for this particular demo.

In any case the sound issues I'm having I don't think are related to the
timings of things, but the hardware itself. I've ordered a MEGA Audio
board, it will be interesting to see how it sounds in comparison with
the Mockingboard.

Vince
Re: Lo-Res Escape Demo [message #389074 is a reply to message #388851] Thu, 05 December 2019 02:21 Go to previous message
Anonymous
Karma:
Originally posted by: Tom Porter

Vince I have the exact same problem you do with buzzing noises occasionally with my Midi2Mock software. My main 6 voice software, along with the special miniMock for Nox has buzzing with my MockT from A2heaven.com but testing in AppleWin, Virtual 2 and real vintage Mock hardware from the other devs, no buzzing is heard.

I ran across an article from the 2000's (I'm not sure if I saved it in my archives), stating that an internal reg on the chips has to be zeroed out in order for technical perfect sound, and it was usually perfectly calibrated on the original 80's chips, but with manufacturers being lazy, modern reproduced hardware from China (ect) this standard was not perfectly adhered to and the internal hardware setting is 'random', and not always zero, and can have inherent buzzing or other occasional randomness. This is what I recollect from the article and I'll try to dig up the info again and post it here if I can find it. -Tom
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Floppy Emu or other SD-based storage for Apple ///?
Next Topic: Previews to unreleased projects
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Apr 25 11:38:06 EDT 2024

Total time taken to generate the page: 0.05641 seconds