Jump to content

Eyvind Bernhardsen

Members
  • Content Count

    166
  • Joined

  • Last visited

Community Reputation

106 Excellent

About Eyvind Bernhardsen

  • Rank
    Chopper Commander

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. You’ll have to disable SpartaDOS, either by turning it off from the menu or pressing X on the splash screen. I don’t have a Fujinet, but I think you have to install a driver for it if you want to use it with SpartaDOS.
  2. Also, and sorry to derail the thread slightly with macOS information, if you start the app by right-clicking and selecting “open” from the context menu, you get a requester with an “open anyway” button. Quicker than messing about in the security settings.
  3. Thanks @ascrnet 🙂 I've just made a new release that fixes a few bugs and adds experimental C64 support (if that's of interest to anybody). I had to move the pins around a bit, but I'm happy with the firmware for now. Next up: PCB design.
  4. I've been wanting to use my 8BitDo Retro Receiver to play Joy2B+ games for a while. Last year I made a passive adapter that works for the B and C buttons, but reading A and Start from a Mega Drive controller requires active scanning. Since I already had a JOY2PIC programmer after building @mytek's TK-II and 1088XEL projects, and a microcontroller seemed like a good fit for this application, I decided to use a PIC to do the job. I picked the 16F1847 because it's used in the 1088XEL and has enough I/O pins, and after some evenings of experimentation I ended up with a working Mega Drive adapter. It should work with a real Sega controller, possibly even a six-button one, but I've only tested it with the 8BitDo. Of course, firmware is only half the story. My adapter looks like this: I've never designed a circuit board but am planning to do it... eventually. In the meantime, the breadboard works! Hopefully somebody else will find this useful If you're interested in building your own adapter, the pinout for the chip is in the README file on Github. Programming binaries are attached to the v0.1 release in case you have a PIC programmer but lack the compiler.
  5. Ah, nice! I can confirm that Altirra64 now runs under CrossOver.
  6. I get a bunch of writes in A0xx on level 1 when I collect items. A000-A040 and A100-A1CF look untouched, but I can't be sure that any bytes in that area won't get overwritten on later levels. I like to see huge swaths of zeroes before I trust that a game doesn't use a block of memory for anything. I'm not sure if Altirra has the option to count the number of accesses to every memory location, that'd be super handy to find out if there's anywhere that is (ideally) loaded from disk before the start of the game and (definitely) never overwritten or used for anything else. But I wouldn't be able to use it myself, because you'd have to play through the whole game and I can't even get past the first level 😅
  7. I've removed the on-disk obfuscation from Operation Blood, but I can't find a safe place to put a button scanning routine. Since it's not really my kind of game I'm going to find something easier to do instead Here's the deobfuscated image in case someone else is willing and able to patch it: Operation Blood (deobfuscated).atr The in-game trigger check routine starts at $F3F5 (in shadow RAM) and is at byte offset $C205 in the .atr file. The main load is in two parts: a big read to $4400-$FFFF from sectors $025-$19C (this is the one that was scrambled on disk) and a smaller one to $0700-$337F from sectors $1ED-$245. The loading routine for the latter is at $569A. There's more loading before the game starts, including a read to $4800-$5699 from $2D1-$2EE, again using the loading routine at $569A. I haven't played far enough to know which other parts of memory are overwritten.
  8. No ARexx in 1.3, so stick with 3.1. Assuming you have at least Kickstart 2.04 of course. 😛
  9. Here is my final version of Spelunker, including a second button mode selector. Pressing Select during the attract sequence switches between three fan modes for the second button, turning the background a different colour for each one: green (default): the second button only triggers the fan when the joystick is held to the left or right yellow: the second button triggers the fan unless the joystick is held up (flare) or down (dynamite) blue: the second button never triggers the fan Pressing the third button always triggers the fan, regardless of mode or joystick direction. The .atr version saves the mode to disk when the game is started, but only if it has been modified. Spelunker - Joy2B.atr Spelunker - Joy2B.car This version also fixes a bug in my deobfuscated version: the Reset button now properly restarts attract mode, at least on disk (the cartridge version exits to BASIC). If anybody wants to modify the game further, PM me for details on how the multistage loader works. There's a lot of free space on the disk and it's pretty easy to modify the loader.
  10. Well, it's only easier to activate when you land if you happen to be facing the ghost But yeah, it's a compromise either way. I got frustrated because testing the three button version in Altirra got me used to holding the button and then pushing up or down for flare/dynamite, which kept triggering the fan in the two-button version. The real solution is to get a three-button joystick, of course 😛 Hmm, that's doable. On the disk version it'll even be possible to save the setting by storing it in the high score area 🤔
  11. Wow, that was fast! I can confirm that the two-button patch is in place, and I played it through to The Falls, so the loading routine works. Thanks!
  12. Here's an alternative two-button version of Spelunker (yes, I'm a little obsessed with this game). I tweaked the controls a bit, inspired by the better-feeling three-button version: now the second button doesn't do anything unless the joystick is pushed left, right, up, or down; left and right will turn you in the appropriate direction before starting the fan. More importantly though, I've removed all obfuscation from the loader. Now the boot sector is read to $4000 (init at $4008), does minimal setup, and loads the main game in plain text from sectors $21C-$293 to $0400-$3FFF. I zeroed out the sectors that used to be part of the multi-stage loader, but haven't made any other changes to the image. I've tested it as far as The Shaft, the first time I've reached it in decades! spelunker-2btn-deobfuscated.atr I tried using The!Cart Studio to make a cartridge image, but I couldn't get anywhere with it. Hopefully this will help someone else make a working cartridge version The game calls the resident disk handler at $E453 from a routine at $06DD, and if necessary it looks like it's possible to put some extra code in the stack page now that the loader no longer fills $80-$17F with deobfuscation junk. Note that the stack pointer is reset to 0 every time the game starts, so the routine would need to start at $101.
  13. Oh, a tiny suggestion for the 3-button version: if you look at my code, I delayed setting the "button held" flag for button 2 until after the decision to launch a flare or place dynamite. That way you can hold the button and then press up or down instead of having to move the joystick to the correct position first, which makes the controls feel a bit less fussy.
  14. I just managed it on the disk version, so putting the patch after the high score table doesn't seem to cause any problems with that. (I like to play the disk version because that saves the high scores... but that means it also saves the button status, which is another reason autodetection won't work. Oh well.) We can't be 100% sure that it doesn't cause problems until somebody beats the game with a patched version, of course
  15. Oh, I was wondering if that would be a problem. Looking at the pinout now, the Genesis controller uses the third button pin for its power supply. It’s probably pulling the pin low enough that the routine thinks there’s a button there. I tested last night and it does work for me, but I’m using an adapter that reroutes the power from Atari pin 7 and leaves pin 5 unconnected. Ah well, thanks for testing 😊 That’s great!
×
×
  • Create New...