@DATABASE "CoolNESs-guide"
@WIDTH 77
@(c) "1997 Fredrik Olsson"
@INDEX Index
@NODE "Main" "CoolNESs Still rockin' on!"


@{B}                    CoolNESs a cool NES-emulator for Amiga
                               By Fredrik Olsson
                           version 0.59b [1997/12/10]
@{UB}

New in V0.59b: GUI!
Se history also.



@{B}Features:@{UB}
   Support for Mapper: 1, 2, 3, 4, 7, 9, 11, 15, 16.
   10 inputs (Normal+CD32pad+MegaDrivepad+4pl-adapt) and keyboard.
   4player-adapter.
   Screenscrolling.
   4Screen VRam support.
   8 & 16 high sprites.
   Battery save.
   Soundsupport. *Registered users only*
   Keyfile support.



   @{" Copyright    " LINK "copyr"}	Who owns this.
   @{" Introduction " LINK "intro"}	What is this anyway?
   @{" Requirements " LINK "requirements"}	What exactly do you need.
   @{" Usage        " LINK "usage"}	How to use this thingi.
   @{" The Future   " LINK "future"}	I see..... somethings.
   @{" History      " LINK "history"}	How it was before.
   @{" Limitations  " LINK "limits"}	The limits and what you can do about them!
   @{" Bugs         " LINK "bugs"}	Nasty little buggers.
   @{" Author       " LINK "author"}	Thats me, the man.
   @{" Thanks       " LINK "thanks"}	People I wanna thank.

@ENDNODE

@NODE "thanks" "Thanks"

  I would like to thank the following people for their help in obtaining
information regarding NES emulation.

Marat Fayzulin,             Would never have started without his doc!

Yoshi,                      Thanks for the docs on sound.

Alex Krasivsky,             He started the research on the NES-hardware.

Juan Antonio Gomez Galvez,  Thanks a lot, for hints on the code and stuff.



Thanks to all Amiga-Users.....
All who registered        Thanks alot for the moral support.
Specially to all who have payed for it:
Blonde Lion,
Martin Chantler,
SnuskBob,
Olov Sandell,
Björn Johansson,
Nikolaos Theologou,
Fredrik Eriksson,
Josef Andersson,
Robert Karlsson,
Peter Mattsson,
Carl Röjstrand,
Gouygou David,
Johan Eriksson,
Paul Murphy,
Marcus Johansson,
Lars-Erik Åström,
Daniel Beorchia,
Andreas Olsson,
Christopher Hart,
Jesper Klingvall,
Per-Ola Eriksson,
Peter Fischer,
David Ståhl,
Erik Dahlberg,
Niclas Aronsson,
Nicholas Nilsson,
Lennart Johannesson,
Kenneth Johannesson.

All the WarD-members.
Guru, for alwas wondering "how is it going with CoolNESs?" ;)
Tesla, for some crazy ideas for CoolNESs and help with the keyfile+GUI.
Ash, hopefully providing some gfx soon.
Axe, for being the best friend ever =)
xTs, code on man.
Classes, same to you, man.
CaB, for maintaining the @{B}WarD@{UB} homepage.
BluMental, for being a realy kewl dude.
$tud for making excelent music.

3LE, the kewlest elks in town :)

Spot/3LE, for always pestering me to make my Zelda-simulator ready.

Tomas Amsrud for the kewl icons and install script.

Ida Evertsson.

Nintendo???

More to come.......


@ENDNODE

@NODE "copyr" "Copyright"
    This guide and the executable CoolNESs-file is
    copyright 1997 Fredrik Olsson. This is shareware so spread it as much
    as you like, non altered. But don't spread the keyfiles.

    This Software is provided "As is", so if your computer or anything
    else bursts into flames or starts leaking or anything else unpleasent
    happens and you think you can blame me, you'r wrong. You are responsible.
    Don't use this if you don't like it.

    This product may only be used on an Amiga compatible computer.

    It may not be sold for profit.
    If published on a coverdisc/cd with a magazine I would like a copy of
    the magazine or atleast be noticed about it.

    You are not allowed to use this software in the creation of weapons.
    
    If you cant read this text then you MUST ask a friend or
    a parent to read it for you  ;)

    If you happen to crack the keyfiles I would like one registered on me ;)


@ENDNODE

@NODE "author" "Contact Me"

   I'm a 22 year old unemployed male. I've just finnished my military service.
   I love music, I can't live without it, I listen to very different kinds of
   music, my newest CD is "SPAWN the album". HardRock and Techno.
   I also have a Tamagotchi, right now it is very dead, but I think I'll
   revive it soon.
   My computer is a trusty old A4030 with CD-player and some memory.
   I also have a bunch of other consoles/computers.
   I'm a member of the demogroup WarD (/\), we've created productions
   like "Once upon a time" and "Black Hair Tounge Deceas".
   I often go to Gothenburg to se my friends there, when I get a jobb and earn
   some money I hope I can move there.
   Right now I'm doing a Networkscourse, so the work with CoolNESs will slowdown :(




    EMail:
          flubba@hem2.passagen.se
          is9515@maskin.ing.hb.se

    HomePage:
          http://hem2.passagen.se/flubba/	(coolness.html)

    Mail:
          Fredrik Olsson
          Lars Kaggsgatan 111
          504 43 Borås
          Sweden

    Telephone:
          +46 (0)33-129664

    IRC:
          FluBBa


For registration see @{"Limitations" LINK "limits"}

@ENDNODE

@NODE "intro" "Introduction"


  I was looking for a cool NES-emulator but all around me was darkness. ;)

  Well it all started out a couple of years ago when I started on a Zelda-
  simulator, first we started recreating the graphics, and then some rutines
  but the more I coded the more I saw how much time this would take.
  So when I heard of Nes-emulator for the Amiga I thougt......

  Eeeh well at least I tried to think :)

  So here is the result of some weeks thinking and some weeks of coding.
  (Actully it begins to look like months now....)

  Zelda is working now! =)

  And it's coded in 100% assembler, sorry I don't know how to code C.
  The GUI is coded in C, but that's my friends (Peter Bengtsson) work.


                                @{B}CoolNESs!@{UB}



@ENDNODE

@NODE "usage" "Usage of CoolNESs"

	Remember to the tabs.gadget to SYS:Classes/Gadgets/ !!!

	Kind of simple actualy, just run it from cli or WB.
	Click Load and select a *.nes file and away you go.
	Now also takes an argument from cli (Good for DOpus =)?.


	Return or Yellow works as @{B}Start@{UB}.

	Right_Shift or Green works as @{B}Select@{UB}.

	Left_Alt, Fire1 or Red is @{B}B@{UB}.

	Left_Amiga, Left_Shift, Fire2 or Blue is @{B}A@{UB}.

	Arrow_Keys or joy is direction.


	@{B}F1@{UB} selects normal joy1.
	@{B}F2@{UB} selects CD32pad1.
	@{B}F3@{UB} selects MegaDrivepad1.		@{"What" LINK "MDPad"} do I need?
	@{B}F5@{UB} selects Zapper2 emulation with mouse2 (test).
	@{B}F6@{UB} turns on joy2.
	@{B}F7@{UB} selects CD32joy2 (not in function yet).
	@{B}Esc@{UB} or Play is used to Quit.
	@{B}F10@{UB} or Forward+Backward is Reset.
	Keyboard1 is always connected to Input1.


	@{" Picture      " LINK "joy_keys.iff/MAIN"}

@ENDNODE

@NODE "MDPad" "How to modify your MegaDrive gamepad."

	To make your MegaDrive pad work with CoolNESs (and Wzonka Lad)
	all you have to do is switch places on pin 5 and 7 on the pad.

	Easy? =)
	Okey, to make a short explanation long, here is the whole story.
	The Amigas joyport has 9 pins. 1 for ground and 1 for +5V, 4 for direction
	and 2 for firebuttons, so this leaves 1 pin left.
	So how can you get 1 pin to connect to 2 buttons? You use a multiplexer!
	This is what the MegaDrive does, it uses a 74HC157 to change wich buttons
	to check for. So the 2 pins that go to the firebuttons can actually
	adress 4 buttons, A B C Start.

	The only problem is that pin 7 on an Amiga is +5V, and on a MegaDrive
	this is pin 5.
	
	So all you have to do is to open up your MegaDrive pad and find cable
	7 and 5 and switch em round. This can require soldering, and if you'r
	not familiar with that, _DON'T TRY IT_. or you can, but I've warned you.
	I take no responsibility what so ever if something nasty should happen.
	There shouldn't be a problem though.

	Also check Aminet/util/libs/ControlPad.lha

@ENDNODE

@NODE "requirements" "Requirements of CoolNESs."

	To start the emulator you need AGA and a 68020 or better.
	Right now a PAL-monitor is required too. Maybe changes in the future.
	To get good speed (50fps) you will need a 25MHz+ processor
	and fast-mem. Many intros and some games still _only_ needs
	14MHz and fastmem for 50fps. You tell me if this is "fast".

	It needs a total of 200k chip and 250k any mem.
	Plus mem for the cartridge. Varys from 24k to 768k.

	A 2button+ joystick is nice but not necessary.

	If somebody thinks 500k chip is too much, then tell me,
	the next version will probably need that much to get rid of stupid
	flickering when scrolling over screens.

	A NES-rom would be fun also... =)
	And NO! I wont send any to you! Not if its Copyrighted.

	Maybe I write a demo for the NES. :)

@ENDNODE

@NODE "future" "What to come in the future."

	There are a lot of things to come in the future.
	To bad I can't predict the future ;)

	XPK support.

	Better sound, support noise and PCM.

	NTSC/PAL selectable. Frequency and screenheight.

	Splitscreen, tricky but it's possible.

	New mappertypes, #5, #6.

	Better sprites. Priority. (faster if its possible?).

	Cycle-count and system-screen to allow for real multitasking.
	And a non-AGA version???

	NES-DiskDrive???

	FamilyBasic Keyboard???

	Zapper???

	A kewl demo, to show off some gfx.

@ENDNODE

@NODE "history" "The history of CoolNESs"

	Ver 0.59    10 December 1997.
	Added GUI.

	Ver 0.49    never released 17 November 1997.
	Added IRQ support for Mapper#4 (Batman3 & Jurassic Park doesn't lock up).
	Added 4player-addapter support.
	Fixed Mapper#1 a bit (Zelda2 now looks good).

	Ver 0.48    10 November 1997.
	Rewrote the keyboard-routine to use the OS.
	Fixed a bug in the PPU which caused many RARE-games to look strange.
	Added 4Screen VRam (Gauntlet works).
	Fixed a small bug when exited.
	Added Mapper#15 (100in1).

	Ver 0.47    3 November 1997.
	Added Mapper#16.
	Small speedup in hardware access.
	Now doesn't quit till you cancel.
	Fixed Mapper#7 a bit.
	Added support for cli argument, now also finds the keyfile from cli.
	Fixed bugs in ASL-requester/prefs.
	Added support for modified Megadrive-pad.	Check @{"MegaDrivePad" LINK "MDPad"}


	Ver 0.46    12 October 1997.
	Now remembers the last directory.
	Small speedup in spriteroutines.
	Speedup in some Mapper#4 games.	
	Small fixes to memoryhandling (no leaks).
	New MWB-icons by Tomas Amsrud.

	Ver 0.45    29 September 1997.
	Fixed the sprites! =)
	Minor speedup in the cpu routine SBC + memory access.

	Ver 0.441   14 September 1997.
	Fixed the mapper routine wich I screwed up in V0.44.

	Ver 0.44    11 September 1997.
	Added Mapper#4. Most Gfx seem okey now, no IRQ is supported yet.

	Ver 0.43    5 September 1997.
	Added CD32-joypad support.
	Fixed the keyboardhandler.
	Fixed dutycycles in sound(some games sound much better).

	Ver 0.42b   27 August 1997.
	Fixed backgroundcolour (again).
	Added Mapper#11.
	Major speed improvements.
	Turned of filters (will be selectable).
	Fixed border bug.
	Rewrote soundroutines.
        
	Ver 0.41b   11 August 1997.
	Added Keyfile support. Thanks to Blonde Lion. =)
	Rewrote some of the CPU emulation. Thanks to Juan Antonio Gomez.
	Added minimal soundsupport.

	Ver 0.40b   9 August 1997.
	Added 16pixel high sprites.
	Added battery save.
	Mapper#1 Partially working. Zelda, KidIcarus, Metroid, Castlevania2.
	Edited sprite-flag in PPUstatus register (again).
	Fixed the background-color.
	Minor update of the gfx&cpu-routines.

	Ver 0.39b   2 August 1997.
	Lowered vertical resolution.
	Fixed Mapper7 and Mapper9.
	(Have you seen the PunchOut-logo in Darkness?)

	Ver 0.38b   1 August 1997.
	Fixed sprite-flag in PPUstatus register (many more games work).

	Ver 0.37b   30 July 1997.
	Added First try on mapper9, Punch Out.
	Rewrote some cpu-routines (saved 10 cycles on rotate-left).
	Rewrote the gfx-routines (scrolling games faster).
	Added keyboard-support (not good but it works).
	No more NMI during MemSwapping, mapper2 works better.
	Moved gfx-routines out of the interupt. woops!
	Added First try on mapper7, Wizards&Warriors etc.
	Mapper3 changed to "Noncopying", pointer instead (faster).
	Added MemAlloc for CartSize.

	Ver 0.36b   17 July 1997.
	Added Asl-requester.
	Added RomInfo

	Ver 0.3 never released
	Fixed a groovy bug in the CPU-command SBC.

	Ver 0.2     never released
	Made screen-core.
	Made cpu-core.

	Ver 0.1     never released   29 June 1997
	Started on the concept of a NES-emulator.
	Downloaded Marats NES-Doc.

         
@ENDNODE

@NODE "limits" "Limitations."

	Are there Limitations!?!

	If you are unregistered there is a time limit of 10 minutes
	and no sound. You'll need a keyfile to unlook these limitations.
	It doesn't support IRQ in Mapper4,
	no splitscreen,
	no noise or PCM sound.
	


	This will change in the @{"Future" LINK "future"}, but I want your response.
	So if you want a full version then register.
	If you have a keyfile you have no time limit plus sound.
	This keyfile will work with all future versions of CoolNESs.

	And from now on it will cost $15/£12/100SeKr, cash please.
	Or if you have an old Nintendo game cartridge, I _may_ trade it for
	a keyfile, but then you _must_ contact @{"me" LINK "author"} first.
	Games I'd like:
	Metroid, RCProAm(2), CobraTriangle, TMNT(2), etc.


	Send your full name, _adress_ and money to:

	Fredrik Olsson
	Lars Kaggsgatan 111
	504 43 Borås
	Sweden

	You will need an email-adress to receive keyfile.
	or send me an error free disk plus $2/£2/10Skr or enough stamps.

@ENDNODE

@NODE "bugs" "BUGS!!!!"

	Are there @{B}BUGS!?!@{UB}

	The CPU-emulation may have some kind of bug.
	I Still have problems with the NMI+Mapper.
	Joy2 has problems with some games.
	The keyboard and joy seem to miss keys sometimes.


	Probably some more to....

	Check @{"Limitations" LINK "limits"} also.
	For Bugreports check @{"my adress" LINK "author"}.
	Remember to include computer plus processor info.
	Any patches. Rom + Wb info.
	I don't want any reports about games not working, or trashed
	graphics. I know about it.

@ENDNODE

@NODE "Index"

   @{" Copyright    " LINK "copyr"}	Who owns this.
   @{" Introduction " LINK "intro"}	What is this anyway?
   @{" Requirements " LINK "requirements"}	What exactly do you need.
   @{" Usage        " LINK "usage"}	How to use this thingi.
   @{" The Future   " LINK "future"}	I see..... somethings.
   @{" History      " LINK "history"}	How it was before.
   @{" Limitations  " LINK "limits"}	The limits and what you can do about them!
   @{" Bugs         " LINK "bugs"}	Nasty little buggers.
   @{" Author       " LINK "author"}	Thats me, the man.
   @{" Thanks       " LINK "thanks"}	People I wanna thank.
   @{" MegaDrivepad " LINK "MDPad"}	How to modifi your MD-pad.
   @{" Picture      " LINK "CoolNESs.iff/MAIN"}	A nice CoolNESs logo.
   @{" Joy and keys " LINK "joy_keys.iff/MAIN"}	A help picture.


@ENDNODE
