+karri Posted November 27, 2023 Share Posted November 27, 2023 Hi @Ben from Plaion and @Albert Here is my suggestion for what to include in the dumper fix. The dumper creates a 128 byte header for the game and sends it to the ProSystem emulator. Currently the dumper picks a few bits from the ProSystem.dat to guess what the header should look like. Having a copy of this 128 byte header in the ROM would take out the guessing work. Simply let developers make a copy of the a78 header by adding the header at $FF00 in the game ROM. This is the logical place for it as the signature for NTSC carts is at $FF80. The cart would work correctly on a real Atari 7800 (NTSC) and thanks to the info in the ROM the dumper could send the correct settings to the emulator as well. If the data in the dumped rom has the data: (version_byte+'ATARI7800') at $FF00 the dumper just copies the 128 bytes from there and sends it to the emulator followed by the dumped game. If the (version_byte+'ATARI7800') is not there then the dumper goes back to guessing. Oh, and thanks for making a really modular and elegant 2600+. The more I have played with it - the more I like it. Edit: I just added a small example file with the header in the ROM. The end of the file with the header, the signature and the vectors: 007f80 004 A T A R I 7 8 0 0 \0 \0 \0 \0 \0 \0 007f90 \0 E x a m p l e \0 \0 \0 \0 \0 \0 \0 \0 007fa0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 007fb0 \0 \0 \0 200 \0 \0 \0 001 001 \0 \0 \0 \0 \0 \0 \0 007fc0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 007fd0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 007fe0 \0 \0 \0 \0 A C T U A L C A R T 007ff0 D A T A S T A R T S H E R E 008000 \t 245 300 324 321 \b 031 \r 253 340 307 ! 326 I 375 [ 008010 265 3 210 ' 367 211 ^ ' L 370 B & > n 207 227 008020 257 W 314 346 5 266 220 303 344 | d 355 V 016 300 017 008030 352 367 255 022 ~ 301 036 277 ? 367 360 257 N 247 313 0 008040 1 W b 203 332 \a P 371 257 | \ 204 i 365 230 276 008050 311 354 \v 270 266 A [ 373 ! + 250 016 006 276 O 374 008060 263 332 201 s y O + \f 344 211 177 275 4 017 + C 008070 204 210 024 356 235 m 310 306 377 207 ` 200 \0 200 a 200 Example.a78 Quote Link to comment Share on other sites More sharing options...
Ben from Plaion Posted November 27, 2023 Share Posted November 27, 2023 11 hours ago, karri said: Hi @Ben from Plaion and @Albert Here is my suggestion for what to include in the dumper fix. The dumper creates a 128 byte header for the game and sends it to the ProSystem emulator. Currently the dumper picks a few bits from the ProSystem.dat to guess what the header should look like. Having a copy of this 128 byte header in the ROM would take out the guessing work. Simply let developers make a copy of the a78 header by adding the header at $FF00 in the game ROM. This is the logical place for it as the signature for NTSC carts is at $FF80. The cart would work correctly on a real Atari 7800 (NTSC) and thanks to the info in the ROM the dumper could send the correct settings to the emulator as well. If the data in the dumped rom has the data: (version_byte+'ATARI7800') at $FF00 the dumper just copies the 128 bytes from there and sends it to the emulator followed by the dumped game. If the (version_byte+'ATARI7800') is not there then the dumper goes back to guessing. Oh, and thanks for making a really modular and elegant 2600+. The more I have played with it - the more I like it. Edit: I just added a small example file with the header in the ROM. The end of the file with the header, the signature and the vectors: 007f80 004 A T A R I 7 8 0 0 \0 \0 \0 \0 \0 \0 007f90 \0 E x a m p l e \0 \0 \0 \0 \0 \0 \0 \0 007fa0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 007fb0 \0 \0 \0 200 \0 \0 \0 001 001 \0 \0 \0 \0 \0 \0 \0 007fc0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 007fd0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 007fe0 \0 \0 \0 \0 A C T U A L C A R T 007ff0 D A T A S T A R T S H E R E 008000 \t 245 300 324 321 \b 031 \r 253 340 307 ! 326 I 375 [ 008010 265 3 210 ' 367 211 ^ ' L 370 B & > n 207 227 008020 257 W 314 346 5 266 220 303 344 | d 355 V 016 300 017 008030 352 367 255 022 ~ 301 036 277 ? 367 360 257 N 247 313 0 008040 1 W b 203 332 \a P 371 257 | \ 204 i 365 230 276 008050 311 354 \v 270 266 A [ 373 ! + 250 016 006 276 O 374 008060 263 332 201 s y O + \f 344 211 177 275 4 017 + C 008070 204 210 024 356 235 m 310 306 377 207 ` 200 \0 200 a 200 Example.a78 32.13 kB · 0 downloads 7800 emulation and dumper is being worked on at this moment. I'll post more when I have something concrete. 2 3 Quote Link to comment Share on other sites More sharing options...
+karri Posted December 20, 2023 Author Share Posted December 20, 2023 Some sound chips have write-only registers and may be mapped to the same addresses as fixed ROM. Detecting these chips is almost impossible. I wonder if you could give some consideration to the idea of including a copy of the header in the game rom in a fixed place. That should not be hard to implement in the dumper and it would give developers a method to ensure that the game works on the 2600+ as intended. The whole point of a 7800 header is to set the bits right for the emulator. Quote Link to comment Share on other sites More sharing options...
Ben from Plaion Posted December 20, 2023 Share Posted December 20, 2023 45 minutes ago, karri said: Some sound chips have write-only registers and may be mapped to the same addresses as fixed ROM. Detecting these chips is almost impossible. I wonder if you could give some consideration to the idea of including a copy of the header in the game rom in a fixed place. That should not be hard to implement in the dumper and it would give developers a method to ensure that the game works on the 2600+ as intended. The whole point of a 7800 header is to set the bits right for the emulator. My understanding is that the guys working on the 7800 emulation and dumper update are the best. Albert hooked me up with them. But I've still yet to see it as a complete package, well 2 packages, one main board IMG and a dumper chip EXE. Development has finished and Firmware is being compiled at the moment with their work merging with what the factory have done on the 2600 side and general system stuff. 6 4 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.