-
Notifications
You must be signed in to change notification settings - Fork 0
/
UNESS.TXT
182 lines (133 loc) · 7.52 KB
/
UNESS.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
ÛßßÛ Û Ûßßßß Ûßßßß
Û Û Û Û Û ÛÜÜ ÛÜÜÜÜ Ûßßß Ûßßß ÛßÛ Û ßßÛßß Û ÛßßÛ Û
Û Û Û Û Û Û Û ßßßÛ Ûßß Û Û Û Û Û ÛÜÜÛ Û
ßßßß ß ßßßß ßßßßß ßßßßß ßßßß ßßßß ß ßßß ß ß ß ß ßßßß
No, it doesn't run "Balloon Force"!
License agreement:
You must not view this file in Notepad. Use Edit.
If you don't agree you should delete this program immediately.
uNESsential 0.20
By Johannes Holmberg, Bj”rn "_Bnu" str”m and Don "FrodoDead" Jarrett.
0. Contents
1........Introduction
2........What's new
3........Instructions
4........Requirements
5........Emulation
6........Misc Stuff
7........Credits
8........Disclaimer
9........More stuff
1. Introduction
uNESsential is a NES emulator written in QBasic. It is written by
Johannes Holmberg, Bj”rn "_Bnu" str”m and Don "FrodoDead" Jarrett
2. What's new
Version 0.20
- Scrolling
- Fixed huge timing bug
- Palette emulation
- Page Up/Page Down can be used in file requester (buggy)
- Opcode SBC fixed.
- Frameskipping.
3. Instructions
How to use it:
There are two ways to run uNESsential.
Either by typing
"uness rom.nes"
or by simply typing
"uness"
which will bring up the file requester.
Joypad Keys:
Arrows - Directional pad
Z - A
X - B
C - Select
V - Start
Other Keys:
Q - Quit
O - Toggle opcode output (slightly out of order)
I - Toggle opcode output (slightly out of order)
P - Toggle palette emulation
B - Set breakpoint
+ - Increase frameskip
- - Decrease frameskip
Opcode output is broken as of version 0.14. You can still use the
O key to look at the registers though.
Maybe I'll have it fixed in the next version.
Joypad emulation works on a toggle basis. Don't keep the physical
keys pressed, or you will go deaf.
To set a breakpoint, press B and then use the keys 1,2,3 and 4 to
choose a breakpoint and hit enter.
4. Requirements
I'm not sure about system requirements really, but here's
what I think should be sufficient:
A PC capable of VGA graphics.
About 100kb of hard drive space for swap files.
A few kilobytes of conventional memory.
A Pentium II is highly recommended.
To play games at full speed (60 fps) you will need a
processor of at least 100Ghz.
5. Emulation
What it emulates:
- All of the 6502 opcodes (I think).
- Most of the PPU
- Joypad 1
What it will emulate in the future:
- Joypad 2 (Possibly 3 and 4 too)
- Sound (only if we manage to speed up emulation remarkably).
- Some mappers.
6. Misc.
Other things you should know:
If a game seems to get stuck on the title screen.
Give it some time, go eat lunch or something.
Some games need more than 100 frames to actually
get into the game. (Usually because the want to play some music)
I destroyed the opcode outputting because it was coded in a stupid way
which slowed down emulation. It will be back in the next version.
Sprite flipping does not currently work in the y-axis with 8x16 sprites.
I don't know of any game which uses it which means that any implementation
of it will be terribly buggy.
A few words on the palette emulation:
uNESsential runs in a 16 colour video mode. This means that good palette
emulation is impossible.
Palette emulation currently works like this:
uNESsential includes a NES palette which uses only 16 colours.
When the background is rendered. A few of these colours are chosen and
are assigned to then actual 16 colours of the pc.
When sprites are to be rendered, they will look throught the palette,
and if they find the colours they need, they'll use them.
If any colours are missing, some parts of that sprite will be black.
This wastes colours, but it is pretty fast.
Compatibility list:
As of v0.20 quite a lot of games work.
I don't feel like making a list though.
Some games that work are.
Super Mario Bros, Balloon Fight, Donkey Kong Junior and Ice Climber.
If anyone wants to make a list, please do,
and I'll post it on the homepage.
Why uNESs? The extra 's' is because I don't want people to
confuse uNESsential with another emulator called
Ultimate NES (uNES).
7. Credits
Thanks to the following people who made this possible:
- Marat Fayzullin and Yoshi for their invaluable NES docs.
- Loopy for making LoopyNES which has helped incredibly.
- Goroh for taking the time to answer my sprite questions.
- Tony Young for creating Junkrom and Mouser.
- Chris Covell for making his various NES ROMs.
- AtLaS for thinking of the name uNESsential.
- AkIlLa^ for pointing out errors and making suggestions,
and implementing the zaniest features in Nes4pc
just to allow me to debug my cpu core.
- Whoever wrote the cart.nes rom.
- Probably some more people. Mail us if we forgot you.
8. Disclaimer
Who cares anyway? Let us just say one thing: "It's not our fault!"
9. More stuff
Feel free to mail me (Johannes) at [email protected],
_Bnu at [email protected],
FrodoDead at [email protected]
The latest version of uNESsential can be downloaded at:
http://www.emucamp.com/unessential/
Copyright - Johannes Holmberg, Bj”rn str”m and Don Jarrett 1999
"Oh no, run!" -R.W.