This is just a quick hook-up of the konami hyper shot controller.
-The Konami Hyper Shot is used (and required for gameplay) in the following games:
* Hyper Olympic (J) Konami (1985)
* Hyper Sports (J) Konami (1985)
Fix#439
- Partially reverts changes in 0b362afcc0
- Checks the codestring if its a valid game genie code before attempting
to decode it. If code fails, then assume it to be a pro action replay
cheat.
Issue: Cheats where failing because a value of 0 in the decoder does not
mean an error.
Fix https://github.com/libretro/libretro-fceumm/issues/384
- Width changes previously was not respected when using ntsc filter. With full use of overscan, nes width
is 602 px when ntsc filter is used and 256 px on normal
- Happens when starting with PAL/Dendy region and changing to NTSC can cause frame to get stuck in 50 Hz
- using RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO should remedy this.
- We just use shaders for scanline if needed. ntsc + height doubling causes performance hit
for some slow devices. Any decent platform should be able to handle scanline effect shaders at least.
- do overscan cropping after the ntsc frame is generated. this allows
removing left and right screen artifacts when using horizontal crop like
what you would see happen in TV when adjusting horizontal size (HSIZE).
- add core option that implements NTSC scanline effects. This requires
framebuffer to double the height, so a define is added (NTSC_SCANLINES at
the top of libretro.c) to disable this on some low-memory platforms or just disable NTSC filters altogether.
- some minor cleanups
- this implementation is based on a more accurate colour emphasis from fceux.
- The raw palette + nes decoder shader was kinda incomplete since the implementation was based on
a per-frame basis which means that the emphasis bits were read once and applied to the whole frame. This
means that some games that uses a per pixel or per scanline emphasis would not appear correct. The more
accurate implementation reads emphasis bits from bits 5-7 of PPU[1] and saves this info in a separate frame.
- The same implementation is also used to fix emphasis for the ntsc filter.
This is an issue i found when implementing the NTSC filters. Currently when using palette presets,
no clour emphasis is seen on games that supports it. This is cause because the palette table is
fille with the same 64*3 colour info.
Using custom palette (palette file) and default both creates the emphasis as expected. So internally,
fceumm is able to support such feature.
The fix is to generate the base palette (64 * 3 with each triplet representing rgb colour), and then
send this internally using FCEUI_SetPaletteArray() to fill the colour table with emphasis instead.
- this implements blargg's nes ntsc filters using core options
- an optional height doubling is also added but disabled for performance reasons (might make that optional as a core option)
- since PS2 and PSP have their own blitter branches, these platforms do not have the ntsc filters since i dont have the means to test on those systems.
- compile with HAVE_NTSC=1 to have these options, HAVE_NTSC=0 disabled filter including core options
- HAVE_NTSC=1 is set as default, other than PS2 and PSP as stated above.
- This creates 2 new advance core options to minimize the number of core options shown
-- Advance System Options contains:
--- Overclock
--- RAM power on state
--- no-sprite limit
--- simultaneous opposing direction press
--- zapper crosshairs
-- Advance Sound Options contains:
--- Master volume
--- Sound quality
--- on/off for NES' 5-channel apu
- This also re-arranges the core options when advance options are shown, system options on top,
gfx/palette/geometry options next, input etc.
- ines.c - misc cleanups
- Fix Dendy not restored when changing overrides back to auto mode
- directly apply new scanlines and additional scanlines when changing overclock settings
- (readability) change variable name overlock_state to overclock_enabled