|
|
1.1 root 1:
2:
3: Previous 2.0
4:
5:
6:
7: Contents:
8: ---------
9: 1. License
10: 2. About Previous
11: 3. Compiling and installing
12: 4. Known problems
13: 5. Running Previous
14: 6. Contributors
15: 7. Contact
16:
17:
18: 1) License
19: ----------
20:
21: This program is free software; you can redistribute it and/or modify it under
22: the terms of the GNU General Public License as published by the Free Soft-
23: ware Foundation; either version 2 of the License, or (at your option) any
24: later version.
25:
26: This program is distributed in the hope that it will be useful, but WITHOUT ANY
27: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
28: FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
29:
30: You should have received a copy of the GNU General Public License along with
31: this program; if not, write to the
32: Free Software Foundation, Inc.,
33: 51 Franklin Street, Fifth Floor, Boston,
34: MA 02110-1301, USA
35:
36:
37: 2) About Previous
38: -----------------
39:
40: Previous is a NeXT Computer emulator based on the Atari emulator Hatari. It
41: uses the latest m68k emulation core from WinUAE and the i860 emulator from
42: Jason Eckhardt. Previous is confirmed to compile and run on Linux, Mac OS X
43: and Windows. It may also work on other Systems which are supported by the SDL2
44: library, like FreeBSD, NetBSD and BeOS.
45:
46: Previous emulates the following machines:
47: NeXT Computer (original 68030 Cube)
48: NeXTcube
49: NeXTcube Turbo
50: NeXTstation
51: NeXTstation Turbo
52: NeXTstation Color
53: NeXTstation Turbo Color
54: NeXTdimension Graphics Board
55:
56:
57: 3) Compiling and installing
58: ---------------------------
59:
60: For using Previous, you need to have installed the following libraries:
61:
62: Required:
63: - The SDL library v2.0.5 or later (http://www.libsdl.org)
64: - The zlib compression library (http://www.gzip.org/zlib/)
65:
66: Optional:
67: - The libpng PNG reference library (http://www.libpng.org)
68: This is required for printing to files.
69: - The pcap library (https://github.com/the-tcpdump-group/libpcap or
70: https://www.winpcap.org)
71: This is required if networking via PCAP is preferred over SLiRP.
72:
73:
74: Don't forget to also install the header files of these libraries for compiling
75: Previous (some Linux distributions use separate development packages for these
76: header files)!
77:
78: For compiling Previous, you need a C compiler (preferably GNU C), and a working
79: CMake installation (see http://www.cmake.org/ for details).
80:
81: CMake can generate makefiles for various flavors of "Make" (like GNU-Make)
82: and various IDEs like Xcode on Mac OS X. To run CMake, you've got to pass the
83: path to the sources of Previous as parameter, for example run the following if
84: you are in the topmost directory of the Previous source tree:
85: cmake .
86:
87: On Windows MinGW/MSYS is recommended for building Previous. CMake needs an
88: extra argument for generating the makefiles:
89:
90: cmake -G "MSYS Makefiles" .
91:
92: If you're tracking Previous version control, it's preferable to do
93: the build in a separate build directory as above would overwrite
94: the (non-CMake) Makefiles coming with Previous:
95: mkdir -p build
96: cd build
97: cmake ..
98:
99: Have a look at the manual of CMake for other options. Alternatively, you can
100: use the "cmake-gui" program to configure the sources with a graphical
101: application.
102:
103: After cmake finished the configuration successfully, you can compile Previous
104: by typing "make". If all works fine, you'll get the executable "Previous" in
105: the src/ subdirectory of the build tree.
106:
107:
108: 4) Status
109: ---------
110:
111: Previous is stable, but some parts are still work in progress. Some hardware
112: is not yet emulated. Status of the individual components is as follows:
113: CPU good (but not cycle-exact)
114: MMU good
115: FPU good
116: DSP good
117: DMA good
118: NextBus good
119: Memory good
120: 2-bit graphics good
121: Color graphics good
122: RTC good
123: Timers good
124: SCSI drive good
125: MO drive good
126: Floppy drive good
127: Ethernet good
128: Serial dummy
129: Printer good
130: Sound good
131: Keyboard good
132: Mouse good
133: ADB dummy
134: Nitro dummy
135: Dimension partial (no video I/O)
136:
137:
138: There are remaining problems with the host to emulated machine interface for
139: input devices.
140:
141:
142: 5) Known issues
143: ---------------
144:
145: - Un-emulated hardware may cause problems when attempted to being used.
146: - NeXTdimension emulation does not work on hosts with big endian byte order.
147: - The MO drive causes slow downs and hangs when both drives are connected, but
148: only one disk is inserted. This is no emulation issue but a bug in NeXTstep.
149: - DSP sound has timing related issues. playscore under NeXTstep 0.9 sometimes
150: produces bad audio in variable speed mode. ScorePlayer under NeXTstep 2.x
151: produces distorted sound in normal CPU mode.
152: - Shortcuts do not work properly or overlap with host commands on some
153: platforms.
154: - CPU timings are not correct. You may experience performance differences
155: compared to real hardware.
156: - 68882 transcendental FPU instructions produce results identical to 68040 FPSP.
157: The results are slightly different from real 68882 results.
158: - Changing network connection settings while a guest system is running sometimes
159: causes permanently lost connections, especially under NeXTstep 2.2.
160:
161:
162:
163: 6) Release notes
164: ----------------
165:
166: Previous v1.0:
167: > Initial release.
168:
169: Previous v1.1:
170: > Adds Turbo chipset emulation.
171: > Improves DSP interrupt handling.
172: > Improves hardclock timing.
173:
174: Previous v1.2:
175: > Adds support for running Mac OS via Daydream.
176: > Improves mouse movement handling.
177: > Adds dummy Nitro emulation.
178: > Improves dummy SCC emulation.
179:
180: Previous v1.3:
181: > Adds Laser Printer emulation.
182: > Introduces option for swapping cmd and alt key.
183:
184: Previous v1.4:
185: > Adds NeXTdimension emulation, including emulated i860 CPU.
186: > Improves timings and adds a mode for higher than real speed.
187: > Improves emulator efficiency through optimizations and threads.
188: > Improves mouse movement handling.
189: > Improves Real Time Clock. Time is now handled correctly.
190:
191: Previous v1.5:
192: > Adds emulation of soundbox microphone to enable sound recording.
193: > Fixes bug in SCSI code. Images greater than 4 GB are now supported.
194: > Fixes bug in Real Time Clock. Years after 1999 are now accepted.
195: > Fixes bug that prevented screen output on Linux.
196: > Fixes bug that caused NeXTdimension to fail after disabling thread.
197:
198: Previous v1.6:
199: > Adds SoftFloat FPU emulation. Fixes FPU on non-x86 host platforms.
200: > Adds emulation of FPU arithmetic exceptions.
201: > Adds support for second magneto-optical disk drive.
202: > Fixes bug that caused a crash when writing to an NFS server.
203: > Fixes bug that prevented NeXTdimension from stopping in rare cases.
204: > Fixes bug that caused external i860 interrupts to be delayed.
205: > Fixes bug that prevented sound input under NeXTstep 0.8.
206: > Fixes bug that caused temporary speed anomalies after pausing.
207: > Improves dummy RAMDAC emulation.
208:
209: Previous v1.7:
210: > Adds support for twisted-pair Ethernet.
211: > Adds SoftFloat emulation for 68882 transcendental FPU instructions.
212: > Adds SoftFloat emulation for i860 floating point instructions.
213: > Improves 68040 FPU emulation to support resuming of instructions.
214: > Improves Ethernet connection stability.
215: > Improves efficiency while emulation is paused.
216: > Improves device timings to be closer to real hardware.
217: > Fixes bug in timing system. MO drive now works in variable speed mode.
218: > Fixes bug in 68040 MMU that caused crashes and kernel panics.
219: > Fixes bug in 68040 FPU that caused crashes due to unnormal zero.
220: > Fixes bug in FMOVEM that modified wrong FPU registers.
221: > Fixes bug that sometimes caused hangs if sound was disabled.
222: > Fixes bug that caused lags in responsiveness during sound output.
223: > Fixes bug that caused a crash when using write protected image files.
224:
225: Previous v1.8:
226: > Removes support for host keyboard repeat because it became useless.
227: > Fixes bug that caused FMOVECR to return wrong values in some cases.
228: > Fixes bug in timing system that caused hangs in variable speed mode.
229:
230: Previous v1.9:
231: > Adds support for networking via PCAP library.
232: > Improves 68030 and 68040 CPU to support all tracing modes.
233:
234: Previous v2.0:
235: > Adds support for multiple NeXTdimension boards.
236: > Improves i860 timings to be closer to real hardware.
237:
238:
239: 7) Running Previous
240: -------------------
241:
242: For running the emulator, you need an image of the boot ROM of the emulated
243: machine.
244:
245: While the emulator is running, you can open the configuration menu by
246: pressing F12, toggle between fullscreen and windowed mode by pressing F11
247: and initiate a clean shut down by pressing F10 (emulates the power button).
248:
249:
250: 8) Contributors
251: ---------------
252:
253: Previous was written by Andreas Grabher, Simon Schubiger and Gilles Fetis.
254:
255: Many thanks go to the members of the NeXT International Forums for their
256: help. Special thanks go to Gavin Thomas Nicol, Piotr Twarecki, Toni Wilen,
257: Michael Bosshard, Thomas Huth, Olivier Galibert, Jason Eckhardt, Jason
258: Stevens, Daniel L'Hommedieu, Vaughan Kaufman and Peter Leonard!
259: This emulator would not exist without their help.
260:
261:
262: 9) Contact
263: ----------
264:
265: If you want to contact the authors of Previous, please have a look at the
266: NeXT International Forums (http://www.nextcomputers.org/forums).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.