Jump to content
IGNORED

Movie Cart


rbairos

Recommended Posts

2 hours ago, Andrew Davie said:

Here's the latest. I've played with saturation and tweaked a few other things. Perhaps too bright.

But I have to say I never thought I'd see this sort of quality on the '2600 for video.  It's astounding.

 

 

As an aside: YouTube detected a copyright claim/breach on the Thin Lizzy song "Boys are Back in Town" so I guess that says a bit about the audio quality - at least recognisable to an algorithm :)

 


Well I wouldn't crack open the champagne yet..
I'm reviewing pixel by pixel on the background option, and finding 2 colors per cell, instead of one for some cells.
Investigating..

  • Like 1
Link to comment
Share on other sites

6 minutes ago, rbairos said:


Well I wouldn't crack open the champagne yet..
I'm reviewing pixel by pixel on the background option, and finding 2 colors per cell, instead of one for some cells.
Investigating..

Okay false alarm. I was experimenting with alpha in the node viewers, and a default grey checkerboard pattern was seeping through.
Nothing to do with the encoder.
Back to breathing again..
 

Link to comment
Share on other sites

I've added the new kernel binary to Gopher2600 and made the necessary changes to the emulation. Looks pretty good I think! The recorded video is adding additional compression artefacts, but even so I'm particularly impressed with how the mouth movement is visible with this new method. Good job @rbairos

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

40 minutes ago, Omegamatrix said:

Have you considered enabling VBLANK to hide the left and right side distortion? That's how we did it in the Parrot Kernel thread.

 

 

Hm. very interesting thread. Not sure I followed though.
Doesn't messing with Vblank cause the raster beam to shoot back up to the top early?
Also good reminder I should be using a proper color space in my search.
 

Link to comment
Share on other sites

4 hours ago, rbairos said:

Hm. very interesting thread. Not sure I followed though.
Doesn't messing with Vblank cause the raster beam to shoot back up to the top early?
Also good reminder I should be using a proper color space in my search.
 

 

Enabling VBLANK is quite flexible and a good way of adding video-black to the image. From memory Custer's Revenge does this, as well as one of the recent Donkey Kong ports. Didn't know about the Parrot Kernel but yes, that's probably the best example in relation to movie cart. If you can find the CPU time to do this it would make the project even better I think.

  • Like 1
Link to comment
Share on other sites

11 hours ago, JetSetIlly said:

 

Enabling VBLANK is quite flexible and a good way of adding video-black to the image. From memory Custer's Revenge does this, as well as one of the recent Donkey Kong ports. Didn't know about the Parrot Kernel but yes, that's probably the best example in relation to movie cart. If you can find the CPU time to do this it would make the project even better I think.


Still hunting for spare cycles.
Did a quick test where I only update audio every 2nd scanline for the visible 192 lines. (7.5 kHz)
To be honest, couldn't tell the difference.  (Even with overscan and vsync portions still updating at 15 kHz)

Probably blacking out the sides is worth dropping to 7.5 kHz, it seems.

 

Link to comment
Share on other sites

13 minutes ago, rbairos said:


Still hunting for spare cycles.
Did a quick test where I only update audio every 2nd scanline for the visible 192 lines. (7.5 kHz)
To be honest, couldn't tell the difference.  (Even with overscan and vsync portions still updating at 15 kHz)

Probably blacking out the sides is worth dropping to 7.5 kHz, it seems.
 

How will this affect the fill_addr_right_line() and fill_addr_left_line() functions?

Link to comment
Share on other sites

23 minutes ago, JetSetIlly said:

How will this affect the fill_addr_right_line() and fill_addr_left_line() functions?

Good question.
I'm skeptical I'll be able to find the cycles to do this vblanking the more I think about it.
I'd have to turn it on and off in each of those.
 

Link to comment
Share on other sites

I thought this would be an excellent contemporary song, with a challenge to render because of the colours.

IMHO it came out great!

 

 

Edit:  I just noticed that YouTube is showing this at 30 Hz.

The original is better - see the screenshots below...

 

402066154_ScreenShot2021-09-10at6_01_35pm.thumb.png.550aa15c32b59a4a9499e573a389850c.png

 

 

1805733150_ScreenShot2021-09-10at6_02_31pm.thumb.png.3f7993fb5c84117fa6177459cda0ceb7.png

 

888607448_ScreenShot2021-09-10at6_02_11pm.thumb.png.f6a4cdfba8e592710c743a9edf6c785e.png

Edited by Andrew Davie
  • Like 5
Link to comment
Share on other sites

For the sake of completeness, I had to see what the SECAM version would look like.

The algorithm is remarkably robust, given it's just got 8 colours (no shades) to choose from.

Unfortunately YouTube feeds this at 30 Hz, but it does look much better at 60 Hz.

 

 

Edited by Andrew Davie
  • Like 5
Link to comment
Share on other sites

Could the display be switched to using mirrored playfield?

Then you'd keep PF0 and some of PF1 blank, and get rid of the side stuff. The downside would be that the checkerboard pattern in the very middle would be two squares wide, and perhaps noticeable. I think its worth a try, though.

Link to comment
Share on other sites

11 minutes ago, Andrew Davie said:

Could the display be switched to using mirrored playfield?

Then you'd keep PF0 and some of PF1 blank, and get rid of the side stuff. The downside would be that the checkerboard pattern in the very middle would be two squares wide, and perhaps noticeable. I think its worth a try, though.

Is there a summary how the picture is currently created? I know about the 10 flickering sprites, each having its own color. But how are playfield and background (colors) involved?

Link to comment
Share on other sites

8 minutes ago, Thomas Jentzsch said:

Is there a summary how the picture is currently created? I know about the 10 flickering sprites, each having its own color. But how are playfield and background (colors) involved?

Playfield and background show through the gaps in the player sprites.

Link to comment
Share on other sites

1 hour ago, JetSetIlly said:

Playfield and background show through the gaps in the player sprites.

So the playfield gets a fixed pattern? Colors seems to be updated for BK every line, for PF per frame. Correct? 

 

That means all 4 colors are in use. If none of them is set to permanent black, you cannot hide the background color changes. That leaves VBLANK (two extra TIA writes) or changing the BK (or PF) color twice per line (one extra TIA write). All writes have to be timed perfectly, I doubt this is possible. Also the current kernel seems to have only 2 cycles every 2 scanlines free, unrolling would add another 5 cycles every 2 scanlines. But 2 writes in 2 scanlines need 10 cycles.

 

Edited by Thomas Jentzsch
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...