Commit graph

66 commits

Author SHA1 Message Date
42328080e6 Initial commit 2020-05-18 14:42:11 -05:00
Andrea Orru
9a85d09f29 Sort files by name in the menu 2020-05-11 00:39:52 +09:00
Andrea Orru
4edcb23436 More minor changes 2020-05-11 00:13:20 +09:00
Andrea Orru
02f02312f1 Minor style changes 2020-05-11 00:09:02 +09:00
mmmmmar
cb1cad52d8 bug fix and make menu scrollable 2019-10-07 21:27:55 +08:00
Jeff Katz
d28e183469 Change Invalid OPcodes to a print statement + NOP
Some games (such as Puzznic) use invalid opcodes--there's a ton of them
documented in detail here:
* http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes
and
* http://wiki.nesdev.com/w/index.php/CPU_unofficial_opcodes#Games_using_unofficial_opcodes

Note that most of the opcodes used are NOPs, so I default to NOP +
warning. Proper emulation of all of the illegal opcodes is probably
warranted for full compatibility.
2016-12-30 15:43:55 +01:00
Jeff Katz
48f85a4323 Add saving/loading configuration
LaiNES now can save and load configuration. At the moment, it's the size
of the window, and the key bindings.

Instead of cluttering the gui, I broke the config out to its own file.
Also added "home config directory" support, which is the standard for
*nix I suppose.
2016-12-04 16:19:44 +01:00
Andrea Orru
2562edfe9a Reorganized directory structure. 2016-12-01 18:46:38 -05:00
Andrea Orru
621aa65858 Higher sample rate. Solves bad audio on Linux. 2016-12-01 09:17:07 -05:00
Jeff Katz
75ac2ca690 Fix mirroring for Mapper 002 and 003
I was reading the wrong byte in the header to determine the mirroring
for these mappers, which have hard-wired (soldered) mirroring. Reading
the correct byte unsurprisingly corrects issues.
2016-11-29 10:00:50 +01:00
Andrea Orru
4eb2c57840 Merge branch 'mapper_2_support' of https://github.com/kraln/LaiNES into kraln-mapper_2_support 2016-11-28 19:05:26 -05:00
Jeff Katz
7555d58e09 Add iNes Mapper 003 (CNROM) Support
Add support for iNES Mapper 003, which is a very simple mapper
only swiching out CHR chunks.

There is 16kB of fixed space mapped from $C000-FFFF and,
optionally 16kB more of fixed space from $8000-$BFFF (if not,
this area is mirrored)

The CHR ROM from $0000-$1FFF is banked in 8k chunks, up to four.
Some games look for bus contention, it is not implemented.
2016-11-28 23:18:44 +01:00
Jeff Katz
fed66e0efe Add iNes Mapper 002 (UNROM) Support
Add support for iNES Mapper 002, which is a simpler version of Mapper 1.
There is 16kB of fixed space mapped from $C000-FFFF and 16kB of mappable
space from $8000-$BFFF. This space is mapped simply by writing to
0x8000. There is 8K of CHR ROM, and no RAM or anything funny.
2016-11-28 21:21:07 +01:00
Andrea Orru
4d0eee2019 Fixed Linux. 2015-12-04 05:26:13 +00:00
Andrea Orrù
dacf57b764 Multiple joysticks. 2014-10-09 10:22:39 +01:00
Andrea Orrù
acc19870b7 Joystick, two players. 2014-06-02 12:18:11 +02:00
Andrea Orrù
3e096df9f2 Reset PPU when loading. 2014-06-01 17:34:37 +02:00
Andrea Orrù
12a6aa9552 Reset status when loading. 2014-06-01 17:06:30 +02:00
Andrea Orrù
137bc208de APU. 2014-06-01 14:29:22 +02:00
Andrea Orrù
bb60163798 New background image. 2014-06-01 01:37:17 +02:00
Andrea Orrù
fe10ae4e44 Controls settings. 2014-05-31 18:28:29 +02:00
Andrea Orrù
9f6e0ad180 Reorganization of GUI. 2014-05-30 15:46:29 +02:00
Andrea Orrù
c1ad5dfee7 Linear scaling. 2014-05-29 14:19:59 +02:00
Andrea Orrù
4d44d2db2f Initial background. 2014-05-29 10:40:39 +02:00
Andrea Orrù
90bf26c018 Video menu. 2014-05-29 10:03:37 +02:00
Andrea Orrù
240793027f New font, decoupling menus. 2014-05-28 11:31:58 +02:00
Andrea Orrù
b39d0c28b4 File browser. 2014-05-28 10:31:54 +02:00
Andrea Orrù
b36e315265 Menus. 2014-05-26 22:32:38 +02:00
Andrea Orrù
1e2e4fddc7 Pause. 2014-05-26 17:46:40 +02:00
Andrea Orrù
6c5167935e Handle quit events. 2014-05-26 16:58:19 +02:00
Andrea Orrù
82d210899c Framerate control. 2014-05-26 16:23:34 +02:00
Andrea Orrù
92757a347f Decoupling video rendering (Part 1). 2014-05-26 16:03:36 +02:00
Andrea Orrù
435e9ee2d7 Decouple joypad and GUI. 2014-05-26 13:32:13 +02:00
Andrea Orrù
a6600ac167 MMC3 is kinda hackish, but Kirby and SMB3 work! 2014-03-20 03:45:30 +01:00
Andrea Orrù
63f3adf8e9 MMC3, other revisions. 2014-03-20 03:21:09 +01:00
Andrea Orrù
ad799a0ada Partial mirroring implementation. Zelda works! 2014-03-19 17:55:11 +01:00
Andrea Orrù
5dffc23a99 Small improvements. 2014-03-19 17:21:57 +01:00
Andrea Orrù
3e731a55bf Mapper 1. 2014-03-19 16:55:18 +01:00
Andrea Orrù
8e5eb034dc Mappers. 2014-03-16 19:17:39 +01:00
Andrea Orrù
67a5791fcc Grayscale, timing fixes. 2014-02-18 17:44:29 +01:00
Andrea Orrù
8cba7a818e Joypad, sprite stuff, palette mirroring => Super Mario Bros working! 2014-02-17 23:14:51 +01:00
Andrea Orrù
77ac51e9f2 Preliminary sprite support. 2014-02-17 15:54:50 +01:00
Andrea Orrù
47dfe813f9 Accelerated graphics. 2014-01-25 12:41:53 +01:00
Andrea Orrù
cf5fc6c1b5 SDL2. 2014-01-25 12:26:01 +01:00
Andrea Orrù
aec046af75 Fixed scrolling. 2013-12-05 16:15:57 +01:00
Andrea Orrù
821debfd59 Big PPU cleanup. 2013-12-05 15:15:19 +01:00
Andrea Orrù
227bc2e59d Optimizations, Makefile improvement. 2013-12-05 01:39:29 +01:00
Andrea Orrù
e133385b90 Simplified interrupt handling. 2013-12-04 19:54:50 +01:00
Andrea Orrù
0acba53bd1 Palette mirroring => Super Mario Bros. background corrected. 2013-12-04 00:00:10 +01:00
Andrea Orrù
542f4c8149 Palettes, attribute fetch fix (thanks @nzldvd). 2013-12-03 20:57:44 +01:00