Madhatter #101 Posted November 19, 2015 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: megacardmenu_v2_2_TEST_pal.asm megacardmenu_v2_2_TEST_ntsc.asm In Stella, works ok, but in actual hardware, no. Maybe someone can fix this ... 1 Quote Share this post Link to post Share on other sites
alex_79 #102 Posted November 19, 2015 (edited) Try this one: megacardmenu_v2_2_TEST_ntsc_vsync_fix.asm Edited November 19, 2015 by alex_79 Quote Share this post Link to post Share on other sites
Madhatter #103 Posted November 20, 2015 Try this one: megacardmenu_v2_2_TEST_ntsc_vsync_fix.asm Not work... No vsync Quote Share this post Link to post Share on other sites
DrWho198 #104 Posted November 20, 2015 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. Quote Share this post Link to post Share on other sites
alex_79 #105 Posted November 20, 2015 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. Quote Share this post Link to post Share on other sites
alex_79 #106 Posted November 20, 2015 @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. Quote Share this post Link to post Share on other sites
DrWho198 #107 Posted November 20, 2015 (edited) 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 November 20, 2015 by DrWho198 Quote Share this post Link to post Share on other sites
alex_79 #108 Posted November 20, 2015 ... 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. Quote Share this post Link to post Share on other sites
Madhatter #109 Posted November 20, 2015 Fix2 not work in my TOSHIBA CRT 21" NTSC Made in USA. We need another ntsc tester... Quote Share this post Link to post Share on other sites
DrWho198 #110 Posted November 20, 2015 can you give examples of games that do work? maybe we can mimic the timing. Quote Share this post Link to post Share on other sites
alex_79 #111 Posted November 21, 2015 Another test. This time I increased the Vertical Blank period at the start of the frame.megacardmenu_v2_2_TEST_ntsc_vsync_fix3.asm megacardmenu_v2_2_TEST_ntsc_vsync_fix3.bin Quote Share this post Link to post Share on other sites
Madhatter #112 Posted November 21, 2015 fix3 is perfect! Finally, the american TV display the menu! Soon more info, thanks Alex Quote Share this post Link to post Share on other sites
alex_79 #113 Posted November 21, 2015 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). Quote Share this post Link to post Share on other sites
DrWho198 #114 Posted November 21, 2015 (edited) 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 November 21, 2015 by DrWho198 Quote Share this post Link to post Share on other sites
alex_79 #115 Posted November 21, 2015 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! Quote Share this post Link to post Share on other sites
alex_79 #116 Posted November 22, 2015 Here is version 2.3 with the VSYNC changes applied:megacardmenu_v2_3.asm Quote Share this post Link to post Share on other sites
freshbrood #117 Posted May 4, 2016 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? Quote Share this post Link to post Share on other sites
+iesposta #118 Posted May 4, 2016 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. Quote Share this post Link to post Share on other sites
alex_79 #119 Posted May 4, 2016 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). 1 Quote Share this post Link to post Share on other sites
freshbrood #120 Posted May 4, 2016 (edited) 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 May 4, 2016 by freshbrood Quote Share this post Link to post Share on other sites
Thomas Jentzsch #121 Posted May 4, 2016 16k with extra RAM was pretty common (e.g. Dig Dug; Crystal Castles, Millipede, Jr. Pac Man, Defender II). Quote Share this post Link to post Share on other sites
Shawn #122 Posted May 4, 2016 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!! Quote Share this post Link to post Share on other sites
Gtronix #123 Posted August 22, 2016 (edited) It's Alive! Thanks DrWho198 for the PCB. Thanks Blinky for the great project. Edited August 22, 2016 by Gtronix 1 Quote Share this post Link to post Share on other sites
arturfreddy #124 Posted September 11, 2016 (edited) 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. Edited September 11, 2016 by arturfreddy Quote Share this post Link to post Share on other sites
arturfreddy #125 Posted September 11, 2016 (edited) Sorry, there was a mistake in the scheme. Here is the corrected scheme (74HCT02). Edited September 11, 2016 by arturfreddy Quote Share this post Link to post Share on other sites