New BIU logic - 0.2.0 introduced new BIU logic. Unfortunately, 0.2.0 took so long that this 'new' logic already needed replacement. With the discovery of the 8088's 7-cycle bus access time, far simpler BIU logic is possible and has been implemented in 0.2.1 - Along with this new logic comes a slightly different cycle log format; I'm probably the only person on earth that reads these logs, but it's worth mentioning. Several old state columns are gone, and now bus and T-cycles are displayed within two separate 'pipeline slots' New CPU Framework - MartyPC now has a framework to support multiple CPU types, so we can have CPUs other than the Intel 8088. There is a slight performance hit involved in not hardcoding a specific CPU, but I believe there are some strategies. I can use to mitigate this New CPU Type - An initial implementation of the NEC V20 has been added. All native-mode V20 instructions are implemented (except BRKEM). This is not cycle-accurate yet, as it was copied and modified from the 8088 - The Arduino8088 project and the test generation engine of MartyPC were refactored and improved to enable generation of a CPU test suite for the V20, which will be used to incrementally improve V20 emulation accuracy over time. 8080 emulation mode will be added in the future - You can add a V20 to any 8088-based machine by adding the cpu_v20 overlay New Machines - Added Tandy 1000 and IBM PCJr machine types and ROM definitions. These are still very much a work in progress - Tandy 1000 is mostly functional, and can accept a ibm_xebec hard disk controller (I will eventually dump the Tandy hard disk controller ROM, but it is a Xebec controller) - IBM PCJr needs cartridge browser support and PIO mode implemented for the floppy disk controller - RAW cartridge images can be loaded as ROMs using the standard ROM definitions; however this is less than ideal. I will be adding support for standard PCJr ROM dump formats New Video Types - To go with these new systems, there is now a TGA graphics type. Again, a work in progress - Tandy BIOS identifies the TGA and will boot into 8x9 text mode. Display apertures were tweaked for TGA to support this "tall" mode - TGA adapter operates very differently from other adapter types as it does not have its own VRAM - New core functionality was required to allow mapping of MMIO reads and writes back to system memory - High-resolution 640x200 2bpp mode not yet implemented - PCJr graphics are implemented as a subtype of TGA adapter - Initial support for Hercules graphics card as a subtype of MDA adapter. Still a bit glitchy Frontend Bug Fixes / Improvements - Added missing overlay for dual 360k floppy configuration (thanks DragomirPazura) - Fixed loading of keyboard mapping files - Added CPI (Cycles Per Instruction) to benchmark mode Debugger Bug Fixes / Improvements -Added cycle stopwatch UI to CPU Control window. The stopwatch allows you to set two 'breakpoints' and measure execution time between them - 'Step-over' logic overhauled. Step-over cycle timeout removed. A step over may not terminate, but this is in line with other debuggers. On further feedback, dropping you off in a random location after timeout was not useful - The expected return address will be displayed in the CPU Control window in the event a step over does not return - You can now step-over rep string operations - Re-entrant instructions such as rep string operations and hlt will remain at top of disassembly until completed and will not flood the instruction history with repeated entries - Instruction history now shows when hardware interrupts, traps and NMIs occur (in dark red) - Instruction history now shows when jumps were taken (in dark green) - New IO Statistics display - Shows you each IO port accessed, port description, and number of reads and writes - Overhauled PPI viewer (work in progress) - Added tooltips to CPU Control buttons to clarify operations Core Bug Fixes / Improvements - VALIDATOR: Improvements to CPU validation system to support initial generation of V20 tests - VALIDATOR: Improvements to test generation allow prefetched tests for 8088/V20 - 8080: Fixed panic due to microcode slice overrun (Thanks Vutshi) - 8080: Implemented all undefined flags except for division - 8088/V20: Corrected Trap delay after trap flag pop (Fixes Landmark Service Diagnostics) - 8088: Refactored instruction decode to a table-based lookup, replaced custom flags with values from group decode ROM - 8088: Converted SegmentOverride enum to Option, simplifying segment resolution logic in many places - 8088: New 7-cycle bus access logic - 8088: Refactored CycleText log format - 8088: Added cyle stopwatch support - 8088: Don't count individual REP iterations toward instruction counter - 8088: Fixed call stack tracing (recursive calls will still cause overflow) - Reduced size of call stack history to avoid ridiculously tall windows - 8088: Fixed cycle count reporting in Instruction History - 8088: Added Interrupt, Trap and NMI history types - EGA: Can now specify EGA dipswitch in machine configuration - Added an ibm_ega_on_cga config overlay with the right dipswitch for running FantasyLand - BUS: Require IoDevice trait implementations to provide port description strings - BUS: Add new functionality for MMIO trait implementors to access main memory (Supports TGA) - BUS: Add PCJr-specific keyboard logic to generate NMI on keypress - PIT: Preserve latch value across mode changes (Fixes Tandy 1000 POST) - PPI: More accurate PPI emulation - Tandy 1000 and IBM PCJr specific PPI details added - Control register implemented, and PPI group modes are now tracked - New state dump format for new frontend PPI Viewer - Implemented keyboard scancode serializer for PCJr (Still has some bugs) - CGA: Fixed last-line CRTC flag logic. Fixes some severe glitches in Area 5150 I didn't notice because I have only been testing the first and last effect. (Thanks Sudo) Known Issues - Area5150: Some minor glitches during the Elephant effect text scroll (left side character glitch) and the end credits have a periodic black scanline inserted. These were introduced with some new CRTC logic that is demonstrably more correct in other scenarios, but clearly has a few bugs to iron out
New emulated RTG boards - CyberVision/BlizzardVision PPC. 2D only, 3D is not implemented. (Permedia 2) - GVP EGS 110/24. (INMOS G364) - Graffity. (Cirrus Logic CL-GD5428) - Merlin, includes support for configurable serial number used by ProBench (Tseng ET4000W32) - oMniBus (Tseng ET4000AX or ET4000W32) - Rainbow III (INMOS G360) - Visiona (INMOS G300) New features/updates - Prometheus FireStorm PCI bridge emulation - Release raw input devices when GUI is open (except during input Test/Remap) or when debugger window is active. Allows Windows shortcut keys like Win+E to work without need to unfocus the window - Added Misc panel option to disable default on screen keyboard gamepad button 4 mapping - Some uae-configuration (and other similar) debugging logging messages automatically opened the console window. Now only entering debugger will open it - Added “Always on (Fixed only)” sound filter option. This enables A500 fixed filter but never enables “led filter”. (A1200 does not have fixed filter, only “led” filter) - Replaced old Windows 2000 compatible Windows clipboard handling with newer, simpler and more reliable method introduced in Vista - Allow also 68020+ CPUs to fetch instruction words from custom chipset space. Only if more compatible is set. If some program really wants to do something weird like execute code located in AGA palette registers - Lightpen/gun cursor in any edge of screen: lightpen/gun not pointing at the screen = position can’t be read by the program - Statefile shortcut keys now select current config file name as a base statefile name (for example, if “test1.uae” config file is loaded, SHIFT+END+0 will save statefile as “test1.uss”. Quickstart mode config still uses original default “default.uss”) - Both “SaveImage” (automatically created ext adf when write-enabling non-writable image like ipf) file extension variants are now detected automatically when checking if file exists. Paths panel SaveImage mode option now only affects generated file name when new saveimage is created - Added LDP-1450 laserdisc player OSD font emulation. Fixes laserdisc arcade game Platoon (Nova) previously missing “YOU’RE HIT!!” messages. (All OSD graphics are generated by Amiga except this message!) Bug fixes - Fixed XT based Bridgeboards non-working floppy drive emulation, broke during 5.1 DraCo updates (wrong density detection) - Serial port data receive was unreliable. Loopback serial port mode didn’t work in fast CPU modes - CD32 FMV video image size and positioning was weird in most scaled modes - Exclusive fullscreen and RTG resolution switch (RTG resolution switch to another RTG resolution without switch to native mode and back) didn’t change fullscreen resolution - Some ECS programmed modes (for example SuperPlus) had first visible line blanked - Fixed corruption in some “weird” programmed modes, introduced in 5.0 betas - Some hardware emulated RTG boards had flickering colors during horizontal panning (>8 bit modes only) - Fixed ECS Denise superhires mode hires sprite pointer strange odd/even horizontal movement - Fixed pre-KS 1.2 HDF/directory filesystem boot. Broke long time ago - Multi-monitor active state was not fully reset when system was hard reset. (Multimonitor window was open -> hard reset -> window didn’t open anymore again) - If x86 bridgeboard SVGA and also other hardware emulated RTG board was active and END+F9 was used to switch monitors: both monitors’ output was drawn in same window, causing corrupted graphics and possibly also crash if monitor sizes were too differen - It was not possible to write and read ECS/AGA genlock transparency bit in color registers. Was broken long time ago - Delay ALG LDP seek complete status reply slightly. Fixes laserdisc arcade game Platoon (Nova) few second hangs - Los Justicieros (Zorton Brothers) laserdisc arcade game left holster hooked up correctly. (Was stuck active previously)
Version 1.14 - Added bigpemu_register_event_audio_frame, scripts are now able to read/modify audio frames - Added various audio/sampling utility functions to the scripting system. (see the spectrum analyzer sample usage in hello_pussycat and the full list of functions in bigpcrt.h) - Added bigpemu_set_named_var_data and bigpemu_get_named_var_data, along with a "ScriptOption" Screen Effect data provider type. This allows script code to drive Screen Effect data, see hello_pussycat and liz for example usage - Added bigpemu_native_window_handle, as a convenience for scripts which may want to pass the window handle to a native DLL - Added support for the "physical disc" path under Linux. This will only function correctly with drives (virtual or otherwise) which support raw subchannel reads - Fixed a potential developer build crash from forcing script reloads while employing conditional breakpoints - Fixed an issue which could result in the application window being positioned incorrectly after switching to fullscreen - Fixed some SDL2-specific fullscreen/multi-monitor issues. Thanks to cubanismo for nudging me into investigating this Version 1.13 - Fixed a problem which resulted in some of the built-in D3D12 shaders requiring Shader Model 6.0 - Added more logging for various D3D12 initialization failure cases Version 1.12 - New D3D12 video plugin. The shader tool has also been updated and supports generating DXIL - New Windows ARM64 builds. Less frequently used platform-dependent functionality may remain unimplemented on this platform - Added a Blitter capture feature for developer builds. See the "blitcap" debugger command - Various minor cross-platform fixes which came along with the new port/backend work Version 1.11 - Unmapped input labels now display an angle suffix for hat switches - Unmapped input labels now display a +/- prefix for analog bindings, when applicable - Added a -forcegpusync command line option Version 1.1 - Added a native Linux (x64) port. Generally not well tested, but seems to be working well enough in local testing under a couple of different distributions. Less frequently used platform-dependent functionality may remain unimplemented on this platform - Added a new SDL2 plugin for audio, video, and input. Not particularly recommended under Windows, but a Windows build is provided nonetheless - Added custom sky/background functionality to the Checkered Flag script - Added an "Alternate Scheduling" option - Added a "Rewind Skip" option - Added a "Frame Time Display" developer option - Fixed a minor interrupt timing issue - Fixed a bug in the object browser which could, rarely, result in a memory leak - Fixed a bug preventing BIGPEMU_TEXFLAG_REPEAT from affecting texture wrap mode in the OpenGL video plugin - Fixed another timing issue, which was manifesting as a rare crash in Cybermorph. Thanks to Will for managing to capture a saved state illustrating this problem - Developer builds will avoid crashing and warn the developer (via connected debugger) when a read/write straddles the end of ROM. Normal builds will still crash, in order to avoid overhead. Thanks to DrTypo for the bug report
- Added overlays for Blackjack and War Room. Improved War Games overlay - Added KANA lock LED indicator for Japanese MSX keyboard layouts - Correctly read-back the PPG Port B (needed to make the KANA lock work but is more accurate overall) - Improvements to various Coleco PCB types for more accurate emulation
А так-же добавлен мануал на русском языке Battle Network - Rockman EXE
Removed features:
- The "--bpp" command line option and related code (i.e. the renderin functions for 16 bits-per-pixel host screens) have been removed since almost all recent hardware should support 32 bpp nowadays
Configuration changes:
- In hatari.cfg, section [RS232], rename:
- sSccBOutFileName => SccBOutFileName
- bEnableSccB => EnableSccB
Emulation improvements:
- MFP:
- When IRQ is cleared on one of the 2 ACIAs, do not clear IRQ on the MFP side if the IRQ is still set on the other ACIA
- Blitter:
- Ignore byte accesses to blitter registers defined as word only
- TT/DMA:
- Update sound FIFO on each HBL (like on STE)
- CPU:
- Sync CPU core with WinUAE CPU core 5.2 beta
- Improved 68000 cycle accuracy (IPL, STOP, TRACE)
- Fix IACK timings
- Return vector=24 if a spurious interrupt happens during the IACK sequence
- 68010 DIV overflow undefined flags update
- NMI handling
- MMU/generic CPU mode autovectored interrupt support
- Fix 68060 MMU MOVEM.L (An)+,
11:20, 18-04-2024: Gopher2600 v0.30.0
01:28, 15-04-2024: Записи прохождений
06:53, 07-04-2024: Mednafen 1.32.1
18:06, 02-04-2024: MartyPC v0.2.0
17:42, 02-04-2024: NanoBoyAdvance 1.8.1
07:37, 01-04-2024: ScummVM 2.8.1
06:19, 22-03-2024: 86Box v4.1.1
06:39, 19-03-2024: Altirra v4.21
07:23, 26-02-2024: Gopher2600 v0.29.0
22:04, 25-02-2024: puNES 0.111
13:46, 24-02-2024: ares v136
18:37, 22-02-2024: 86Box v4.1
09:05, 20-02-2024: WinUAE 5.2.0
14:20, 19-02-2024: NanoBoyAdvance 1.8.0
20:51, 15-02-2024: DOSBox Staging v0.81.0
20:48, 11-02-2024: Hades v1.0.0
23:46, 09-02-2024: EightyOne V1.40
17:59, 05-02-2024: VBA-M v2.1.9
19:40, 31-01-2024: BGB v1.6
22:18, 27-01-2024: PPSSPP v1.17
09:53, 25-01-2024: ares v135
12:06, 11-01-2024: Gopher2600 v0.28.0
20:53, 10-01-2024: Mednafen 1.32.0-UNSTABLE
16:57, 09-01-2024: mGBA v0.10.3
23:27, 04-01-2024: Felix 0.6.2
09:16, 01-01-2024: Altirra v4.20
09:42, 31-12-2023: ScummVM 2.8.0
04:19, 31-12-2023: Библиотека
20:19, 28-12-2023: PrimeHack 1.0.7a
23:00, 25-12-2023: VICE v3.8
22:33, 24-12-2023: BigPEmu v1.094
22:26, 22-12-2023: WinUAE 5.1.0
00:27, 21-12-2023: Felix 0.6.0
09:33, 14-12-2023: VBA-M v2.1.8
» Что вы слушаете? 23:34
» Интерес к играм 23:20
» [FCEUX, Mesen, Nestopia] Input lag 21:43
» Wii NTSC-J поставить английский язык 21:36
» Системные требования: минимум для эмуляции 20:44
» Famicom Cartridge Schematics & PCBs 20:42
» Продам taito type x 20:04
» Пройденные игры 19:56
» Вопрос по аккумулятору PSP 19:45
» Как поиграть в NES по сети? 19:43
» [PS2] Фанатские переводы 19:29
» Отличия между проигрыванием игры на приставке и эмуляторе 19:13
» [PS2] Open PS2 Loader (делимся впечатлениями) 18:52
» Модификация композитного видео на клоне HM949G-2G-AV (RG Modern) в PAL50/60 18:52
» zsnesw151 (SNES) 18:49