Comments (4)
You're right, I added these checks a long time ago, but never verified they were correct. I'll see if I can remove them so these roms will work.
from binjgb.
I don’t know if they will really work, but it would be great if they at least started.
They strongly depend on registers set by CGB bootrom and that the (modified) nintendo logo gets upscaled and loaded into vram. SIERPINKSIBOY further depends on builtin color palettes for pre-cgb nintendo games and that the sound registers are initialized from the start bling. Both run in CGB’s DMG mode, but are intentionally incompatible with DMG and SGB.
Those are the things, I actually wanted to test.
from binjgb.
Oh, those things almost certainly won't work haha! Maybe not too hard to set some initial state to allow it though.
from binjgb.
The initial state is quite complex, if I remember correctly in CGB’s DMG mode with the licensee set to nintendo, one register will be a leftover of the title checksum calculation and that depends on the title of the ROM.
The logo is also a bit more complicated algorithm, because it upscales the 4x4 logo stored on the ROM to 8x8 and my demos abuse that to load a custom 4x4 font.
Easiest solution is probably to support bootroms, I don’t know what they all need, execution starts at `0x0. Since they overlay the actual ROM, there has to be some mechanism to to switch to the game ROM. CGB has a byte with which the bootrom enables/disables CGB mode, in DMG mode it enables it to set up the palettes and then disables it.
Sameboy is also MIT licensed and it has custom BootROMs available, where it should be enough to change SameBoyLogo.png to BINJGB.
Or just allow to boot with a user specified bootrom, though I don’t know how that would work in webasm then.
from binjgb.
Related Issues (20)
- Run Boot Rom HOT 2
- Joypad interrupt does not fire HOT 2
- Scaling is uneven HOT 2
- Vsync bug HOT 1
- Read sym file HOT 1
- Implement debug messages HOT 1
- Feature request: add a .sav import/export feature HOT 4
- Scanlines with the BG/Window disabled don't clear old sprite pixels HOT 2
- having trouble with embedding HOT 2
- Skip audio frames while audio context is suspended HOT 2
- Huge RAM usage. HOT 5
- Integrate changes from daid/binjgb HOT 1
- Fatass Tracker doesn't work HOT 4
- Cube Raider doesn't work as expected HOT 3
- Unmatched malloc/free in `emulator_delete` HOT 6
- OAM priority calculation HOT 1
- Bf em
- Bijna
- Inverted panning
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 binjgb.