83 Commits
Author SHA1 Message Date
Craig Carnell 83f8171336 libretro: fix compilation on new vita toolchain 2026-09-06 10:04:33 +01:00
Cayce bd7a18f697 implement #102 MSX-MUSIC YM2413 emulation using NukeYKT's OPLL 2024-02-07 22:38:50 +01:00
Cayce 39458029ce support SCC-I enable/disable in slot with ROM (Generic8 & Konami5 mappers) 2023-04-15 18:46:15 +02:00
Cayce f58a040987 support SCC/SCC-I detection and SCC-I MegaRAM 2023-04-12 22:42:29 +02:00
libretroadmin cb6ddf617a libretro.c - Turn functions static that can be turned static, and
get rid of wrapper function RefreshScreen and replace with PutImage
2022-06-25 20:40:18 +02:00
libretroadmin fede82348c Get rid of byte/word types - use standard stdint.h 2022-06-23 06:17:58 +02:00
libretroadmin 52ceadcc32 Get rid of all the verbose log spam 2022-06-20 05:45:27 +02:00
libretroadmin 7a98389038 Set BPP=16 and BSP16 by default - get rid of other codepaths
for 8bit and 32bpp colorg
2022-06-20 05:15:36 +02:00
crystalct f9ea9eacd4 PS3/PSL1GHT build fix (#112) 2022-03-09 16:37:24 +01:00
cayce-msx dfcda05689 Optionally create empty disk images (#110)
* #91: Optionally create empty disk images. Also show a notification when DISK.ROM is required but not loaded

* quick disk swap
2022-01-12 12:48:56 +01:00
cayce-msx 51e50ebd1a #99 even/odd pages and interlacing (#105)
#100 overscan
2022-01-07 08:46:24 +01:00
cayce-msx 97025f84aa fix MSX2+ colour mapping: YJK566-to-RGB565 was done via RGB332 (#106) 2022-01-07 08:46:18 +01:00
cayce-msx 10c852c8c4 - make Game Master 1 & 2 loading optional (#108)
- optionally load MSXDOS2.ROM, to provide Disk BASIC 2.01
- set RA region to NTSC or PAL depending on FPS 60 or 50
- load GM & GM2 in external slot A (in B in a few cases) to enable proper function on all platforms & independent of other optionally loaded ROMs
- describe slot & memory layout for MSX1 & MSX2/2+ models as implemented by fMSX
2022-01-07 08:46:12 +01:00
cayce-msx 1b7f15922a Added back fMSX info & debug logging, now using RetroArch log callbacks in stead of printf. (#103) 2021-12-26 23:11:59 +01:00
cayce-msx 7f4d0a0a5d Fix tearing due to displaying video buffer at scanline 192. Also implement dynamically switching between 50Hz/PAL and 60Hz/NTSC. (#101) 2021-12-22 22:43:16 +01:00
cayce-msx 950be9a3be 3 fixes: (#93)
- emulated keyboard; first 6 inputs were incorrectly set as joystick events
- FLUSH_ON_CLOSE for multidisk
- RTC initialisation
2021-12-13 01:39:56 +01:00
cayce-msx fb7b19c303 - #43 disk updates dirty checking, with option to flush. Support CALL FORMAT in WD1793 mode. (#89)
- add 7 unmapped keys: DEAD (accents) and numeric pad. Note: Numpad period key presses seem unregistered in RA (on Linux)?
- #44 mention in readme that Turbo-R is out of scope; not part of fMSX
2021-12-09 06:16:22 +01:00
twinaphex 179ae738fd Remove stdio.h include 2021-12-07 04:25:14 +01:00
cayce-msx 45b120f846 finalize removal of "MIDI logging" (#68): (#87)
- remove AY8910_DRUMS, MSX_DRUMS & various other obsolete MIDI #defines
- document limitations of fMSX sound emulation & channel usage
- remove PChanged (patch, i.e., instrument) & DChanged (drum) attributes of OPLL; both were only used for MIDI logging (fMSX/X) or actual MIDI playback (fMSX/Win) - which hardly sounds like the real thing
- remove 3 obsolete tables for OPLL (YM2413)
2021-12-06 20:42:11 +01:00
cayce-msx cd2d59a9b8 fix a few minor issues: (#86)
- retro_unload_game(): invoke TrashMSX()
  .. and solve free() problem related to getcwd()/WorkDir
- explicitly #define NUM_FDI_DRIVES 4 (differs from MAXDRIVES, which is 2 for MSX!)
- rework PATCH_Z80 Makefile cfg
- fix 192kB VRAM using proper bitmask
2021-12-05 21:00:16 +01:00
twinaphex 75fea8ff9d MSVC/C89 build error fixes 2021-12-04 22:13:50 +01:00
cayce-msx 91b11dce8c Support fmsx cht and bluemsx mcf cheat files (#84)
* Support fMSX .CHT and blueMSX .MCF cheat files

MCF support was already rudimentary present in fMSX.

* refactor logging & messaging after merge
2021-12-03 20:10:11 +01:00
cayce-msx 337b2e7284 Remove unused code and features (#83)
* remove dead code & unused features: effects, image-related code, dummy HID methods Keyboard() & GetJoystick(), debug console-related code, I8251.c/h serial COM, printer, EMULib.c, LoadFile()

* update readme
2021-12-01 23:45:46 +01:00
cayce-msxandAutechre f7eb0209d5 - fix maximum VRAM size - 192KiB (12 pages) was selectable in libretro.c but capped at 128KiB in MSX.c (#82)
- support maximum RAM size (256 pages of 16KiB = 4MiB)

Co-authored-by: Autechre <[email protected]>
2021-12-01 00:20:35 +01:00
cayce-msx 47382565aa Finally support .cas tape, with autostart to convenience keyboardless platforms. Fixes #23. (#81)
More detailed:
- autodetect .cas format and start it
- link F6 to 'rewind tape' - equal to fMSX keymap
- remove 3 obsolete source files (ConDebug.c, Debug.c, State.h)
- remove 2 unused method headers (InitMachine & TrashMachine)
- resurrect Patch.c; required for Cassette and fmsx_simbdos
- remove Guess Mapper Type B; fmsx-libretro supports only 1 ROM (thus A)
- also support .FDI disk format
- fix inline redefinition warning
- refactor VFS forward declarations
2021-11-30 22:14:44 +01:00
Cayce 3521e405c7 Add option fmsx_font, to load a fixed text font 2021-11-24 18:19:43 +01:00
Cayce e63e6bf684 migrate to fMSX6.0.
No changelog. Only content is an update of MakeFileName().

Added some whitespace 'fixes', and some documentation for future developers.
2021-11-22 20:31:44 +01:00
Cayce 664fc14b15 update copyright notice to -2021 for fMSX6.0 2021-11-21 19:19:55 +01:00
Cayce 46a24e7335 fMSX 5.8 > 5.9 upgrade
Filtered fMSX changelog:

New in fMSX 5.9
    -

Unmentioned:
- EMULib disk formats: a.o. support second Sam Coupé disk type (not applicable to MSX)

Additionally:
- fix 8 unused result warnings
2021-11-21 19:08:22 +01:00
Cayce d8094e9717 Merge branch 'master' into migrate-53-to-58 2021-11-21 12:58:12 +01:00
Cayce b3c75dbb17 - fMSX 5.3 > 5.8 upgrade
- fix PSG+SCC sound issue introduced at migration to 5.1

Filtered fMSX changelog:

New in fMSX 5.8
    Will try opening tapes as read-only, if read-and-append fails.
    System ROM files location now defaults to where executable is.
    Fixed SHA1 computation when guessing MegaROM mapper type.
    ASCII16 mapper now preferred over ASCII8 when guess MegaROM type.
    Changed R-Type mapper type to ASCII16.
    Changed DragonQuest 1 mapper type to GENERIC8.
    Changed Animal mapper type to GENERIC8.
    Changed T&E Soft Ashguine mapper type to GENERIC8.
    Changed Royal Blood mapper type to ASCII8.

New in fMSX 5.7
    Fixed noise in Eggerland Mystery and other games.
    Moved PSG sound computation to Sync8910().
    Fixed compatibility with 64bit CPU architectures. (#pragma pack(4))

New in fMSX 5.4~6 (?! - not documented)
    -

Not mentioned:
- EMULib disk format support: Sam Coupé & Coleco Adam (not applicable to MSX)
2021-11-21 12:54:07 +01:00
Autechre 3bce88cf42 Merge pull request #73 from cayce-msx/migrate-51-to-53
Migrate 5.1 to 5.3
2021-11-21 12:15:40 +01:00
Autechre f5d21539b4 Merge pull request #72 from cayce-msx/migrate-49-to-51
Migrate 4.9 to 5.1
2021-11-20 19:00:03 +01:00
Cayce a1629fa8b7 update copyright notice to -2020 for fMSX5.8 2021-11-20 16:44:12 +01:00
Cayce dbd1a303d2 update to fMSX5.3
Changelog, filtered on applicable items:

New in fMSX 5.3
    Replaced -DNO_WAVE_INTERPOLATION with -DWAVE_INTERPOLATION, off by default.

New in fMSX 5.2
    -

Unmentioned in these changes are:
- some whitespace (Common.h)
- disk label refactoring (extract parameter)

The 'off by default' for wave interpolation means the implementation is now different. Revert to previous situation by adding -DWAVE_INTERPOLATION to Makefile.common, if so preferred. Audibly, no changes can be detected.
2021-11-20 15:03:36 +01:00
Autechre 812d65bf1c Merge pull request #69 from cayce-msx/autospace-maybe-not-merge
implement -auto fMSX cmdline option, as RA option 'fmsx_autospace'
2021-11-20 08:47:17 +01:00
twinaphex 20b9526f03 Udpate LoadPAL to use VFS 2021-11-20 08:43:45 +01:00
Cayce 95b041a61d update copyright notice to -2018 for fMSX5.3 2021-11-19 21:59:43 +01:00
Cayce 67c0c9b287 finalize migration to fMSX 5.1 by adding some missing cheat-related code.
Parts of this will be removed later, in a 'dead code removal' sweep
2021-11-19 16:48:22 +01:00
Cayce 0bae7b1ba7 migrate 4.9 to 5.1. Changelog from fMSX site, filtering non-ported changes:
New in fMSX 5.1
    -

New in fMSX 5.0
    Switched to microseconds in the AY8910 PSG emulation.
    Now updating, rendering, and playing sound every 8 scanlines.

Does not build yet due to MCF (MSX Cheat File) addition; next commit will fix that.
2021-11-19 16:09:34 +01:00
Cayce effc6f2276 implement -auto fMSX cmdline option, as RA option 'fmsx_autospace'. This doesn't feel right - is ALWAYS on. 2021-11-17 20:20:51 +01:00
twinaphex 50e0d7f818 Get rid of unlink 2021-11-17 08:32:57 +01:00
twinaphex 4075730c82 Remove MIDI soundtrack logging 2021-11-17 06:40:32 +01:00
twinaphex 277b5992b9 C89 buildfixes for MSVC 2021-11-16 09:27:08 +01:00
Cayce 90412cda86 update fMSX copyright dates from 3.9 to 4.9 2021-11-10 21:55:42 +01:00
Cayce 181807884a apply missing parts of migration from fMSX 3.9 to 4.9, to complement 8d5f4a128e 2021-11-10 21:32:07 +01:00
Cayce a14a8ad01f replace CRLF by LF in all 39 applicable source files (and .gitlab-ci.yml) 2021-11-09 18:07:20 +01:00
twinaphex 4f9f1abeb1 Cleanups 2021-11-07 00:01:33 +01:00
twinaphex 1c190bf1e8 Cleanups 2021-11-06 23:43:11 +01:00
twinaphex b4adc0e6a9 Revert "More buildfixes - use retro_inline.h from libretro-common"
This reverts commit 3a67e07cfb.
2021-11-06 23:15:50 +01:00