Skip to content

Latest commit

 

History

54 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InfoNES

Note on porting

There are many ported versions of InfoNES available. These excellent ports, e.g. pico-infones, pico-infonesPlus, have fixed minor bugs present in the original version. As a list of these ports is provided below, please consider using them.

Introduction

InfoNES is a Family Computer emulator that runs on SDL/Linux.

This screenshot shows the demo running on InfoNES Advance, which runs on VirtualBoyAdvance.

How to run

> ./InfoNES sample1.nes &

How to play

Controller #1

  • [S]: Start
  • [A]: Select
  • [X]: A button
  • [Z]: B button
  • [Up-arrow]: Up button
  • [Down-arrow]: Down button
  • [Right-arrow]: Right button
  • [Left-arrow]: Left button

System

  • [ESC]: Terminate emulation
  • [ALT] + [Enter]: Toggle full screen mode and window mode
  • [C]: Clip 8 pixels at the top and bottom of the screen
  • [M]: Sound mute

Specification

CPU

  • MOS 6520 opcodes
  • IRQ/NMI/Frame IRQ
  • SRAM load/save function
  • Trainer function
  • MOS 6502 bugs
  • MOS 6502 undisclosed instructions (partial)

PPU

  • 8x16, 8x8 Sprites
  • Sprite Priority
  • Horizontal/Vertical Scroll
  • VROM/VRAM
  • Horizontal/Vertical/1 screen/4 screen mirroring

APU

  • Square wave #0, #1
  • Triangle wave
  • Noise
  • DPCM

Mapper

  • iNES Mapper: #0, #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #13, #15, #16, #17, #18, #19, #21, #22,
  • iNES Mapper: #23, #24, #25, #26, #32, #33, #34, #40, #41, #42, #43, #44, #45, #46, #47, #48, #49,
  • iNES Mapper: #50, #51, #57, #58, #60, #61, #62, #64, #65, #66, #67, #68, #69, #70, #71, #72, #73,
  • iNES Mapper: #74, #75, #76, #77, #78, #79, #80, #82, #83, #85, #86, #87, #88, #89, #90, #91, #92,
  • iNES Mapper: #93, #94, #95, #96, #97, #99,#100,#101,#105,#107,#108,#109,#110,#112,#113,#114,
  • iNES Mapper: #115,#116,#117,#118,#119,#120,#122,#133,#134,#135,#140,#151,#160,#180,#181,
  • iNES Mapper: #182,#183,#185,#187,#188,#189,#191,#193,#194,#200,#201,#202,#222,#225,#226,
  • iNES Mapper: #227,#228,#229,#230,#231,#232,#233,#234,#235,#236,#240,#241,#242,#243,
  • iNES Mapper: #244,#245,#246,#248,#249,#251,#252,#255
  • Nintendo MMC: MMC1(#1), MMC2(#9), MMC3(#4), MMC4(#10), MMC5(#5)

Known source ports

InfoNES has been ported to various platforms.

Platform Author URL
PlayStation Portable TMK Github
Internet Archive
iPhone stepwhite
nervegas
Googlecode
YouTube
Android Scott Glover Sourceforge
Rockbox Nathaniel Github
STM32F429I-DISCO Woody Github
Embedded linux
based on ZLG easyARM imax283 board
yongzhena Github
Raspberry Pi
Arm Linux
nejidev Github
Android Tonyfield Github
Raspberry Pi Pico Shuichi Takano Github
Twitter
Raspberry Pi Pico with SD Card Frank Hoedemakers Github
YouTube
PicoSystem Frank Hoedemakers Github
Twitter
RP2040 with ILI9341 LCD pondahai Github
YouTube
Murmulator Ilya Maslennikov Github
Picopad Miroslav Nemecek URL
A Virtual platform
with the standard RISC-V processor
Zdenek Prikryl and Pavel Snobl Paper
Poster
PicoCalc FuyukiYoneyama Github
Twitter
TI-nspire CX II calculators Malik Idrees Hasan Khan Github
hackster

Disclaimer

InfoNES is freeware. There is no guarantee. The author is not responsible for any damages caused by this software. Family Computer is a trademarks of Nintendo Co., Ltd.

About

NES Emulator in C++

Resources

Stars

72 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages