Jump to content
Blinky

Cheap 2K/4K X-in-1 menu driven Multicart for Atari 2600

Recommended Posts

Tests on real hardware.

I made a wired multicart 64/128KB, and tried some roms.

All ok, it works, change to the games, and the games run perfect, but the menu remains PAL, and does not work on a NTSC console and TV.

Video:


I put the NTSC mode properly, here it is the code:




In Stella, works ok, but in actual hardware, no.


Maybe someone can fix this ...

  • Like 1

Share this post


Link to post
Share on other sites

I can not help you with that one. I live in PAL region, and a although I do have a NTSC a2600 and my TV is compatible with NTSC, the tv is compatible with PAL aswell. These kind of TV's are generally happy with most of what you throw at them. You need help from someone with good knowlage of NTSC and who can do testing on NTSC. The number of scanlines is correct and stable at 262. I have too little knowlage of the syncing sequence to understand why this screen is still rolling.

Share this post


Link to post
Share on other sites

Another try....

megacardmenu_v2_2_TEST_ntsc_vsync_fix2.asm

 

P.S. I think the problem is the VSYNC timing. In the previous version I changed the code so that the Vertical SYNC is strobed at the start of a scanline, else some TV set do not sync the signal (this also happens on some original games). Now I made the Vertical Blanking to start earlier during the frame, as I remember from old discussionc that this also could cause similar problems.

Share this post


Link to post
Share on other sites

@DrWho198

 

I also have a PAL TV which is picky about the SYNC timing. Unfortunately is in storage so I cannot test the rom with it but I'll do as soon as I can.

Share this post


Link to post
Share on other sites

Thanks for the help alex, I wish I knew more details of what a TV expects, I've read the common stuff about building up a frame, but I feel that TV's are more picky than this. An option in stella that would show at what point the sync is being send would also be of great help.

If you manage to get the screen stable then we should adapt the Original code to a v2.3

Edited by DrWho198

Share this post


Link to post
Share on other sites

... An option in stella that would show at what point the sync is being send would also be of great help.

 

You can use traps or breakpoints in the debugger for that. For example if you set "trapwrite VSYNC", execution will stop each time something is written to VSYNC. Note that current stella version has a bug that resets the scanline count to 0 whenever a trap or a breakpoint is hit. I downgraded to previous version (4.6.6) until the bug is fixed.

post-10599-0-78316900-1448025405_thumb.png

Share this post


Link to post
Share on other sites

Glad it worked!

And thanks for testing on real hardware.

So the problem was the Vertical blank duration: It was 35 scanlines before and 38 in "fix3" version (The stella programming guide sets this to 37 scanlines).

Share this post


Link to post
Share on other sites

Again, great work Alex. I'm glad you jumped ontop of this project, because my knowledge is too imited and it would take me ages to find such a problem.

Do you mind making this change to the menu and making it a v2.3 or v2.21?

Edited by DrWho198

Share this post


Link to post
Share on other sites

Sure. I just want to compile the source a few times using different settings and test it both on stella and real hardware first, just to be sure I didn't break something else while trying to fix the sync problem!

Share this post


Link to post
Share on other sites

What is the largest rom size for any Atari 2600 game? (NOT homebrew, but a retail cart)

 

Also, why is 32k with 4k banks the largest rom size available?

Share this post


Link to post
Share on other sites

What is the largest rom size for any Atari 2600 game? (NOT homebrew, but a retail cart)

 

Also, why is 32k with 4k banks the largest rom size available?

 

One Atari game was 32K, 1990 PAL Fatal Run. That's the largest retail ROM.

Buegertime from M-Network had the largest added cart RAM.

 

ROM can be any size, but the cheaper 6507 CPU has half the address lines (or half the data lines) as the more expensive 6502, so the largest bank size it can read at a time is 4K, not 8K like the 6502. The "Bad Apple" demo is 512K ROM. Zippy is a 64K home brew.

 

At least that is how I understand things to be.

Share this post


Link to post
Share on other sites

The 6507 has 13 address lines which allow 8k of memory to be directly addressed (standard 6502 has 16 lines / 64K).

The 2600 uses the highest address bit to select between internal (RAM, TIA and RIOT registers) and external (Cartridge) memory, so only 12 of those address lines are present on the cart connector, limiting the cart size to 4k without bankswitching.

They could have included all 13 address bits and use additional logic for address-decoding TIA and RIOT, allowing up to 7k-7.5k of rom space available, but rom was expensive at the time and 4k was considered enough for that application (Early 2600 games were 2k only).

  • Like 1

Share this post


Link to post
Share on other sites

Thank you for your replies.

 

More to the point, I'm wondering what the largest games on average were for the 2600 at the time it was still widely used. I'm in the process of making a game that realistically could have been made in the day, even if at the higher price range. (late 80's, etc..)

 

Would you guys agree that 8k would likely be the limit? Or were there a handful of games even at that time that exceeded that? (Such as Fatal Run..)

Edited by freshbrood

Share this post


Link to post
Share on other sites

16k with extra RAM was pretty common (e.g. Dig Dug; Crystal Castles, Millipede, Jr. Pac Man, Defender II).

Share this post


Link to post
Share on other sites

16k with extra RAM was pretty common (e.g. Dig Dug; Crystal Castles, Millipede, Jr. Pac Man, Defender II).

 

As well as Save Mary and one of my favorites, Shooting Arcade!! :)

Share this post


Link to post
Share on other sites

Some games, such as Qbert, Keystone Kapers, among other, possibly interfere with bankswitch address of the circuit, I found a simple solution that corrects this problem.

post-47443-0-84796200-1473616649_thumb.jpg

Edited by arturfreddy

Share this post


Link to post
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.

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