����������������������������������������
/¯¯¯¯¯¯\/\___ _______ ____/\
\ ___ /\ \/ ____ \/ /
\ \\/ / /\ \ / \/ /\ / /
/\\ \ / \ \ \\____/_ \ \/
/ ¯¯¯ \\ \/ / \/ / \/ \
\______/ \__/\_/\____/\_____/
*** MySNES 0.18b ***
RELEASEDATE - 981115
Created by Martin Johansson
email: f94majo@dd.chalmers.se
www.dd.chalmers.se/~f94majo/mysnes/mysnes.htm
Note: I'd like to know how MySNES works for you. You don't have
to report bugs. Just e-mail me so I know how people use it, what
settings you have for your computer etc.
Martin Johansson, email: f94majo@dd.chalmers.se
(Please don't ask for commercial roms)
WHAT'S NEW
----------------
New in MySNES 0.18 beta:
------------------------
* Some speed increase in gfx (mostly visible with frameskip 0)
* Major speed increase in mode7 FX
* Some speed increase in CPU
* You can set screen height and vertical startpos. (use F6-F9)
This is very useful to speed up gfx.
* Small fixes
* ....
New in MySNES 0.17 beta:
------------------------
* Bugs removed from 0.16b
* Debugger included
* You can choose cacheskip (read usage)
* BIT-instruction corrected
* Some HW-Regs corrected
* When program can't decide HiROM or LoROM, you can press
left mousebutton for LoROM and right for HiROM.
This is necessary for DKC_2 (which only shows the intro)
* Two simple mode7-demos included in the archive.
* ....
New in MySNES 0.16 beta:
------------------------
* You can load zsnes savestate-files
* Filereq. only show rom-files
* Remade some interrupt-code
* Gfxmodes 0-7 now supported. mode7 WITH fx (scaling/2d-rotating)
But some effects use hdma to make it look like 3d-rotating, this
will not look right. For non-rotating plane I will make alot of
speedups some day.
* Alot of small fixes
New in MySNES 0.15 beta:
------------------------
* ROMs always loaded into FASTmem. Before it could often end up
in CHIPmem for some reason.
* Hopefully removed bug that made MySNES hang up when loading a
ROM. It now works for me when using MCP1.30 with FASTrom=on.
* Corrected a major mistake in my DMA-handler. It assumed that
only one channel was started at a time, so many dma-requests
where left-out.
* Better tilecache which now detects all changes in gfx, and
updates necessary tiles after that. The texts in Zelda now
come up and a lot of background-animations are now visible.
New in MySNES 0.14 beta:
------------------------
* New GUI with separate prefs-window (alot of new settings)
* Faster GFX-routines (mostly for 030-users)
* Added a new apu-skip method, much faster than old one and
seems to skip much more hang-up-loops.
* A few fixes with DMA etc.
New in MySNES 0.13 beta:
------------------------
* sprites were drawn in backward order, that is corrected now
* up to 20% faster
* better headerdetection, no need to have a 512-byte header
* removed two cpu-bugs making LufiaI, Big sky troopers, ... run
* fixed colorsettings => perfect colors in Alien3, Censor,
Intro-3, LufiaI, ...
* fixed screenwrap for 32*64 screens. Jaki crush fully playable
* screenwrap correct in FAST. Look at Gooftroop.
* you can now press F1-F5 when using a CD32
* screenupdates done differently (depth-first) so there is
no blinking anymore when scrolling
New in MySNES 0.12 beta (there's alot, I know I'll forget some things):
-----------------------------------------------------------------------
* new more reliable DMA-handler => Mario sprite-bug from 0.11
is gone, Pacman intro ok now, ...
* CPU-speedups
* removed a bug => no more disappearing sprites in Super
Mario World (you can now reach the first castle), Zelda
fully playable (earlier it could freeze sometimes),
sprites ok in Krusty Super Fun House, Super battleship
and much more ...
* implemented correct emulation of regs. $4210-$4212 =>
smoother fading and scrolling in some cases and some
new games start: secret of the stars, sidepocket, ...
* FAST now works to 80% on all screens-sizes. It only fails
when y_scroll > 256 (ex. Gooftroop)
* full tileflip in FAST
* fastmode1 can be used in FAST
* new option (Swap BGs) that is very useful when running Zelda
It draws BG1 and BG2 in reversed order. Try it in any castle
and see the difference (still no sprite-priorities)
* fixed two bugs in the memorymapping
* changed the initial settings a bit
* ....
New in MySNES 0.11 beta:
------------------------
* remade the screenmode "SQUASHED". Check it out.
* cd32-joypad supported
* new read/write-routines => faster
* a little sprite-fixes, pacman sprites much better
* read from OAM/VRAM/WRAM added
* mysnes.cfg saved to remember last directory
* the new screenmode "FAST" worked on. Have a lot left though
* pacman, breakthru & gooftroop playable
* mode7 implemented (no fx or scrolling yet)
* some mode7 regs implemented => rpg1.smc works as it should
How to install.
-------------------
* copy directory "marble" and file "marble.font" to your
font-directory. I seem to have missed the file "marble/15"
in some earlier versions. If you can't find it, please mail me.
The prg crashes if the font can't be found.
* start MySNES.EXE from CLI or WORKBENCH
What is this?
------------------
This is (becoming) a SNES emulator for Amiga. It's written in 100%
assembler but is still very slow (to be honest). I use
AsmPro 1.14 and have an Amiga 1200, blizzard 1230 50 MHz without
FPU, a 2.5 Gb HD and 8 Mb FASTRAM (+ 2 CHIP).
Before using this program, please note that:
* it is still rather slow
* it requires an Amiga with 68020, AGA, at least 2.5 Mb of ram
and reqtools.library
* I take no responsibility for any damage this program may cause on
your computer
* I won't answer any rom-requests
What is emulated?
------------------
* All opcodes of CPU 65816
* Mode 0-6, 7 (with FX) all with 8x8 tiles (not 16x16)
flipped in all dirs.
* Screen size 32x32, 32x64, 64x32, 64x64
* Sprites 8x8, 16x16, 32x32 (no flip), 64x64 (no flip)
* NMI = vertical blank interrupt
* IRQ, not perfect but helps some roms
* Multiply/divide registers
* Joypad 1 via keyboard or cd32 (see 4. Keys)
* Autosave of battery backup
* All 8 dma channels, modes 0, 1, 2, 3, 4
* Read/write OAM/VRAM/WRAM
Requirements
------------------
* Amiga with 68020, AGA, around 2.5 Mb free mem. and reqtools.library
* SNES-Roms
How to use emulator
------------------------
Main
-------------
* Prefs
- Switch to prefs-page
* Debug
- Start the debugger
* Save state
- Not implemented yet
* Load state
- Load a ZSNES savestate-file
These are named *.zst or *.zs0, *.zs1, ....
Prefs
-------------
* Save
- Save prefs in file "SYS:S/MySNES.cfg"
This will also save current rom-dir and state-dir.
This is NOT automatically saved anymore.
* Static screens
- When selected it only copies changes of the screen to
chipmem. It should be faster on games with static displays
like pacman etc.
* Speedtrick 1
- For future implementations
* Speedtrick 2
- For future implementations
* Swap BGs
- Will reverse the order in which BG1 and BG2 are drawn.
This is very helpful in Zelda. Try it in castles. Outside
you can use this or disable BG1 (by pressing F1),
otherwise you wont see through the rain.
* Player input (PLAYER 2 NOT EMULATED YET)
- Choose your input, keyboard or CD32
- If you use CD32 then it's PAUSE-button = SNES' startbutton
and SPACE on kbd = SNES' selectbutton
-------------------------------------------------------------
* APU-skipper
- Choose method to skip communications with the Audio
Processing Unit. Old method=0. New in MySNES 0.14 is
method 1
- method 1 improved in ver 0.17
Now it should start metroid3
- method 2 tries to simulate the apu block transfer
but doesn't seem to work correct yet
* Save battery-backup
- Remember to have this checked if you want to save your
progress in games.
-------------------------------------------------------------
* Resolution
- Choose LoRES or HiRES screen
* Update method
- Tilecache was known as FAST in version 0.13
- Full will update all tiles in all bgs every update.
* Copymode
- How to copy data to chipmem.
1. Full copies whole 256*240 screen
2. Spaces (also known as scanlines) will copy every second
line. Much faster compared to 1 on a 030, but I
couldn't see any big difference on 060.
3. Squashed also copies every second line but doesn't
leave any spaces between the copied rows, so the
screen looks squashed. Try this in HiRES.
* Cacheskip
- How often you want to update the BGs. Setting 0 make
them get updated before every frame update. It only
updates changes. This doesn't change smoothness
of the scrolling. Just animations and such things.
* Frameskip
- Number of frames to skip before every frame is rendered
frameskip = 0 => all frames are rendered
* Hcycles%
- How many percent of the 206 horiz.machine cycles you
want to do before entering Hblank. Many demoroms only
need about 50.
4.1 *** EMULATOR keys ***
---------------------------
F1 - BG1 on/off
F2 - BG2 on/off
F3 - BG3 on/off
F4 - BG4 on/off
F5 - SPR on/off
-new- F6 - Start screen rendering 8 pixels higher up (if possible)
-new- F7 - Start screen rendering 8 pixels lower (if possible)
-new- F8 - End screen rendering 8 pixels higher up (if possible)
-new- F9 - End screen rendering 8 pixels lower (if possible)
F10 - Force screen on/off
Esc - quit emulator
Left Amiga - A button
Left Alt - B button
Right Amiga - TopLeft
Right Alt - TopRight
Ctrl - Y button
Left shift - X button
Return - Start button
Right shift - Select button
Demos that show decent gfx
-------------------------------
NOT UPDATED SINCE 0.10 beta
* infinity.smc
* unknown.smc
* sonic.smc
* intro-1.smc
* intro-2.smc
* intro-3.smc
* magical.smc
* censor.smc
* taurus.smc
* cdi.smc
* dwarf.smc
* tictac.smc (fully playable!)
* wa-chess.smc (seems ok, I can't start playing in Snes9x either)
* bluesky.smc
* FinalFantasy 2 (only titlescreen)
* smile!.smc
* s-snake.smc (playable!)
* rpg1.smc
* rapegame.smc (playable!)
* 15puzzle (fully playable!)
* Bioworm (fully playable!)
* Nuke (playable)
* jaki crush (some gfxbugs)
* zelda (some gfxbugs)
* super mario world (some gfxbugs, but seems fully playable)
* super r-type (can't start playing)
* simcity (gfx-priority problems but fully playable I think)
* harvest moon (extremely slow)
.. (actually I know a lot more that starts now) ..
Thanks to...
------------------
* Morgan "A/NES" Johansson for codes, ideas and testing
* Fredrik "A/NES" Schultz for programming books used in
optimization and maybe future PowerPC-coding
* Savoury SnaX, author of SNEeSe (SNES emulator for PC), for docs
on the 65816
* Yoshi, for the technical docs on SNES
* Tomas Amsrud for the Icons and the AmigaGuide (it's great isn't it).
* Jesper Svennevid for the competition with AmiSNESE, and good luck
with your new project.
* Sidewinder who gave me a beta of a mysnes.guide file
* zsknight and _demo_ (ZSNES team) for showing me how their state-
files are designed
* All other people that have helped
|