Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Most basic graphical library addition. gpu.c and gpu.h use Allegro library to draw a black window with ROM title as window title. gpu.c has provisions for future additions of drawing logic. Probably will be overhauled later, as it effectively ignores the V-Blank interval. * Special R/W (unfinished), proper gpu step and LCD STAT updating. Palette memory to be found. It seems we lack information about CGB vs DMG ROMs (Address 143). Scanline drawing logic still to be done. GPU divided into GPU and DISPLAY, where DISPLAY handles the graphical library. It should allow for easier change of graphical library, if need arises. * General cleanup. Future issues now separated more clearly. Modes separated to an enum for clarity. Now int.h enum is prefixed by module name to solve naming problems. * Update build.yml Include Allegro lib in build action. * Code now uses stdbool.h instead of its own definition. This allows for compatibility with other libraries. * mzal's requested changes static keyword added for module variables. Includes and enums moved to .c if not needed in .h. Unneeded functions removed. Enums now explicitely numbered. checking for window closing now called directly in main. More complex defines now encapsulated. * Second round of reviews implemented. Fixed inconsistent spacing in display.c. Recognised interrupts now named in request_interrupt(). main.c display_get_closed_status() call now uses shorter logic check. Unneccessary comments in display.c removed. Curly braces added to gpu.c elses when ifs use them. Counter reset in GPU now uses -=_CYCLES_PER_SCANLINE. Unneccessary white symbols removed from main.c Co-authored-by: galeblon <32581949+galeblon@users.noreply.github.com>
- Loading branch information