心脏看什么科| 吃什么东西可以养胃| 熟地黄有什么功效| 为什么小孩子有白头发| 硬下疳长什么样| 霉菌用什么药| 胃炎吃什么药| 伤口流水是什么原因| 中子是什么| 什么是烤瓷牙| belkin是什么牌子| 长期过敏是什么原因| 鼻孔里面痒是什么原因| 人中长痘是什么原因| 代管是什么意思| 穿刺手术是什么意思| 什么是美尼尔氏综合症| 留守儿童是什么意思| 气口是什么意思| 为什么叫天津卫| 3月7日是什么星座| 花重锦官城的重是什么意思| 手淫导致的阳痿早泄吃什么药| 心穷是什么意思| 王俊凯什么星座| surprise是什么意思| 美商是什么意思| 羊肉水饺配什么菜好吃| 天官是什么意思| 景德镇有什么好玩的| 心率过高是什么原因| 如鱼得水是什么意思| 复方北豆根氨酚那敏片是什么药| diptyque属于什么档次| 夏天手上长小水泡是什么原因| 摄取是什么意思| 银装素裹是什么意思| 背上长白斑是什么病的症状| 健身吃蛋白粉有什么好处和坏处| 额头上长痘是什么原因| 脸上爱出汗是什么原因| 医保统筹支付什么意思| 睡不着觉吃什么药效果好| 喉咙干痒吃什么药| 但闻人语响的但是什么意思| 硬水是什么| 00年是什么年| 内径是什么意思| 睚眦什么意思| 火和什么相生| point是什么意思| 吃什么东西对肾好| 手心发热是什么原因引起的| 腊肉炒什么好吃| 鼻窦炎的症状是什么| 吃桂圆有什么好处| 什么的原始森林| 我宣你是什么意思| 霍金得了什么病| 讽刺是什么意思| 黑眼圈看什么科| 梭形是什么形状| 王炸是什么意思| 低钾是什么原因引起的| 口腔溃疡用什么药好得快| 卵泡破裂有什么症状| 什么的搏斗| 十九岁属什么| 清洁度iv是什么意思| 卢沟桥事变又称什么| 什么对眼睛好| 炖牛肉放什么调料好吃| 母亲节做什么| 减脂吃什么蔬菜| 女人喝什么茶叶最好| 车万是什么意思| 白月光是什么意思| 缺黄体酮会有什么症状| 频繁打嗝是什么原因| 临床是什么意思| 香片属于什么茶| 小孩有点咳嗽吃什么药| 平均血小板体积偏低是什么原因| 什么app可以买烟| 十月十一日是什么星座| 什么牌子的冰箱好| 鲨鱼怕什么| 05年属鸡的是什么命| 小赤佬是什么意思| 承你吉言是什么意思| 夏天为什么不能喝红茶| 前列腺炎吃什么药最好| 七六年属什么| 假如时光倒流我能做什么| 世界八大奇迹分别是什么| 黄体酮有什么副作用| forever21是什么牌子| 舌头边缘有齿痕是什么原因| 93年属鸡的是什么命| 细菌性阴道炎吃什么药好| 补血吃什么食物最好| 为什么医院不推荐钡餐检查| 脚疼是什么原因| 避孕药什么牌子好| 为什么减肥不建议喝粥| hpv跟tct有什么区别| 安宫牛黄丸什么时候吃| 塔丝隆是什么面料| 潜叶蝇打什么药效果好| 口腔溃疡缺什么维生素| 女人梦到地震预示什么| 出淤泥而不染是什么花| 阑尾炎有什么症状表现| 假性近视是什么意思| 第一次表白送什么花| 吃豆腐是什么意思| 隐士是什么意思| 凉瓜是什么瓜| 普工是什么| 俗气是什么意思| 牙周炎用什么药最好| 农历6月28日是什么星座| 喜欢蓝色的女人是什么性格| 嗓子痒是什么原因| 颈椎用什么字母表示| 康熙雍正乾隆是什么关系| 耳朵外面痒是什么原因| 鸡肉与什么食物相克| 米字五行属什么| 艾滋病中期有什么症状| quilt什么意思| 子宫内膜增厚是什么原因| 肛门长期瘙痒是什么原因| 田野是什么意思| 一落千丈是什么生肖| 地球代表什么生肖| 头孢不能和什么药一起吃| 胎位roa是什么意思| 泌尿科看什么病| 友女是什么意思| 反酸水吃什么药| 肝脏不好吃什么药| 编程属于什么专业| 谷草谷丙偏高是什么原因| 牙齿痛吃什么消炎药| 崔字五行属什么| 员外是什么生肖| 地球上什么东西每天要走的距离最远| 炒米是什么米做的| 手抖是什么症状| yy什么意思| 狗鼻子为什么是湿的| 三拜九叩是什么意思| 单三是什么| kingtis手表什么牌的| 鼻炎会引起什么症状| 什么症状吃柏子养心丸| 孕妇腿抽筋是什么原因| 娘酒是什么酒| q10什么时候吃最好| 癫痫患者不能吃什么| 矫正度数是什么意思| 飞花令是什么| 7月7日是什么日子| 小孩割包皮挂什么科| 朋友梦到我怀孕了是什么意思| 刮痧用的油是什么油| 争先恐后是什么生肖| 三月份生日是什么星座| 芹菜和什么一起炒好吃| 子宫增大是什么原因| 为什么都开头孢不开阿莫西林| 什么是相位| 打呼噜是什么引起的| 湿疹是什么样子的| 发生了什么| 小龙虾什么季节| 咳嗽吃什么食物好得快| 胃复安又叫什么| 尿频尿黄是什么原因| 叶酸买什么牌子的好| 女人喝枸杞水有什么好处| 颞颌关节紊乱挂什么科| cheese是什么意思| 维生素吃多了有什么副作用| 客厅用什么灯具好| 手指关节痛吃什么药好| 单亲家庭是指什么| 放化疗是什么意思| 为什么长疣| 什么是企业年金| 眼睛有黑影是什么原因| 薏米不能和什么一起吃| 农历六月十四是什么日子| 阳历7月7日是什么日子| 睡前吃香蕉有什么好处| 10岁属什么| 吃螃蟹不能吃什么| 耐克属于什么档次| 吃止疼药有什么副作用| 小孩子为什么老是流鼻血| 胸口疼是什么病的前兆| 姓郑的男孩取什么名字好| 什么时候吃姜最好| 果胶是什么| 大拇指有黑色竖纹是什么原因| 叶酸有什么好处| 屈光和近视有什么区别| 消融手术是什么意思| 黑色柳丁是什么意思| 什么什么深长| 车震是什么意思| 赵云的马叫什么| 阿斯巴甜是什么| 鸡蛋壳薄是什么原因| 再生纤维是什么面料| 医院为什么禁止小孩灌肠| 六月一日是什么星座| 人为什么怕死| dew是什么意思| 子宫增厚是什么原因| 下面出血是什么原因| 物质是什么| 甲状腺吃什么药| 银子发黄是什么原因| 植物光合作用产生什么| absolue是兰蔻的什么产品| 礼部尚书是什么官| 12月14日什么星座| 外出是什么意思| arr是什么意思| 塑料袋是什么材质| 玉米是什么植物| 恶心想吐胃不舒服是什么原因| 胆固醇高挂什么科| 减肥适合吃什么主食| 酸菜鱼可以放什么配菜| 中央候补委员什么级别| 拉稀拉水吃什么药管用| 孤芳不自赏什么意思| 静电是什么| 拉格啤酒是什么意思| 女人吃什么越来越年轻| 葡萄是什么意思| 什么植物和动物很像鸡| 手指甲发白是什么原因| 女人经常喝什么汤养颜| 什么夫妻百事哀| 对峙是什么意思| 早上喝一杯温开水有什么好处| 尿拉不出来是什么原因| 奶篓子是什么意思| 舌头有裂痕是什么原因| 右枕前位是什么意思| 鸡血藤有什么作用| 牙龈有点发黑是什么原因| 为什么会得抑郁症| 每天早上起来口苦是什么原因| 双肺纹理增多模糊是什么意思| 天麻什么味道| 为什么医生都穿洞洞鞋| 木字旁羽字是什么字| 政协是什么| 克罗恩病是什么病| 百度
Amiga Forever by Cloanto
 
Home Products
 
 

美的去年净利147亿 还花了300亿元投入海外并购

   
An "emulator" is a system that is designed to provide the functionality of a different system by emulating some of its components. This article explains the various components that play a part in running Amiga software on a PC, with a focus on the emulation of the Amiga hardware.

The Original Amiga

百度 评测结果:如图可见,三款唇釉的滋润度都非常好,记录下的唇印基本没有明显唇纹,说明YSL全新唇釉结合了唇膏、唇彩、唇蜜的有点,既滋润又显色。

The original Amiga 1000 computer was built around a Motorola 68K series CPU, with the addition of Amiga-specific custom chips (named Agnus, Denise and Paula). This combination made it a very powerful multimedia computer in 1986. The original chip set is often referred to as OCS. Newer releases include the ECS and AGA chip sets.

The Amiga operating system runs on top of this hardware. Early Amiga operating system versions required the full set of Amiga custom chips, including the parts responsible for the graphics rendering. Newer operating systems (e.g. AmigaOS 3.X) also support RTG (ReTargetable Graphics) display cards, which are more powerful (i.e. faster and with a broader variety of video modes) than the custom chip graphics.

Amiga software (e.g. productivity applications, games, and demos) was originally not only allowed, but encouraged, to fully use both the operating system and the underlying custom chip features. This resulted in impressive software, which however also had a strong dependency on the hardware.

Amiga Emulation

The Amiga environment as included in Amiga Forever consists of a combination of emulated Amiga CPU and custom chips, plus an operating system which runs on top of the emulated hardware. The hardware emulation itself is in large part based on open source projects such as UAE and Fellow, which are seamlessly integrated within Amiga Forever (source code is included).

Additional components licensed for use in Amiga Forever include enhancements that used to be optional add-ons on the original Amiga (e.g. AHI audio, TCP/IP, SCSI, etc.), as well as software modules which the former Amiga companies had originally licensed themselves, but the licenses for which would otherwise have expired.

Even Amiga Forever has some limitations. Because Amiga Forever is software-based, it cannot emulate the physical hardware interfaces of the original Amiga. This is normally not a problem, as the emulation supports several hardware options to use original Amiga peripherals, to read old Amiga floppy disks, and to otherwise transfer software and data from an existing Amiga, if necessary.

Other Approaches to Emulation

Other approaches to achieve different degrees of compatibility with the original Amiga exist, for example the AROS project aims to be compatible with the Amiga operating system by re-writing the operating system itself (i.e., without using the original operating system, and running either on "real" or emulated Amiga hardware, or on an entirely different system), while other emulation projects (e.g. Amithlon) tried to make newer versions of the Amiga operating system run on an emulated Amiga hardware with limited custom chip emulation. Because Amiga Forever includes a full emulation of the original Amiga hardware, plus add-ons, plus a selection of operating systems, we believe that Amiga Forever offers a superior solution for running Amiga software on modern hardware.

Several types of emulators have been developed for a variety of system, with more or less different approaches to the emulation of the target systems (Mac, Atari ST, etc.). Basically, to different extremes, some emulators emulate a computer's hardware, while others emulate its operating system (OS). Emulating the operating system means that the original operating system is replaced with an "imitation", which makes it possible to avoid copyright and other legal issues regarding the "look and feel" and the original code, for example, and often also allows for faster execution of the (replaced) system functions, because the new functions can be written specifically for the host environment, and are not running in emulation mode. In the case of the Amiga, also considering that the original Amiga patents have expired, it is generally believed that an unlicensed "imitation" could be a viable approach to avoid legal conflicts.

The major drawback of this approach is the reduced compatibility with respect to the original operating system because, by definition, the replacement operating system is not exactly the same as the original operating system, with all its more or less documented idiosyncrasies, side effects and, in some cases, even little bugs exploited by applications which may be aware of them, or even not. Additionally, in the case of the Amiga, emulating the operating system would solve only a relatively small part of the task, because ever since the Amiga was released, programmers were encouraged directly by Commodore, and were inspired by the exciting Amiga architecture itself, to directly access and exploit hardware features such as the "blitter" and "copper" chips, sprites, HAM screen modes, etc. These features, which made the Amiga so special and superior when it appeared, are not provided by the operating system, but are instead part of the Amiga custom chips, which can be accessed directly by the software. The various implementations of Amiga emulation software included on Amiga Forever try to perfectly emulate the Amiga hardware. This allows not only existing games and productivity software to continue to run on new computers without changes, but it also makes it possible for the original Amiga operating system and ROMs to run on the emulator, and to be accessed by existing as well as by new Amiga software, with predictable and trusted results.

Amiga Forever not only includes original ROM and operating system components and their updates, but it also includes and supports operating systems that can run on the original Amiga hardware, but which were not developed by the former Amiga companies. For example, Amiga Forever includes the Dialoga 2.0 ROM by Logica (a diagnostic system used by Amiga repair centers), and it can run the 68K version of AROS, as well as other 68K-based operating systems.

Interaction with the Host

The Amiga environment as included in Amiga Forever can run side by side with the host environment (e.g. Windows, macOS or GNU/Linux).

The Amiga emulation environment in itself does not replace the operating system on which it runs (the "host environment"), but rather it takes advantage of the system's graphics, sound and file system drivers, of the memory protection, virtual memory, windowing, etc. In this way, the Amiga can run in a window, next to other applications, or it can run in full screen. In most cases, the emulated Amiga can read and write files on the host system, it can print, and it can crash and display a "Guru" message (but this will not cause the host environment or the emulator to go down with it), and then be reset, exactly like a normal Amiga. It is even possible to run an Amiga with AmigaOS 1.3 in one window, and one with AmigaOS 3.X in another window, next to it. In all cases, each emulated Amiga has one window or one full screen open in the host environment, and within that specific window or screen all Amiga action is rendered, as if that window or screen were the monitor connected to a "real" (silicon) Amiga.

Performance

The overhead associated with emulating different hardware components in software is such that the emulated parts are roughly between 5 and 20 times slower than the original components would be if they were running at the same speed as the hosting hardware. The Amiga operating system, which is as efficient and fast as it is elegant, was designed to run smoothly with hardware that was available around 1985. Since then, many platforms and CPUs doubled in speed every 12-24 months. As a result, the overall (subjective) feeling of the UAE and Fellow emulators is that a Pentium CPU running at 133 MHz (as in 1997, when Amiga Forever 1.0 was released) compares well with an Amiga 500, providing enough usability for tasks such as word processing and programs like Personal Paint. It certainly makes an impressive and very useful Amiga notebook. The use of sound and the type of frame refresh rates and custom chip effects used in many games require more powerful machines. Considering even maximum use of CPU and custom chip resources, a GHz-class PC makes it possible to run an Amiga 1000 in real time, whereby the custom chips run in real time (as required), and the emulated CPU may run faster (if so desired).

Other parts of the emulation, such as the file system, can easily be faster than an original Amiga when an Amiga partition on the emulation environment is mapped directly to the host file system. On such a 133 MHz Pentium system, the 68000 CPU is already emulated at more than twice the speed of an Amiga 500. The custom chips add to the overhead, resulting in an overall poorer performance if they are used intensively, as they are in some games. A Pentium Pro or Pentium II running at 200 MHz feels like an Amiga 3000/030, again with a very responsive file system, and even a faster windowing action when used with RTG drivers. To make an example of a CPU-intensive task, compiling Personal Paint with SAS/C in UAE emulation on a Pentium Pro/200 MHz system takes about twice as long as on an Amiga 4000/040. Intel systems running at 300 MHz have been tested running some of the most demanding games in real time, without missing a single frame, and with perfect audio. Very few games and demos require more powerful systems.

The Amiga custom chips have only one important emulation requirement, which is to be able to run in real time. For timing reasons, it would not be practical to speed them up beyond their original performance. Once this is achieved, all the power of the host CPU(s) can focus on emulating the Amiga 68K CPU. In practical applications, already in the 1990s the Unix version of UAE running on an Alpha CPU system had already shown to be faster than a similarly equipped Amiga 4000 with a 68060 CPU. Of the two, the Amiga 4000 was the more expensive system.

Compared to the superior performance of emulation components such as the CPU, the file system, and the RTG graphics subsystem, sound lies on the less fortunate end. On the Amiga, sound is synchronized with the display in such a way that unless a full video frame rate is achieved in real time (50 frames per second), then audio cannot be output smoothly. Again, audio emulation can be of acceptable quality on a 133 MHz  Pentium CPU, if the application does not make intensive use of other custom chip features. Also, Amiga Forever includes AHI drivers to produce high-quality audio without resorting to the emulated custom chips.

In 1997, when computers were much slower than they are now, Bernd Schmidt, chief designer and author of the UAE emulator, described some performance issues of the custom chips as follows:

All timings I give here were measured on my machine, a 90 MHz Pentium, using SVGAlib, with the FASTER_CPU and DONT_WANT_SOUND options... For games and demos, the CPU speed does not matter, but the average frame time is important... A real A500 has a constant frame time of 20 ms (50 Hz). If you have a game/demo that has lots of blitter activity, many copper/sprite effects, dual playfields and scrolling, no one can help you. Fortunately, this case is extremely rare. Normal games that have a number of blitter objects, scrolling and maybe some sprites run at 1/3-1/4 the speed of an A500 in the worst case, some run at 1/2 the speed. Lowering the frame rate helps enormously here, and at 1/5 frame rate, about everything runs somewhere between 50% and 100% the speed of an A500. This still isn't the full story (I bet you start to see why the question is hard to answer). A real A500 without fast memory gets slowed down to about half its speed in Hires 16 color mode. More bitplanes also slow UAE down, but not quite as much, so it can be several times faster than an A500 in that mode."

Frequent questions about Amiga emulation include the performance impact of having to emulate custom chips, in addition to the CPU, and why the emulators don't try to emulate a more powerful "68K" CPU, like a 68060, or why the AGA chip set is not emulated, but only the original chip set is. As outlined above, most Amiga programs, first of all the operating system, make direct or indirect use of the Amiga custom chips. On the other hand, it must be considered that when a program does not make specific use of a custom chip's functionality, this does of course not need to be emulated, so there is little or no performance penalty. To the contrary, specifically emulating certain aspects of the Amiga custom chips allows the emulation software to recognize certain specialized tasks, and to better emulate these by using similar and specific capabilities on the host environment, if possible (e.g. for blitting, which for example is very fast using the RTG extensions for UAE). As for the CPU, it would not be very practical to try to emulate advanced parts of the CPU such as the cache RAM, or the MMU (memory management unit), because these are already fully provided (not emulated) to the entire emulation environment by the host CPU. As a result, it is for example possible to emulate an Amiga with 64 Mbytes of Amiga "fast" RAM and 8 Mbytes of "chip" RAM on a computer having only 32 Mbytes of RAM, and the host operating system (using the host CPU's MMU), will take care of disk-to-memory swapping as necessary. The Amiga operating system does not require a MMU, so apart from Amiga virtual memory utilities, which are not necessary because virtual memory is provided by the host environment, the main applications that could still benefit from an emulated MMU are development tools such as "Enforcer". Indeed, such useful functionality is part of the emulation engine.

As for the 68K CPU type, the Amiga emulation software supports the instruction set of the Motorola 68020 CPU with FPU (floating point unit), which makes it possible to run even programs designed for newer CPUs, since they share the same instruction set as the 68020 (which had major additions since the original 68000). A few new instructions and addressing modes have indeed been added to newer CPUs of the 68K line, but there is no known 68K Amiga software on the market which requires these without also being available in a 68000 or 68020 version. To the contrary, certain instructions which run properly even on the 68000 are "illegal" on the 68060, which results in many applications (including older versions of the operating system) failing to run on the 68060. This explains why several owners of Amiga computers with a 68060 CPU resort to an emulator to run old software which would otherwise fail. With consideration to different 68K microprocessors, such as the 68030, 68040 and 68060, it should be kept in mind that the major performance boost comes from the improved speed and efficiency of the newer microprocessors, and not from new instructions. Again, this increase in computing power can be provided not by emulation, but by a faster host CPU. Both the Fellow and UAE emulators come with special options and versions so that some very old software which absolutely requires a "pure" 68000 (and not a 68020) can run on the emulator.

Versions of the emulation software that run on x86 CPUs include a "just-in-time" (JIT) compiler, originally developed by Bernd Meyer, which can make the emulation of the CPU on average at least 10 times faster than without JIT.

The emulation software included with Amiga Forever also includes a virtual display card, which directly accesses the graphics hardware of the host system using high performance DirectX calls, and which can be used by all Amiga programs which support the Amiga RTG (Retargetable Graphics) specification, which was originally conceived at Commodore, and then became a de-facto standard with the help of several Amiga developers. Performance profiling tests have shown that some programs spend as much as 50% of their execution time not in their own code, but in the system graphics routines. Mapping these calls as efficiently as possible to the graphics system of the host environment (which can easily be 100 or more times more powerful than the original Amiga graphics hardware), rather than to the emulated Amiga custom chips, results in an impressive performance boost for the entire emulation environment.

Multiprocessing systems (i.e. with two or more CPUs, also referred to as "SMP") improve the performance of the emulation, because the load of the operating system and other applications can be better distributed, relieving the CPU(s) which run the emulation. This improvement always occurs, even if the emulation software itself does not actively exploit certain SMP features.

The RAM requirements to run the emulation software are not different than those of any other software. All Amiga Forever components have been successfully tested on a system with 16 Mbytes of RAM. The Amiga emulation requires about as much RAM as a real Amiga, plus some memory necessary to run the emulation software itself (a few Mbytes).

Operating systems such as Windows, which support virtual memory, make it possible to emulate an Amiga with more RAM than is actually available on the system. If the emulation is configured for more RAM than is available, then the operating system will swap unused RAM to hard disk, and then from hard disk to "real" RAM, as necessary. This is not the fastest way to run an Amiga, but it is better than not having the desired amount of RAM at all.

 
Related Links

- Emulation and OS

- Features

- Speed

- Limitations

- Good or Bad?

- Amiga Games

- Amiga Demos

- FAQ

Screenshots

Amiga Emulation Detail
Only custom chips make it possible...

Click to view full-size graphics
Workbench 3.X environment

Click to view full-size graphics
Workbench 1.3 environment

 
 
大三阳转小三阳意味着什么 cfu是什么意思 女人舌苔厚白吃什么药 舌头火辣辣的是什么病 中暑是什么症状表现
手上的三条线分别代表什么 犯法是什么意思 什么颜色加什么颜色等于紫色 后顶焦度是什么意思 庞统为什么要献连环计
单亲妈妈是什么意思 孕妇牙龈出血是什么原因 叶黄素对眼睛有什么好处 至少是什么意思 中级什么时候考试
egfr是什么 入职体检70元一般检查什么 双子座男和什么座最配对 木耳菜是什么菜 嘴巴里长血泡是什么原因
一月十八是什么星座hcv8jop7ns6r.cn 郁结是什么意思hcv7jop6ns2r.cn 被跳蚤咬了涂什么药膏hcv9jop6ns1r.cn 98年属什么的hcv8jop8ns7r.cn other是什么意思cj623037.com
经常吃辣椒有什么好处和坏处hcv8jop9ns3r.cn 突然流鼻血是什么征兆hcv9jop1ns9r.cn 人体有365个什么hcv7jop6ns0r.cn 母亲节送给妈妈什么礼物好hcv7jop4ns7r.cn 和珅属什么生肖hcv7jop6ns1r.cn
迪丽热巴的全名叫什么hcv8jop7ns1r.cn 十灵日是什么意思hcv8jop5ns8r.cn 兔死什么悲hcv9jop7ns3r.cn 吃完狗肉不能吃什么hcv8jop2ns5r.cn 嫦娥是什么生肖hcv9jop2ns1r.cn
文艺兵是干什么的hcv8jop4ns7r.cn 索性是什么意思gangsutong.com 饿得快是什么原因hcv8jop6ns3r.cn 霍金什么时候去世的hcv8jop8ns3r.cn 甲亢属于什么科室hcv7jop4ns8r.cn
百度