NES EMULATOR - ORIGINAL EMULATOR WRITTEN BY JAVIDX9 - https://www.youtube.com/javidx9 - olcNES
PORTED BY ATOMIZER_ZERO TO THE COLOUR MAXIMITE 2. VERSION: 0.0.2a

VERSION CMM2 5.05.05b4 OR UP REQUIRED "https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TI"

DISCLAIMER: NO ROMS WILL BE PROVIDED WITH THIS EMULATOR, AS THEY ARE CONSIDERED COPYWRITE BY
NINTENDO AND OTHER GAME PUBLISHERS AND DEVELOPERS. THIS IS A HOBBY PROJECT, WITH NO INTENTION
TO MAKE MONEY FROM IT AND IS MADE FOR EDUCATIONAL PURPOSES. EMULATORS ARE CONSIDERED LEGAL SO
LONG AS THEY DONT INCLUDE ANY SOFTWARE OBTAINED DIRECTLY FROM THE CONSOLE (SUCH AS BIOS FILES). 

JAVIDX9 HAS A VIDEO TITLED "NES Emulator Part #1: Bitwise Basics & Overview" AND AT TIMESTAMP
5:24, HE GOES INTO A SMALL AMOUNT OF DETAIL ABOUT HOW YOU CAN DUMP YOUR OWN CARTS. OTHERWISE, 
GOOGLE IS YOUR FRIEND...

Currently, the speed of the emulator is unplayable. It draws around 2 scanline per second
when debug is off and "option console screen" is set.

With the Debug flag set to 1, the emulator will print all of its instructions, flags and ppu data
to the console. This is useful for keeping track of how the emulator is progressing and
provides information that can help in finding bugs.

The CPU *should* be 100% complete to official nes 6502 standards. Unofficial opcodes have not been
implemented. 

PPU is rendering sprites and backgrounds successfully.

There is NO sound emulation. Even if implemented, it would probably be show stopping haha.

Controls are mapped to the arrow keys for up, down, left, right. X KEY = A button. Z Key = B button
S KEY = Start Button, A KEY = Select Button. Button presses will be printed to console if Debug 
is on. *input response in games running in the emulator is so slow that it's hard to tell if the
input is even working as intended.*

NES games use various MAPPERS in order to expand the capability of the NES. In this early alpha
of this NES emulator, only mapper 0 is supported, Also known as NROM. This mapper maps the address
and data lines directly to the NES, and so not complicated to implement at all. This means only 
very early NES games will "run". Games such as Donkey Kong, 1942, Pinball, Bomberman, etc.
goto http://bootgod.dyndns.org:7777/ and you can use the sites search to find all MAPPER 0 game 
information.


TO RUN:
Execute NES.BAS, then at the prompt, type in the location of your NES ROM.

"ROMS/GAME.NES" for example.

KNOWN BUGS:
CONTROLS DONT RESPOND, maybe...

KNOWN ISSUES:
ITS SLOW. EXPECT TO WAIT UPWARDS OF 15 MINUTES TO SEE THE TITLE SCREEN OF GAMES LOAD IN.
NO SOUND. THIS IS BY DESIGN AT THE MOMENT.

POTENTIAL FOR THE FUTURE:
SPEED UP EMULATION WITH CSUBS. CURRENTLY ONE CSUB IS BEING USED IN THE PPU TO FLIP SOME BYTES.


If nothing else, this is just a proof of concept. Maybe in the future, there will be a much faster
maximite (Super Colour Maximite! :P) and then maybe it'll run even faster.

-ATOMIZER_ZERO
