Jump to content

Bobo Cujo

New Members
  • Content Count

    79
  • Joined

  • Last visited

Community Reputation

117 Excellent

About Bobo Cujo

  • Rank
    Star Raider

Profile Information

  • Gender
    Male
  • Location
    California, USA

Recent Profile Visitors

526 profile views
  1. The Joy2B version of Hawkquest was never made in 1MB .xex form; it was only made available in .car (Atarimax cartridge) form. If that was made into an .xex, it would definitely explain why the game didn't boot 🙂 To my knowledge, I don't think non-Joy2B Hawkquest ever made it to an .xex version either... (for those wondering: I didn't make a Joy2B version of the original 4-disk version, since it lacks NTSC compatibility)
  2. Regarding Hawkquest Joy2B: There's two preceding "original" versions: 1) The original 4-disk version 2) The Atarimax 1MB(8mbit) cart version by @playsoft per this thread: @mytek @[email protected] Robot Did you try version #2 above, or just #1? Assuming that the non-Joy2B Atarimax cart version works and the Joy2B one doesn't, there's a few things that may come to mind: 1) @playsoft mentioned in the post below that there was a bug that sometimes caused the game to not boot on real hardware; I patched in the proposed fix into the Joy2B release (I don't think it's in the original Atarimax cart release). It may be possible that something about it is causing issues with 576NUC (or I implemented it incorrectly)? 2) One of the big differences between the original disk version and the Atarimax version is the usage of the >48K memory map (E000-FFFF, AKA the OS ROM space). The extra code for Joy2B support (which was a more involved hack than the other Joy2B hacks I made) involves even more extra code in the OS ROM space. I can't imagine that it would cause problems since that part of ram should be fully banked in (and the OS ROM banked out), but just in case, could that be causing issues with 576NUC memory management? From my original notes (pardon the lack of comments; the key thing is where I located things in memory...): ;-------------------------------------------------- ; New Button 2 handler (in OS RAM space) ;-------------------------------------------------- ; E965: Button 2 debouncing value E966: AD 70 02 lda PADDL0 E969: C9 E4 cmp #$e4 E96B: D0 0D BNE $E97A E96D: AD 65 E9 lda $E965 E970: D0 0D BNE $E97F E972: A9 01 lda #$01 E974: 8D 65 E9 sta $E965 E977: 4C 9E 85 JMP $859E E97A: A9 00 lda #$00 E97C: 8D 65 E9 sta $E965 E97F: 60 RTS ;-------------------------------------------------- ; New, relocated Custom Immediate VBLANK handler (the call to setting SETVBV needs to be set to the new address too) ;-------------------------------------------------- F2E0: AD 00 D3 LDA PORTA ; $FE380 in the rom, $E965 in system memory F2E3: 29 0F AND #$0F ; ($FED40 in rom/$F2DF in system) is where free space begins) F2E5: 8D 78 02 STA STICK0 F2E8: AD 10 D0 LDA TRIG0 F2EB: 8D 84 02 STA STRIG0 F2EE: AD 00 D2 lda POT0 F2F1: 8D 0B D2 STA POTGO F2F4: 8D 70 02 STA PADDL0 F2F7: A9 01 LDA #$01 F2F9: 8D 16 E8 STA $E816 F2FC: AD 18 02 LDA CDTMV1 F2FF: F0 08 BEQ $E985 F301: CE 18 02 DEC CDTMV1 F304: D0 03 BNE $E985 F306: 20 C2 E9 JSR $E9C2 ;[expand] F309: AD 1A 02 LDA CDTMV2 F30C: F0 08 BEQ $E992 F30E: CE 1A 02 DEC CDTMV2 F311: D0 03 BNE $E992 F313: 20 C5 E9 JSR $E9C5 ;[expand] F316: AD 1C 02 LDA CDTMV3 F319: F0 0A BEQ $E9A1 F31B: CE 1C 02 DEC CDTMV3 F31E: D0 05 BNE $E9A1 F320: A9 00 LDA #$00 F322: 8D 2A 02 STA CDTMF3 F325: AD 1E 02 LDA CDTMV4 F328: F0 0A BEQ $E9B0 F32A: CE 1E 02 DEC CDTMV4 F32D: D0 05 BNE $E9B0 F32F: A9 00 LDA #$00 F331: 8D 2C 02 STA CDTMF4 F334: AD 20 02 LDA CDTMV5 F337: F0 0A BEQ $E9BF F339: CE 20 02 DEC CDTMV5 F33C: D0 05 BNE $E9BF F33E: A9 00 LDA #$00 F340: 8D 2E 02 STA CDTMF5 F343: 6C 24 02 JMP (VVBLKD) ;-------------------------------------------------- ;As pointed out by Paul Lay, replace the following mutexes to fix a bug from the original cart release: AD 0E D4 LDA NMIEN 48 PHA ;with: A9 40 LDA #$40 48 PHA EA NOP ;-------------------------------------------------- And finally, for those wondering: I tested Hawkquest Joy2B on an actual NTSC 800XL and in Altirra; I didn't test this on other systems (I don't even have NTSC 128K Ataris anymore 😞 )
  3. @rensoup I went ahead and played the entire game (Atarimax Cart version in Altirra, NTSC 130XE mode with 128KB ram, default game settings) start to finish. First of all, like everyone else on this thread, I'm incredibly, unbelievably impressed by this port. My hat is very much off to you 🙂 That said, I did run into a couple of issues (and my apologies if any of this has been asked before; it's a looooooong thread), so here's my bug reports: - ESC/Option doesn't seem to skip between-level cutscenes, or skip the death music. Was this intentional? (I may be used to this from playing the DOS version of this game) - Two of the fake life-up jugs on Level 9 are supposed to vertically flip the screen as a joke (the first one flips the screen, the second one reverses the effect). In this version, it does nothing. Was this intentional for technical reasons (PMG handling)? - I don't think the "princess watching the hourglass" cutscene is supposed to play between: Level 12/Before Jafar, and After Jafar/Before the ending level. I saw it both times... (I had 12 or so minutes on the clock) - I didn't get to see the ending animation because Altirra/the game crashed 😞 Altirra threw up an internal error dialog message (no specifics on the actual error) when the ending was about to play. I enabled the debugger when this happened; attached is a screenshot of the history/registers windows and the history window text itself - let me know if there's a better/more comprehensive way to get a dump for this. Again, despite the above, amazing work! PoP Atarimax History Dump.txt
  4. I've personally played A8 Scramble with both a Sega Genesis controller and a Joy2B stick - both work great for shoot+bomb. You actually wouldn't want down+fire to bomb in this game - a key strategy in this game is to stay low to the ground so that you can bomb at a fast rate, and you wouldn't want to risk crashing into the ground... (Especially in areas 3 and 4)
  5. I've also noticed that the Ultimate cart isn't consistent about loading .xex files on the Atari 800. It works fine on XL/XEs pretty consistently. I'm guessing this has to do with 400/800s somehow not being able to use $8000-BFFF because the hardware isn't there to allow cartridge disabling (CCNTL/$D500-D5FF)? ("Mapping the Atari memory map" is unclear on whether this works differently on 400/800s)
  6. @Mr Robot As for Joy2B ergonomics, I'm happy to report that it wasn't anywhere near as bad as I originally thought they'd be: My right pinky works surprisingly well for triggering Button 2. ...even in games where Button 2 is used extensively (Dreadnaught Factor, Hawkquest, Conan, Moon Patrol Redux, ...) Even reaching around for button 2 with my left index finger isn't that bad - the joystick shaft cover is helpful here. I have a leaf-switch-based original Competition Pro (which I hate), and despite resembling it, the ArcadeR is clearly superior in button accessibility/responsiveness/joystick feel/etc. The biggest issue with 2-buttoning an ArcadeR, oddly enough, is actually the quality of the Sanwa clone buttons - they don't like being pressed on the edges, and sometimes they don't quite press cleanly. I'd imagine that real Sanwa buttons (known for their high sensitivity) would do wonders to fix this, however - has anyone tried this, and if so, how hard is it to remove the existing buttons without breaking anything?
  7. I ended up getting an ArcadeR after all (it took about 30 days + order processing time from China, for those wondering). Here's a picture of my Joy2B mod (with the newer 1.5c board revision). It turns out there's easier (larger) solder points that can be used instead of the really tiny wires on the ribbon cable plug: Essentially, it's taking advantage of the through-hole points for the Button 2/Button 3 selector switch (which directly connect to pins 5/9), as well as the C64/Atari jumper (which directly connects to Pin 7). I'd imagine this also works on the 1.5b board revision, for the same reason...
  8. The 64-bit drivers on the Atarimax forum for Vista/Win7 should work on Windows 10 too: https://atarimax.com/flashcart/forum/viewtopic.php?f=5&t=889 I'm pretty sure that's what I use on my Win10 system...
  9. The UAV has a trim pot specifically for modifying the artifact color value - I have one in my 800XL and I purposely set it to Orange/Blue. (There's a test program somewhere in the forums (uav.xex) for calibrating this...)
  10. From looking a bit closer at the NES controller schematic and briefly skimming through the Adrian's Digital Basement video, it looks like the hack simply bypasses the shift register chip and effectively wires the joystick port pins directly to the switches. For Joy2B (schematic here, courtesy of @ascrnet and @mrrobot), you'd do a similar approach, but with a twist because you now need to tie the extra buttons into what would normally be the paddle lines: Wire Atari pin 7 to what would normally be +5V (we need this for the pull-up resistors. It's safe to still have it going to the shift register chip since it's no longer an integral part of our circuit anyway) A button (button 2): Wire Atari Pin 9 to the point where the switch connects to the shift register chip Start button (button 3): Wire Atari Pin 5 to the point where the switch connects to the shift register chip Swap the 1kohm resistors that are connected to the the A/Start button lines with 330 ohm resistors Remove or disconnect all the resistors on the other 6 buttons - unlike the Adrian hack, we're sending 5v to the pull-up resistors, and we don't want or need those on the up/down/left/right/fire inputs. (Big disclaimer: I haven't tried/doublechecked any of this myself; this is all off the top of my head...)
  11. IMO, if you're going to hack an NES pad, you should go the Joy2B route, seeing as NES controller circuitry inherently requires a more involved hardware hack anyway. (Recommended mapping: B as button 1, C as button 2, Start as button 3) Many of the Joy2B hacks eliminate the need for Button 2 as Up - in some cases, they're better as Up still can climb ladders (or perform other functions) while Button 2 handles jumping. Button 2 as Up also doesn't help for games where up doesn't jump (think "bomb button")... As an extra bonus, the 2600 folks have a similar set of 2 button modified games/homebrews that use the same hardware standard 🙂
  12. I use Sega Genesis 3-button controllers with no ill effects - as a bonus, Button C works as the second button for most Joy2B games* right out of the box. Reportedly, 6-button controllers may cause some issues - the adaptor that @manterola mentioned above (by @Eyvind Bernhardsen) is meant to address that, and also provide Button 3 support for 3-button Joy2B+ games. * the vast majority of these are 2 button games
  13. I don't think it's a bad idea to have the ICSP header - imagine flashing different versions of the firmware if someone wants a different button layout... Also - if this is to be mounted in a (3d-printed?) case, would it be advisable to expand the PCB to include some screw holes for mounting? Or would such a case simply be a snap-fit held in place by the DB9 sockets? (I have no specific preference here; I'm mostly asking out of curiosity)
  14. I think you meant to thank @manterola on this one 🙂
  15. Ah, alas; I was hoping the other button was a bit more reachable. It may be worth trying the sideways approach for tabletop-only purposes, though... @Mr Robot By any strange chance, I don't suppose you'd happen to know where the ArcadeR joystick maker sourced those 9-wire joystick cords? They look quite sturdy and properly shaped, with thick cords, a properly shaped plug (no screw brackets), and a stress relief that can be fitted into a plastic joystick case - I'd be interested in getting a few to Joy2B-ize my Wico Command Control and Quickshot joysticks, since they look like good drop-in replacements that'll fit neatly into the existing cases... (and no, those "atari joystick extender cables" available on various parts on the internet don't seem like a good option, per this thread... even if they were, it'd be nice to have ones with stress reliefs built in)
×
×
  • Create New...