Comments (3)
Feel free to merge #14 into dev
, or let me know if you want it on another branch.
from astro8-computer.
@sam-astro After my changes in #14, most of the rest of the time spent is in SDL_PollEvent
. Currently, the while (running)
loop polls for events once after every cpu Update
cycle. Checking for input less often than this is probably desirable.
As an experiment, I removed the event polling. This caused rainbow_gradient.armstrong
to finish nearly instantly. I'd suggest polling for events at a set interval, for instance every 0.017s (60Hz). Take this information however you'd like, of course it's not up to me how you want to proceed.
Edit: fixed in 6644488
from astro8-computer.
I think a solution may be CPU interrupts? If not, that would be a cool thing to add and it would help with graphics rendering, multitasking, and such.
The video card could trigger an interrupt to the CPU every time it wants to draw to the screen. This is telling the CPU, "You need to go to address (so and so) and execute it, then return where you left off." Then the programmer would write code telling the CPU what address it needs to go to when the interrupt is received. At that address, the programmer would write the code, for example drawing to the screen. This could also be processing audio through the EX port.
Sorry for my rambling. Hope it helped in some way. I'll try and help as I can with this project.
from astro8-computer.
Related Issues (20)
- Floating point numbers in Armstrong HOT 2
- Interface Rework HOT 4
- Better speed management system
- Refine Documentation and Make it More Accurate HOT 2
- Create new assembly standard HOT 1
- Organize emulator, compiler, and assembler into separate c++ files
- Suggestion: include char_set_memtape in release .zip file HOT 1
- Add a few re-definable characters/sprites
- Resolution increase
- Armstrong compiler issue
- Logisim CPU design error
- Last pixel is black HOT 3
- Add programCounter as a register HOT 1
- Bug in documentation (memory layout) HOT 1
- Documentation change: use hex for memory adresses
- cannot compile emulator on arch (and possibly others) HOT 1
- Re-make sound synthesizer
- Fix bank not resetting in fast mode of emulator when using cmds like `jmp` that do that in microcode
- Command Prompt issue getting path
- [SOLVED] Segmentation Fault HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from astro8-computer.