Code Monkey home page Code Monkey logo

Comments (4)

michelhe avatar michelhe commented on May 26, 2024 1

@xTibor

https://github.com/michelhe/rustboyadvance-ng/blob/master/rustboyadvance-core/src/iodev.rs#L154

Removing these if-checks for all BG2-3X-Y registers solves this glitch (tested for Wario and sbb_aff.gba)

I've included this check because of the following line in GBATek:

Caution: Writing to a reference point register by software outside of the Vblank period does immediately copy the new value to the corresponding internal register, that means: in the current frame, the new value specifies the origin of the scanline (instead of the topmost scanline).

http://problemkaputt.de/gbatek.htm#lcdiobgrotationscaling

Too tired to continue now, but probably will sort it out tomorrow, might have interpreted this edge-case incorrectly.

from rustboyadvance-ng.

xTibor avatar xTibor commented on May 26, 2024

This off-center rotation is also reproducible with the sbb_aff.gba TONC demo (L+R keys) but not as severe as the Wario one.

from rustboyadvance-ng.

michelhe avatar michelhe commented on May 26, 2024

@xTibor Good catch, I'll look into it.

from rustboyadvance-ng.

michelhe avatar michelhe commented on May 26, 2024

I suspect that I'm not updating the BGX/BGY reference points in the right phase of the PPU state machine.

https://github.com/michelhe/rustboyadvance-ng/blob/master/rustboyadvance-core/src/gpu/mod.rs#L400

from rustboyadvance-ng.

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.