Jump to content
  • entries
    657
  • comments
    2,692
  • views
    898,349

Progress on game screen


SpiceWare

1,509 views

Player0 and Player1 reposition kernels have been rewritten, but are not yet being tested so the test pattern goes straight down. Still need to redo the reposition kernels for the missiles and ball.

The score/radar/lives/formation routines are functional. If you change the QUADRANT and/or SECTOR in the menu the correct station layout will appear in the radar. For testing the score will increment, lives decrement, the enemy formation is flying in a circle, and the player's ship moves southeast.
blogentry-3056-0-11141200-1489888363.png

 

Left Difficulty = A for alphanumeric test:
blogentry-3056-0-87883400-1489888398.png

 

Additionally alex_79 reported that SECAM consoles have a different clock rate than the others:

  • 1.193182 NTSC
  • 1.182298 PAL
  • 1.187500 SECAM


So I was able to revise the TV-TYPE detection to handle it as well.

NTSC
blogentry-3056-0-56365300-1489888628.png

PAL
blogentry-3056-0-67140200-1489888633.png

SECAM
blogentry-3056-0-62727200-1489888637.png

How that works is I use one of the timers in the Harmony/Melody to see how long it takes a single 262 scanline frame to be drawn. At 76 cycles per scanline that's 19,912 total. The Harmony's clocked at 70 MHz, so it's timer will count much faster:

  • NTSC = 19912 * 70 / 1.193182 = 1,168,170 = 0x11D32A
  • PAL = 19912 * 70 / 1.182298 = 1,178,924 = 0x11FD2C
  • SECAM = 19912 * 70 / 1.187500 = 1,173,760 = 0x11E900


The values are off by one from the screenshots due to how the emulation of the ARM timer works in Stella, which results in round-off errors. The values you see on your Atari will most likely differ slightly due to minor variances in hardware.

draconian_20170318.bin

  • Like 1

5 Comments


Recommended Comments

The console detection is cool - I never expected it to work :)

 

I'm not keen on the chunky PF text at the bottom - it is probably possible to do better using RESPx tricks. What are the constraints, i.e. how many digits do you need for the score & lives, and what is the width of the scanner?

 

Chris

Link to comment

Yeah, turned out way better than I thought it would as I assumed SECAM used the same clock as PAL. I didn't immediately grasp ZackAttacks recommendation as I didn't realize there were timers in the ARM.

I dunno if RESPx tricks will work, bottom area's showing a lot of info in a compact vertical area (Draconian's my smallest game, leaving more scanlines worth of time in VB and OS for game processing):

  • Condition Green, Yellow, Red. The divider line and frame of the radar
  • Score 7 digits (only 6 needed, 7th was free due to having to update PF0 anyway)
  • 3 color radar - shows stations, player, location of formation
  • Reserve Lives
  • 2 color Formation Attack Pattern

You can see most of on the right in the arcade :
Bosconian_screen2.gif

Though the condition indicator is never onscreen at the same time as the Formation Attack display:
Bosconian_title.png

(images from StrategyWiki's Bosconian pages)

 

 

3 color radar is both players overlapping and the ball to show the player's position. Ball has priority so it appears over other objects. The players are colored green and red, the ball white. The players are also HMOVE shifted and colored the condition color to draw the radar frame at the top/bottom of the radar.

 

2 color formation display is accomplished by 2 copies medium with a color change of the green player to yellow.

 

After those, there's just enough time left for 6 more updates, used to update the playfield for the 8 digits comprising the score & lives or the 10 character scrolling message for the not yet implemented Computer Alerts (a voice alert in the arcade - I plan to support the AtariVox, but fall back to scrolling text for people without one).

 

In early builds of Draconian the condition indicator was a letter, though we abandoned that idea:

blogentry-3056-0-16862600-1396014967.png

 

When I first added the formations I alternated that display with the radar:

blogentry-3056-0-57181500-1413771586.png

 

 

But I didn't like glancing down to locate the next station to blow up but seeing the formation instead, so the last thing before the CDF reboot was figuring out that I could separate them, change the graphics, and do a color change of 1 of the players (just reused the radar's formation location red for the formation leader pink).

blogentry-3056-0-43034700-1413861663.png

Link to comment

Thanks for the explanation - I played with some ideas for the score kernel but I'm not getting anywhere. Using RESPx doesn't work because P0 and P1 need to overlap. The only way would be to display on alternate frames with flicker, but I suspect you don't want that. Given a choice of chunky PF text or flicker, I'd go with the chunky PF text.

 

Chris

Link to comment

Yep, wanted to avoid flicker. Nathan really impressed me with the PF Font he created, it minimizes the chunkiness. My font looked like this:

 

blogentry-3056-0-35407300-1400023546.png

 

I believe there can only be 1 enemy formation at a time, so the red dot for formation indicator could be drawn by the missile.

 

Most of the formations would work with line-by-line color changes, but there had to be one:

 

blogentry-3056-0-70346300-1413771612.png

Link to comment

You can see most of on the right in the arcade :

Bosconian_screen2.gif

 

Though the condition indicator is never onscreen at the same time as the Formation Attack display:

Bosconian_title.png

Hmm - maybe we should display the letter G, Y, or R when the formation's not up :ponder:

Link to comment
Guest
Add a comment...

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