Code Monkey home page Code Monkey logo

Comments (4)

binji avatar binji commented on May 25, 2024 2

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.

basxto avatar basxto commented on May 25, 2024

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.

binji avatar binji commented on May 25, 2024

Oh, those things almost certainly won't work haha! Maybe not too hard to set some initial state to allow it though.

from binjgb.

basxto avatar basxto commented on May 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.