В этой статье я попытаюсь очень кратко рассказать об эмуляторах различных компьютерных платформ, существующих сегодня на машинах, совместимых IBM PC. Эмуляторы - это специальный тип программного обеспечения, созданный для имитации работы одной компьютерной платформы на другой. Для примера возьмем эмулятор всем известного культового компьютера - Apple II. Для эмуляции, т.е. получения рабочей копии Apple на конкретно вашей IBM PC-совместимой машине, необходим сам эмулятор, образ ПЗУ Apple II, хранящийся в отдельном файле (например, APPLE.ROM), а также образы дисков, для того чтобы было что запустить (например, WINGS1.DSK, WINGS2.DSK - игра на двух дисках Wings of Fury (c) Br0derbund Software, 1987). Для полноценной эмуляции также необходим достаточно мощный компьютер. В зависимости от сложности эмулируемой платформы (например, сравните: сложнейший в эмуляции компьютер Commodore Amiga и, несомненно, менее сложный, Nintendo Gameboy), а также от уровня оптимизации эмулятора и операционной системы (например, сравните эмулятор, написанный полностью на языке ассемблера под операционную систему DOS и на Visual C++ под Windows NT) может потребоваться достаточно мощная вычислительная система. В нашем случае с эмулятором Apple II достаточно средней машины 486.
В настоящее время на компьютерах типа IBM PC существует очень много эмуляторов различных машин, все они, практически, созданы энтузиастами этих платформ, отдавших часть своей жизни работе на них и полюбивших их на всю жизнь. Для многих это просто хобби и ностальгия. Встает вопрос о законности создания эмуляторов какой- либо платформы. На этот вопрос нет однозначного ответа, но т.к. авторы не продают свои разработки (естественно, за исключением коммерческих проектов эмуляторов по заказу самих фирм-изготовителей аппаратного обеспечения и т.д., например, таких как замечательный и работающий просто со световой скоростью эмулятор компьютера Apple Macintosh, Executor 2.0 for DOS, созданный фирмой Abacus Research and Development, Inc., ARDI), а бесплатно распространяют их в Сети, то будем считать что здесь нет никакого криминала. К тому же этому способствует утверждение "попробовал в эмуляторе, купи оригинал!" (например, это явно сказано в документации к эмулятору Ultimate Playstation Emulator by Doodie игровой приставки Sony Playstation (PSX) ), что несомненно только играет на руку производителям оригинальных компьютеров, в данном случае Sony. Другое дело - запрещено распространять коммерческое программное обеспечение для эмулируемых платформ. Это называется "пиратством" и серьезно преследуется по закону, хотя и не мешает существовать огромному количеству сайтов в сети.
Наиболее популярными "в массах" эмуляторами считаются эмуляторы игровых приставок: SEGA Genesis, Nintendo Entertainment System(NES), Super Nintendo Entertainment System(SNES), Nintendo Gameboy, NEC TurboGrafx-16 и т.д. Для этих приставок было создано (да и продолжют выпускаться и сейчас) очень много замечательных компьютерных игр - вот главная причина их популярности и в виде эмуляторов на IBM PC, т.к. в противоположность этим приставкам на PC очень мало качественных аркадных игр. Компьютерные игры в игровых приставках доступны в виде картриджей. Пиратский рынок картриджей существует очень давно, достаточно легко доступны различные устройства для их копирования, многие пиратские станции за рубежом наравне с обычным варезом распространяли и так называемый console warez - ни что иное как копии картриджей, полученных при помощи таких устройств. Не так давно пришла эра эмуляторов и фанаты стали использовать весь накопленный годами запас консольного вареза вообще без приставок. Существуют различные версии эмуляторов всех этих приставок, так что можно выбирать. С каждой новой версией качество и скорость эмуляции растет, а это может только радовать...
Также, наравне с эмуляторами домашних приставок очень популярны эмуляторы настоящих игровых автоматов, где нужно было играть за деньги. Эмулируются многие системы, стоявшие в 80-х годах на аттракционах по всему миру. Общее название этих эмулируемых платформ звучит примерно как Arcade Systems. Стоит отметить, что эти системы были специализированными многопроцессорными разработками с кучей цветов и отличной музыкой и спецэффектами, качество игр на них вполне впечатляет и в наши дни. Обязательно стоит посмотреть.
Эмуляция какой-нибудь платформы дело очень сложное. Существует несколько типов эмуляции - динамическая эмуляция(также называется динамической рекомпиляцией), когда команды эмулируемого кода на лету превращаются в совпадающие по логике команды процессора системы, на которой происходит эмуляция и выполнятся самим процессором, бывает эмуляция, когда команды выполняются исключительно в программно созданной эмулятором виртуальной системе, это естественно замедляет работу. Наиболее эффективно работает эмуляция включающая в себя оба эти вида эмуляции. Следует отметить оригинальную систему эмуляции созданную FRIENDS Software - их Yamaha MSX Recompilation System. Эта замечательная система позволяла перекомпилировать старенькие игрушки и запукскать их на IBM PC как оригинальные программы, естественно с поддержкой музыкальных средств и графики Yamaha. На этом я хочу закончить мой краткий (возможно не последний) обзор мира эмуляторов, а напоследок я постараюсь перечислить все доступные в сети эмуляторы, которые я видел и использовал лично. Чтобы не углубляться в ресурсы Интернет, я дам вам всего 2 линка, очень замечательных линка, для первого времени этого хватит - вас там ждут ежедневные новости, куча информации и архивов:
Dave's Classics Emulation | ||
ClassicGaming World |
Amstrad CPC CPE, The Amstrad CPC Emulator by Bernd Schmidt NO$CPC, nocash CPC emulator by Martin Korth Apple II/IIc/IIe APL2EM-2 by Randy Spurlock. APL2EM-2 advanced version by loopy ApplePC v2.52с by David Ellsworth (based on Randy Spurlock's Apl2Emu version 1) Apple //e 32-bit emulator for Windows by Michael O'Brien существует еще несколько различных эмуляторов Apple Macintosh Executor 2.0 for DOS by ARDI Arcade Systems Capcom System 1 - Callus by Bloodlust Software Cinematronics Emulator for Windows 95 by by Paul Kahler & Kurt Mahan Cinematronics Emulator by Zonn Moore Windows 95 Juno First Arcade Emulator by Chris Hardy MageX v0.8a by Edward Massey M.A.M.E. - Multiple Arcade Machine Emulator by Nicola Salmoria and the MAME team KEM -- Killer Emulator by Mike Cuddy Mapefer3: Ghosts'n'Goblins, Diamond Run Emulator by Jose Tejada Gomez Multi-Gauntlet Emulator by Neill Corlett Real Arcade Game Emulator RAGE by Anders Nilsson & Janne Korpela Replay - the Classics by Kevin Brisley Rygar EMu 0.9b by SPLiT! Rygar emulator by Ishmair "Sparcade!" aka Dave's Arcade Emulator by David Spicer существует еще несколько различных эмуляторов Atari 2600 Stella for Linux, DOS, OS/2, Power Macs, Unix and Windows by Bradford W. Mott production in association with Aaron Giles, Seunghee Lee, Jeff Miller, and Darrell Spice Jr. существует еще несколько различных эмуляторов Atari 5200 VSS (Virtual Super System) by Daniel Boris существует еще несколько различных эмуляторов Atari 800XL/65XE/130XE Atari 800 Emulator for Unix, Amiga and MS-DOS by David Firth Atari800Win - Atari 800/800XL/130XL/5200 emulator for Win32 original Atari800 code by David Firth, Win32 by Richard Lawrence PC Xformer and PC Xformer Classic - Atari 130XE Emulator by Darek Mihocka. Rainbow 95 - The Atari 8-Bit Emulator for Windows by Chris Lam XL-it! Atari 8-bit Emulator by Markus Gietzen Atari Lynx Handy - Atari Lynx Emulator Win95/NT by K.Wilkins Machine code Emulator for The Atari LYNX by Ben Haynor существует еще несколько различных эмуляторов Atari ST Gemulator Windows and Gemulator Classic 3.6 by Emulators, Inc. PaCifiST v0.47 - A GIFTWARE ATARI ST Emulator by Frederic Gidouin STonX DOS based on unix version WinSTon - Windows Atari ST Emulator by Paul Bates существует еще несколько различных эмуляторов BK-0010 Chip-8 CHIP8 Emulator for DOS (used with the TELMAC-1800 in the late 70's, some do-it yourself computers in the early 80's, and finally in the early HP48 time during 1990/91) by David WINTER (HPMANIAC) ColecoVision ColEm for Win32 - Core emulator code by Marat Fayzullin, Ported to Win32 by Neal Danner ColEm for MS-DOS - Core emulator code by Marat Fayzullin Ported to MS-DOS by Marcel de Kogel существует еще несколько различных эмуляторов Commodore Amiga A500/A600 DosUae (Un*x Amiga Emulator for DOS) by UAE Team WinUae (Un*x Amiga Emulator for Win32/DirectX) by UAE Team Fellow for DOS by Petter Schau Commodore C-64 C64S by Miha Peternel CCS64 Shareware by PER H+KAN SUNDELL Free64 by by Butcha, Brad Martin Frodo by Christian Bauer Personal C64 Shareware by Wolfgang Lorenz Personal C64 for Windows 95/NT/31 + Devlopers Kit существует еще несколько различных эмуляторов Commodore C-16 Plus4 Minus/4 by Mike Dailly Commodore Plus/4 Emulator by Lidovski V. Commodore Vic-20 PC VIC - Vic-20 emulator by B.W. van Schooten IBM 360 ЕСли ЕС Логический Интерпретатор, Добрянский А.Б. и Урусов В.В. Intellivision INTELLIVISION(tm) for PC by intellivision productions, inc. SEGA Genesis / MegaDrive KGen by Steve Snake Genecyst by Bloodlust Software GenEm - giftware by Markus Gietzen SEGA Saturn 32 CD по слухам - находится в разработке SEGA MasterGear/Game Gear 8-bit "My SEGA 8-Bit Emulator" :-) by James P. Ketrenos MASSAGE by James McKay System 8 by ROB, Z80 engine (MAZE) by Ishmair. существует еще несколько различных эмуляторов NEC TurboGrafx-16 / PC Engine VPCE (Virtual PC-Engine) by Jens Ch. Restemeier, Win32 by Edward Massey etc. MAGIC ENGINE (HuCards, CD and Super CD-ROM) by David Michel Nintendo 64 BootHead (fake!) N64 Emulator by Trisoft (fake!) Project UnReality - the project of *real* Nintendo 64 emulator на сегодня не существует рабочей версии Nintendo Gameboy Virtual GameBoy - portable Nintendo GameBoy Emulator for MS-DOS and Linux by Marat Fayzullin, Marcel de Kogel, Thierry Lescot and Hans de Goede. B97 Gameboy Emulator 32 ASM by Paul Robson существует еще несколько различных эмуляторов Nintendo Entertainment System (NES) interNES - portable NES/Famicom Emulator by Alex Krasivsky and Marat Fayzullin NESA - Nintendo Entertainment System in Assembler by Paul Robson NESticle by Bloodlust Software Nofrendo - dripware by matthew conte TNES - 32 bit Nintendo by Paul Robson существует еще несколько различных эмуляторов Panasonic 3DO не существует PDP-11 PDP-11 (C) А/О CST Communications. Санкт-Петербург 1992 г. PDPC - PDP-11 on PC Sinclair ZX Spectrum Эмулятор ZX-Spectrum Николая Шалаева UKV SPECTRUM DEBUGGER v1.0 - эмулятор и отладчик Spectrum-128 c TR-DOS. ZX Emulator by Lion17, Rostov-Don X128 Spectrum 128 Emulator for OS/2 by Thomas A. K. Kjaer JPP ZX Emulator by Arnt Gulbrandsen Z80 Emulator by G.A. Lunter Z80 Emulator by G.A. Lunter, adapted for TR-DOS by Vitaliy Mochalin Version 2.02, Vitasoft ZX32 for Windows 95 by Vaggelis Kapartzianis для этой платформы существует самое большое количество эмуляторов в мире, самыми качественными являются эмуляторы, сделанные в России Sinclair QL вопрос о существовании эмулятора не решен :-) Sony Playstation Ultimate Playstation Emulator by Doodie PSXEMU by MoG Super Nintendo Entertainment System (SNES) ESNES by LordEsnes & Ishmair SNES9x by Snes9x Developers SNES9x Windows95/NT by Snes9x Developers Nerlaska SNES, NLKSNES for DOS by The Past, Miguel A. Pastor and ADN, Alberto de Hoyo zSNES by zsKnight and _Demo_ VMagiCom, Virtual Magicom by The Brain существует еще несколько различных эмуляторов Yamaha MSX1/MSX2/MSX2+ fMSX - MSX/MSX2/MSX2+ emulator by Marat Fayzullin and Marcel de Kogel fMSX for Windows by Marat Fayzullin MSX emulator for MS-DOS by CJS MSX-2 emulator for MS-DOS by CJS Virtual MSX for Windows by Sean Young существует еще несколько различных эмуляторов Vectrex DOS Vectrex Emulator (DVE) by Keith Wilkinsp.s. все торговые марки принадлежат их уважаемым держателям