Re: Cinemenu results...(Zonn?)

From: Zonn <zonn_at_zonn.com>
Date: Thu Mar 26 1998 - 13:45:46 EST

On Thu, 26 Mar 1998 13:02:27 -0500 (EST), Paul Kahler <phkahler@Oakland.edu>
wrote:

>Zonn could you offer a suggestion?
>
>Clay wrote:
>> Fired up Paul's menu code on real Cinematronics hardware last night.
>> Pretty close.
>>
>> What I get is a mostly blank screen with (basically):
>>
>> * CINEMATP
>>
>> across the top.
>>
>> The asterisk is a little funky looking-- three lines, but they don't all
>> cross at the center. The top left of the "C" doesn't quite match up.
>> The rest of the letters look nice. (The N and M in particular-- nice
>> diagonal lines. Maybe I like the Cinematronics vector generator more
>> than I thought. ;-) There is a faint line connecting the bottom of the
>> "C" to the top right of the "E".
>
>First of all, the correct dispay would be:
>
>* CINEMATRONICS *
>
> SELECT
> ARMOR ATTACK
>
> MULTIGAME
>
>I'm not sure why some of the letters would draw and others not. All I can
>guess is that the watchdog is causing it to reset and start over before
>the first word is even done (middle of the letter R). I just checked Zonn's
>docs on the watchdog (our emulator doesn't have it) and he says it runs at
>76 Hz. I thought it was ~38Hz and I don't see how it could expire before
>the first word (even at 76Hz).

Ok, I admit, that number is a kludge. The schematics look like 38hz, yet to
synchronize the game to realtime I had to use 76hz. I've triple checked my
timing routines (even using a stop watch). 76hz. I probably should just get
out a scope and try to figure things out, but I haven't...

>Ya, my font is quite large but still...
>One other possibility is that something strange is going on with the
>Normalize instruction (LLT is Zonn speak). Perhaps I accidently slipped
>a zero-length line in the letter R by accident - That should hang the
>CPU and reset it.

That would also be my guess.

When you reset the watchdog timer and then wait for the tick counter do you
place two "Wait for interrupt - WAI" instructions in a row? Except for Space
War (which is a weird game software wise) most games seem to double up this
instruction. I presumed it was to get a nice 38hz refresh rate. But maybe it's
somewhere in this area that's confused me. Like the interrupt really is 38hz
but the first wait is ignored, or the first WAI instruction sets up something
for the next?

The other thing I didn't understand is that it looks like two ticks of the
watchdog timer should reset the board, yet most games reset the watchdog timer,
then wait for two ticks before resetting it again. I would have guessed the CPU
board to reset on the 2nd tick, and would obviously have been wrong. So there
is definitely something about that part of the hardware I don't fully
understand. All I know is that when I treat each 'wait for interrupt'
instruction as a 76hz interrupt everything runs at the right speed...but like I
said if the first one is ignored for some reason...

If your not doing this, try what I believe Star Castle does when it clocks
itself:

   Reset the watchdog
   Wait for interrupt
   Wait for interrupt
   Reset the watchdog

And assume a 38khz refresh. The reset watchdog and the wait for interrupt might
be somehow be combined in hardware (there's a lot of flip/flops in that part of
the schematic).

-Zonn

<><><><><><><><><><><><><><><><><><><><><><><><><><><><

 ------ ___ Member of A.A.C.S.:
 |---- | ( ) Association for Artistically
    / / ( () ) Challenged Signatures
   / / //\\ // (__)
  / ---/ // \\ //\\ // zonn @ zonn . com
 -------| // \\/
Received on Thu Mar 26 10:45:27 1998

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:31:51 EDT