Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix first run crashing on Xbox One. Added savestate support. Rewind … #87

Merged
merged 3 commits into from
Jul 31, 2023

Conversation

greenchili2
Copy link

@greenchili2 greenchili2 commented Jul 25, 2023

…works. Fixes issue #83 and possibly #49. Added Disc Control menu. Supports Disks, Tapes and M3U files (issue #66). Added in support for 5200 Super Carts. Better support for 5200 controller. Added Paddle support. Converted Core Options menu to v2. Moved some core options into submenus. Added controller mappings for Ports 2-4. Added options for Dual Stick and Swap Ports. Fixes issue #76. Joystick/Console now controlled more easily with device type Atari Keyboard. Added 4 Hi-Res Artifacting modes. Restart does something now. When core option changed only reboot if necessary. Removed several hardcoded controller binds. Fixed issue #29. Joypad input ignored when virtual keyboard active. SIO Acceleration now defaults to enabled. Fix for Bounty Bob (5200 & lift fix A800). Added Atari 800 carts to autodetect DB.

Here is my full change information..

Fixed Atari800 crashing on XBOX One/UWP. Crashes were due to Xbox One/UWP not liking the fileopen command being used on directories.

Some corrections on spelling (search/replace)

Removed lots of hardcoded controller binds to controls/keys.
Now the keyboard will only come up in A5200 if you have it defined in the controller settings (among other things).
This fixes issue #29 since you can now custom map Vkbd activation properly.
#29

Hardcoded binds are still present for when in the Atari800 Menu. I do have code for controlling the Atari800 Menu based on how you have the controller mapped to joystick controls and fire 1 and fire 2. It's currently commented out.

In 5200 mode Vkdb keys works as follows. F1 = Atari800 Menu, Sta = 5200 pad Start, Res = 5200 pad Reset

Emulator no longer receives joypad based input when the virtual keyboard is active. It's mostly detrimental to gameplay.

Fixed Atari rebooting when any Core Option is changed regardless of situation. Added "(Restart)" text to all options that need a restart. The system will still auto-reboot if you change the emulated Atari System.

Added new core option "Hi-Res Artifacting Mode". Options are "blue/brown 1", "blue/brown 2", "GTIA", and "CTIA" so Atari users can pick the flavor they enjoy / remember.

Added Disc Control menu to Atari800. This includes tapes. M3U support as well. So now you can play those multi-disk/tape games!
This also addresses request #66 #66

Added controller mapping for Ports 2, 3, and 4 controls as reported by issue #76
#76

Supported extensions list has (cdm) which I think is a typo and should be (DCM)? Corrected

Added savestate support (Yeah!) Testing so far shows rewind working good as well.
Issue #83. #83
Currently has estimated savestate size
Issue #49. (Netplay may be possible? Need sucker to test with ).

Restart actually does something now... :P

Converted "Core Options" menu to v2 interface. In prelude to adding "Swap Ports!"

Renamed "Joy hack A5200 for robotron" to "Controller Hacks" and have options for "Dual Stick" and "Swap Ports" to match a5200.

Moved audio and video core options into submenus.

Switched default for "SIO Acceleration" to "enabled". Only protected disk images (ATX) and protected cassette tapes need this. And you're insane if you want to load a cassette at normal speed.

Changing SIO acceleration in Core Options now takes affect immediately.

Added in support for 5200 Super carts in 64K, 128K, 256K and 512K size. Only 64K and 512K tested. Anyone have any 128K or 256K images?

Added in better support for 5200 controller and controls. You can change it in "Controls". Descriptions will change as well.
Had to revamp the joystick handling code to work with four controllers. Lots of reworking of the controller handling code.

New options added for 5200 analog controller support. Digital Joystick Sensitivity and Analog Joystick Sensitivity for setting the sensitivy of the digital to analog controls as well as the analog stick. This is usefull for making more games controllable and games such as Kaboom, Missile Command, Pengo, Realsports Tennis and Super Breakout more playable. Also "Analog Joystick Deadzone" for handling joystick drift. That way you don't have to rely on the GLOBAL option in the retroarch menu which can affect other cores.

Added Paddle Support for computer mode. Just enable "Activate Paddle Mode" and the left analog and dpad will control the paddle. You can adjust the movement speed with the "Paddle Movement Speed" option.

Added code so when using Device Type "Atari Keyboard" certain keypresses map to Atari Joystick, 5200 Controller and console keys. (Stick 1 only ATM). Should be handy for keyboard based games. Mappings are as follows.
Keymaps for joystick. "Keyboard Numpad 8, 2, 4 and 6" -> Up, Down, Left, Right. 5200 analog joystick -> left analog stick or Keyboard Numpad 8, 2, 4 and 6.
Right CTRL for Fire 1, Right ALT for fire 2.
Keymaps for 52000 keypad. Keyboard Numpad * -> 5200 Keypad *, Keyboard = -> 5200 Keypad #, Keyboard 0-9 -> 5200 Keypad 0-9. P -> Pause, R-> Reset
Keymaps for 'Console" keys use F2 -> Option, F3 -> Select, F4 -> Start.

Implemented fix for lift not working in Bounty Bob Strikes Back Level 2. Atari 800 cart version. Also Bounty Bob now works properly in A5200 mode as well (doesn't lock up).

Added a bunch of Atari800 carts for autodetection. Added super carts to Atari5200 DB as well as missing ROMS.

Hopefully I got everything. Let me know if I missed anything or if something needs to be changed. Also the Atari800 INFO file will need to be updated to enable rewind, add new media types, and fix the one typo in the DCM media type.

greenchili2 and others added 3 commits July 24, 2023 20:12
…orks. Fixes issue libretro#83 and possibly libretro#49.  Added Disc Control menu.  Supports Disks, Tapes and M3U files (issue libretro#66).  Added in support for 5200 Super Carts.  Better support for 5200 controller.  Added Paddle support.  Converted Core Options menu to v2.  Moved some core options into submenus.  Added controller mappings for Ports 2-4.  Added options for Dual Stick and Swap Ports.  Fixes issue libretro#76.  Joystick/Console now controlled more easily with device type Atari Keyboard.  Added 4 Hi-Res Artifacting modes.  Restart does something now.  When core option changed only reboot if necessary.  Removed several hardcoded controller binds.  Fixed issue libretro#29.  Joypad input ignored when virtual keyboard active.  SIO Acceleration now defaults to enabled.  Fix for Bounty Bob (5200 & lift fix A800).  Added Atari 800 carts to autodetect DB.
… Index not being reset on 'restart'. Changed Atari Joystick default mappings to something more reasonable.
emtpy file..notneeded
@LibretroAdmin LibretroAdmin merged commit 20d59af into libretro:master Jul 31, 2023
jfroco added a commit to jfroco/a5200 that referenced this pull request Oct 4, 2024
LibretroAdmin pushed a commit to libretro/a5200 that referenced this pull request Oct 8, 2024
* Add carts to auto-detection

- Add additional carts with mapper CART_5200_EE_16 from TOSEC and No-Intro
- Add the alternative mapper for Bounty Bob Strikes Back!

* BBSB Fix from upstream

Bounty Bob Strikes Back! fix from:
- libretro/libretro-atari800#87 and
- atari800/atari800#123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants