Jump to content
IGNORED

Movie Cart


rbairos

Recommended Posts

4 hours ago, RevEng said:

It's basically a "cart isn't inserted" check. Due to bus capacitance causing a bit of hang-time on the last driven data bus value (when there's nothing driving the bus anymore) a naive check for no cart rom (e.g. look for all FF, look for all 0, check the same location many times, etc) often fails to actually catch a no cart rom condition. That last-driven value is usually the last byte of the opcode's operand. By using a different base address but reaching the same final address with different indexes, gcc forced the last-driven value to be different.


Ah okay, now I understand.
So updating the 7800 BIOS looks to be a major surgery, definitely not consumer plug-n-play friendly.
Sounds like what I need to do is Make FE-- output a constant zero or something until the kernel is first activated.

That should work right?  
 

Link to comment
Share on other sites

Great! I am happy to test this on my 7800 PAL. As I am going to have small Furnace Tracker workshops at eJagfest I was planning to run small video clips on MovieCart on my 7800 PAL with the original tunes I will be converting to TIA game music.

Like:

And how they sound on a TIA.

 

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, Thomas Jentzsch said:

You must tell the emulator to use PAL colors. 

Thanks! I got all 3 videos to work with correct colours.

- NTSC worked by default

- PAL 50Hz worked by choosing MVC and PAL in GameSelection

- PAL 60Hz also needed the tick box in autodetect PAL60 palette

Link to comment
Share on other sites

On 10/7/2024 at 9:03 PM, RevEng said:

I know the PAL bios comments say that, but it's not quite what it's doing. It's comparing FE00-FE7F to itself using two different base addresses, and indexes set to compensate. If the compared values don't match, then it jumps to the internal game.


Okay, so I found the bios listing for PAL that I think is the original implementation of what you describe above:
 

;Runs at 2307
;Check if there is a cartidge in the slot
FEAB: A9 16      lda  #$16    ;Enable cartridge
FEAD: 85 01      sta  $01    ;
FEAF: A0 FF      ldy  #$FF    ;Compare FE00-FE7F with FE80-FF00
FEB1: A2 7F      ldx  #$7F    ;if they aren't the same start Asteroids
FEB3: BD 00 FE   lda  $FE00,x    ;
FEB6: D9 80 FD   cmp  $FD80,y    ;
FEB9: D0 E9      bne  $FEA4    ;
FEBB: 88         dey          ;
FEBC: CA         dex          ;
FEBD: 10 F4      bpl  $FEB3    ;


However what does '2307' mean here?
It looks like it resides in FEA- to FEB-..
Does that mean I can't drive that range of addresses with my own ROM code?

What does happen if there is periodic bus contention in these cases? Is it dangerous?

Thanks.

Link to comment
Share on other sites

If I understand this correctly so:

$FE00,7F = FE7F
$FD80,FF = FE7F

 

So both ways to get to the byte are the same. If there is a cart then the value is the same. If there is just a floating bus then the values differ and you can start Asteroids.

Link to comment
Share on other sites

Just now, karri said:

If I understand this correctly so:

$FE00,7F = FE7F
$FD80,FF = FE7F

 

So both ways to get to the byte are the same. If there is a cart then the value is the same. If there is just a floating bus then the values differ and you can start Asteroids.

Right, that part I understand, but the code doing the bios testing is itself is in :  FEAB for example.

Does that mean a cart can't have code in  FEAB ?
which byte goes on the BUS,    the cart's FEAB or the BIOS's FEAB ?
The bios listing I found goes from FE3D to FEFA, overlapping with the cart region its testing?
 

Link to comment
Share on other sites

54 minutes ago, karri said:

I believe that "runs at 2307" means that the code is copied in RAM and run from there.

Hmmmm.
I do notice the bpl and bne use relative addressing.
If that's the case, then I think I may have a 7800 PAL  solution forthcoming.
 

  • Like 1
Link to comment
Share on other sites

5 hours ago, karri said:

I believe that "runs at 2307" means that the code is copied in RAM and run from there.

One more question.
What about the region check?
Something MovieCart needs to worry about ?
Those were only enforced for PAL ?
Can I just define a specific values in FFF8/FFF9 to make it look like PAL always?
Thanks

 

Link to comment
Share on other sites

2 hours ago, rbairos said:

One more question.
What about the region check?
Something MovieCart needs to worry about ?
Those were only enforced for PAL ?
Can I just define a specific values in FFF8/FFF9 to make it look like PAL always?
Thanks

 

You don't need to worry about that check, since you're looking to run in 2600 mode. The region byte is checked to see if running in 7800 mode should be rejected.

  • Like 1
Link to comment
Share on other sites

@rbairos mentioned this earlier in the thread, but I was the one who was having issues with stuttering and skipping in movie playback with the introduction of the multi movie selection being added in. However, it seems that the SDcard I was using in my movie cart was the culprit. Last night while testing for issues related to SDcards for a completely different console, I decided to try using one of my higher quality Lexar brand SDcards on my movie cart and sure enough, the stuttering video and audio issues I was getting don't seem to be present anymore.

Link to comment
Share on other sites

On 10/21/2024 at 10:54 AM, -^CrossBow^- said:

@rbairos mentioned this earlier in the thread, but I was the one who was having issues with stuttering and skipping in movie playback with the introduction of the multi movie selection being added in. However, it seems that the SDcard I was using in my movie cart was the culprit. Last night while testing for issues related to SDcards for a completely different console, I decided to try using one of my higher quality Lexar brand SDcards on my movie cart and sure enough, the stuttering video and audio issues I was getting don't seem to be present anymore.


That's good to know.
I'm also having trouble securing reliable SD cards recently.
I did find a batch of name-brand that works well though.
I suspect the published specs on some sources aren't always accurate.
 

Link to comment
Share on other sites

Just now, rbairos said:


That's good to know.
I'm also having trouble securing reliable SD cards recently.
I did find a batch of name-brand that works well though.
I suspect the published specs on some sources aren't always accurate.
 

Yes... I've actually purchased more of those Lexar SDcards. They still have issues using them in my Jaguar GD cart but seem great for everything else.

 

  • Like 1
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...