bit-hack / fake86 Goto Github PK
View Code? Open in Web Editor NEWFake86 emulator redux
License: GNU General Public License v2.0
Fake86 emulator redux
License: GNU General Public License v2.0
The original video emulation routines could be cleaner in design and have better compatibility.
Re-write these and target the widest range of support we can.
Use nanoseconds in main loop to keep all elements synchronized.
Main loop publishes how many nanoseconds have elapsed to each peripheral.
Convert nanosecond slice to cycles for cpu emulation call.
Currently every 15 cycles the CPU emulator invokes a timing routine to update port 03DAh (bits 3 and 0). This gives poor granularity of updates, and pro-active updates can be wasted.
Re-calculate these fields only when the register is read, using the current cycle number as a guide.
This would give cycle exact granularity and reduce the computational cost overall.
This can be integrated into the new video system, but can be back ported into the old one too.
At the same time we can update the screen buffer when we enter the vblank period, for better synchronization with our emulation and avoid tearing.
We should be able to query the PIT for the number of cycles before it next triggers and IRQ.
Then we can tick the cpu for that number without having to explicitly update the PIT.
This will let us remove the 15 cycle timing update in the CPU as well as increase the accuracy of the emulation.
As the title says each channel needs its own counter latch, as they are not shared.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.