themachine02 / virtual3d Goto Github PK
View Code? Open in Web Editor NEWAn efficient 3D engine for the TI 83PCE and the TI 84+CE written in ez80 assembly
License: Other
An efficient 3D engine for the TI 83PCE and the TI 84+CE written in ez80 assembly
License: Other
Hi!
I don't really code ASM, to be honest I'm just playing with my calculator right now.
I tried the build of the demo but it end up with a white screen and the calculator isn't responding the only way of getting out of it is by resetting.
You can reproduce the bug (if it's one) with the lastest firmware of TI-83 CE and installing by putting everyfile in the Archive and only TESTLVL.8xp in RAM memory and run the program from CarbiJR using Artifice.
I know this project is very old and didn't receive much update, I still hope to find help also I'm wondering if there is a way to debug what's happening on the calculator while plugged on computer.
Thank in advance.
There is a random crash leading to reset with NMI trigger somewhere. Most likely in texture code or cliping code. This need to be investigated.
Based on early test, there may be a use after free from previous frame.
1 - try to clean up to code in init
2 - poison memory for an easy debug framework
It appears as if the script (build.bat) still uses spasm instead of fasmg.
(Additionaly) Is there a Plan to implement a C wrapper? Id be willing to help out, but Id need a quick headsup regarding public? asm defines.
This should probably moved out of it.
Clipping method soemthing produce un-usefull triangle. A better approach could be found to avoid these which are expensive in later stage.
Because the geometry shader directly write to temporary buffer for sorting, the only way to skip sort is to copy data from temporary buffer to actual geometry queue. This is definitly bad for performance.
A better way should be to have a differential output way for geometry shader which should then decide to do sorting or not.
EDIT : several implementations are possible. Either the geometry shader select the queue in which data should go, and then must take care of the queue (maybe will helper function ?) or the switch is a bit more internal and geometry shader only declare the sorting/nosorting status.
All the absolute value from file for indexing and offseting should be defined and not hardcoded.
Example :
ld ix, (iy+0) add ix, bc ld hl, (iy+10) ld (ix+4), l ld (ix+5), h ld a, (ix+6) lea hl, ix+0
To
ld ix, (iy+VX_INDEX0) add ix, bc ld hl, (iy+VX_INDEX_UV) ld (ix+VX_VERTEX_GPR0), l ld (ix+VX_VERTEX_GPR1), h ld a, (ix+VX_VERTEX_UNIFORM) lea hl, ix+0
A convenient way to load shader from external source should be included. It has to resolve linking issues, and copy issues.
Due to change in flash exploit, the library crash on OS > 5.5. Fix it by changing the exploit.
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.