Jump to content
IGNORED

Full resolution Horizontal Scrolling PF - testers needed


ZackAttack

Recommended Posts

I think I've achieved horizontal playfield scrolling with via bus stuffing and the Strong-ARM driver. If you have a harmony cartridge please try it out.

 

Current Version:

Cherry-Tree-Scroll3.bin - 1/25/18 Optimized driver with lookup table and self modifying ARM code, fixed graphic data glitch

 

Past Failures:

Cherry-Tree-Scroll2.bin - 1/6/18 disables VBLANK during stuff detection because collision registers won't be set if VBLANK is enabled.

Cherry-Tree-Scroll.bin

 

Not supported in emulators yet. Here's what it looks like for those who don't have a harmony cart.

 

 

post-40226-0-50034500-1515218906_thumb.png

 

 

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

Apart from the very first line, this is scrolling just like Scramble Arcade and Super Cobra Arcade.

I thought with the power of BUS that I was going to see a 1/2 pixel scroll or 2 color clocks, instead of the usual 4 Color clock wide playfield pixel.

 

Fine 1-pixel horizontal play field scrolling was shown to work, however only on normal CRT televisions.

Ones like SONY WEGA that processed the signal a lot \would only scroll 3 or 2 of the 4 pixels.

 

Further testing would be needed, but I think a 1/2 pixel scroll would work on most if not all displays.

I tried to get 1/2 PF pixel scroll into Super Cobra Arcade and Mappy, but they are really pushing the display per scan line without having to worry about moving the screen a 1/2 playfield pixel by outputting an even more off-spec signal.

Link to comment
Share on other sites

eshu did perfect 1-pixel horizontal playfield scrolling in this thread:

http://atariage.com/forums/topic/224946-smooth-scrolling-playfield-i-think-ive-done-it/page-5?do=findComment&comment=2985911

 

At the end he did post a 2-pixel scroll, and it did work on my Sony WEGA, which did not like the 1-pixel scroll that worked so well on a Zenith.

Link to comment
Share on other sites

Apart from the very first line, this is scrolling just like Scramble Arcade and Super Cobra Arcade.

I thought with the power of BUS that I was going to see a 1/2 pixel scroll or 2 color clocks, instead of the usual 4 Color clock wide playfield pixel.

 

Fine 1-pixel horizontal play field scrolling was shown to work, however only on normal CRT televisions.

Ones like SONY WEGA that processed the signal a lot \would only scroll 3 or 2 of the 4 pixels.

 

Further testing would be needed, but I think a 1/2 pixel scroll would work on most if not all displays.

I tried to get 1/2 PF pixel scroll into Super Cobra Arcade and Mappy, but they are really pushing the display per scan line without having to worry about moving the screen a 1/2 playfield pixel by outputting an even more off-spec signal.

Thanks for testing. Sorry there's not really anything visible to indicate the power of bus stuffing here. This is going to be an engine for a fighting game so fine scrolling wouldn't really benefit it much. The next step will be to add in the sprites, that's when we'll get to see something that's only possible with bus stuffing. What's really cool about this demo is how little resources are consumed to achieve the scrolling playfield. I use less than one scanline worth of vblank to precalculate a few offsets and the rest of the calculations are done while the screen is being drawn. The ARM is hard at work shifting bits around in between servicing the 6507 bus. All that remaining vblank and overscan time should make it possible to have more expensive audio, physics, and AI.

 

No dice, and it didn't really improve after ~20 minutes of warmup.

attachicon.gifcherry-00.jpg

Funny story. After looking into this some I realized that the collision registers won't be set if vblank is enabled. So enabling vblank to hide the detection phase ended up completely breaking it. I disabled vblank and set the color of everything to black instead. Please give version 2 a try, it should work much better. Thanks!

Link to comment
Share on other sites

Yes I agree it is all quite difficult.

The Playfield is only a 20-bit register, which duplicated makes 40 wide pixels.

It is easy to duplicate and mirror the left side.

To make the right side different, the data has to be changed during the drawing of the scan line.

 

The Playfield is broken into a 3 sections.

A 4-byte nybble PF0, then 8-bytes going one way PF1, then 8-bytes going the opposite way PF2.

So getting that mess to all move left, even at the Playfield's 4-wide pixel, is quite a challenge.

 

Good job!

  • Like 1
Link to comment
Share on other sites

I think version 2 is a success- to clarify, there is an odd little section between the two mountains, but otherwise it scrolls and displays correctly on my problematic Jr. I think that's just where you were probably filling in a bit of playfield data to make it an even number or something.

  • Like 1
Link to comment
Share on other sites

Hmm. Version 2 crashes immediately for me and produces a video signal like as if the Atari were turned on without a cartridge.

I suppose I'll clean the contacts and try loading the demo from a different SD card tomorrow.

 

That's very surprising since the change from version 1 is so small. I don't really see anything that could have changed the timing enough to cause a crash. Sometimes I pull the SD card out of the computer too quickly without ejecting it and it corrupts the bin file and produces the same results. Could that have happened?

Link to comment
Share on other sites

  • 2 weeks later...

Hmm. Version 2 crashes immediately for me and produces a video signal like as if the Atari were turned on without a cartridge.

I suppose I'll clean the contacts and try loading the demo from a different SD card tomorrow.

 

Can you try version 3? If that doesn't work can you try this test program too?

 

strong-arm-optimized.bin

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