Michel Iwaniec
3303094718
NES: Reduce zeropage usage by merging flag for oam validity and forced blanking to one byte ( #753 )
2025-03-24 00:35:02 +00:00
Michel Iwaniec
79bd1341eb
NES: Double-buffered deferred LCD ISR support for less graphics glitches, at expense of more RAM usage. ( #751 )
...
- Define new constant .MAX_DEFERRED_ISR_CALLS as .MAX_LCD_ISR_CALLS+1
- Refactor vsync function for double-buffering, and have it flip the read index at completion
- Refactor .do_lcd_ppu_reg_writes, and rename to .do_hblank_writes
- Remove scroll glitch mitigation in .do_hblank_writes, as no longer needed
- Redefine __lcd_isr_ arrays sizes as 2*.MAX_DEFERRED_ISR_CALLS
- remove redundant ZP variable __crt0_disableNMI, as no longer needed
- TAB -> space conversion
2025-03-21 14:35:24 +00:00
Michel Iwaniec
4a714bec8c
NES: Move .nes header functionality out of makebin ( #750 )
...
NES: Move .nes header functionality out of makebin
- Move all .nes header related functionality into a new utility gbdk-support/makenes
- Update LCC to use makenes for .postproc member of build process, with mapper30 header parameters hard-coded for now
- Update makefiles to build makenes
- Add Makefile commands to generate output for the toolchain settings doc page
- Add documentation section for makenes in 06_toolchain.md
2025-03-21 00:00:13 +00:00
bbbbbr
a2aa923973
Merge pull request #749 from bbbbbr/megaduck/laptop_io_updates
...
MegaDuck: Updated on duck laptop IO commands, expose a few vars
- Printer command labeled and some query commands for the init result
- Run cart command labeled
2025-03-13 01:59:15 -07:00
bbbbbr
692aec8b2d
MegaDuck: Updated on duck laptop IO commands, expose a few vars
...
- Printer command labeled and some query commands for the init result
- Run cart command labeled
2025-03-13 01:55:39 -07:00
Toxa
2997e027c6
Merge pull request #747 from michel-iwaniec/nes_add_TIM_support-v2
...
NES: Timer interrupt emulation + support for set_interrupts(...)
2025-03-10 17:17:34 +03:00
Michel Iwaniec
37186a5b7a
NES: Timer interrupt emulation + support for set_interrupts(...)
...
- Add add_TIM / remove_TIM functions to nes.h
- Refactor implementation in lcd.s to support add_TIM / remove_TIM
- Add TMA_REG / TIMA_REG / TAC_REG vars to emulate GB hardware timer register
- Add call to TIM function at end of NMI handler in crt0.s, and make it use TMA_REG / TIMA_REG vars
- Add implementation for set_interrupts in lcd.s, replacing JMP instruction with RTS when disabled
- Enable NES target in examples/cross-platform/irq and replace delay(1000) call with 60 vsyncs
- Update examples/cross-platform/scroller and examples/cross-platform/irq to use set_interrupts
- Update documentation to describe use-cases and limitations of TIM handler
2025-03-09 03:07:44 +00:00
bbbbbr
3fb3b2046e
Merge pull request #746 from bbbbbr/emu_debug_example
...
Example: EmuDebug: fix register addition getting treated as dereferencing pointer in bgb and emulicious
2025-03-06 18:51:11 -08:00
bbbbbr
330d45aee6
Example: EmuDebug: fix register addition getting treated as dereferencing pointer in bgb and emulicious
2025-03-06 18:50:14 -08:00
Toxa
e8c732dfe0
Merge branch 'develop' of https://github.com/gbdk-2020/gbdk-2020 into develop
2025-02-24 23:02:47 +03:00
Toxa
bd99d4ce69
SMS/GG: Timer interrupt emulation
2025-02-24 23:02:36 +03:00
bbbbbr
a036f2a93f
Merge pull request #744 from bbbbbr/docs_4_3_next
...
Docs: EMU_printf: Note %c vars should not be cast when passing
2025-01-23 01:50:30 -08:00
bbbbbr
459dbfbff4
Docs: EMU_printf: Note %c vars should not be cast when passing
...
- Improve EMU_printf in example with more detailed version
2025-01-23 01:48:47 -08:00
Toxa
4ff8549fda
force --no-optsdcc-in-asm while building the library and in the lcc
2025-01-19 02:25:53 +03:00
bbbbbr
6192c9e97c
Merge pull request #743 from bbbbbr/lcc/sdas_n_flag_to_N_flag
...
sdcc: sdas: update deprecated n flag to N flag
2025-01-17 17:10:17 -08:00
bbbbbr
1588744860
sdcc: sdas: update deprecated n flag to N flag
2025-01-17 17:09:15 -08:00
bbbbbr
27d8af923a
Merge pull request #742 from gbdk-2020/build-linux-arm64
...
Build linux arm64
2025-01-16 14:42:29 -08:00
bbbbbr
19bf7b339f
Build: add linux arm64 to Build Examples
2025-01-16 14:29:22 -08:00
bbbbbr
bc44ef14e7
Build: Initial linux arm 64
2025-01-16 14:24:07 -08:00
bbbbbr
bc9429d002
Merge pull request #741 from bbbbbr/tools/png2hicolor_updates
...
png2hicolorgb: updates + add option -s to specify variable/symbol name in C output
gbdk-next
2025-01-11 02:00:57 -08:00
bbbbbr
f17422b3ec
png2hicolorgb: add support for -s to specify variable/symbol name in C output
2025-01-11 01:58:27 -08:00
bbbbbr
4512564d78
png2hicolorgb: merge in upstream changes
...
- Added --palendbit : Sets unused bit .15 = 1 for last u16 entry in palette data indicating end, instead of having to count or check the current scanline.
- Added --addendcolor=N: Appends 32 x color N (in hex BGR555, 64 extra bytes total) in the palette data to clear the background and avoid artifacts on source images that are shorter than the screen height.
- Added --precompiled mode
2025-01-11 01:20:31 -08:00
bbbbbr
22f287b1b6
Examples: MegaDuck Laptop: document speech command phrase numbers ( #740 )
2025-01-09 00:08:31 -08:00
bbbbbr
a994a6acf5
Docs: improvements to MBC header chart to clarify cart SRAM, battery and saving ( #737 )
2024-12-29 22:19:21 -08:00
bbbbbr
d20401df9b
romusage: brief/sumamrized mode: fix for counting headers multiple times ( #736 )
2024-12-20 01:32:56 -08:00
Toxa
2d32eedb6e
SMS/GG: Improve metasprite clipping by Y, change coordinate type to signed int16
2024-12-17 22:39:10 +03:00
Michel Iwaniec
d2a4c10458
NES: Fix bug with set_bkg_1bpp_data not working in buffered mode ( #734 )
...
Replace direct PPUADDR / PPUDATA writes with calls to _set_vram_byte.
2024-12-16 21:16:31 +00:00
bbbbbr
632f66f4ce
romusage: upgrade from 1.3.0 to 1.3.1 ( #733 )
...
# Version 1.3.1
- Experimental support for GBDK's flavor of NES (`-p:NES1"`) .noi/.map files
2024-12-15 01:35:40 -08:00
bbbbbr
5963e5ae19
CI/CD: macos 12 deprecated, change to 13 ( #732 )
2024-12-08 22:41:17 -08:00
Toxa
64cd76351b
GB: prevent halt bug triggering if hblank_copy_vram() was called at the unlucky moment
2024-12-05 19:41:27 +03:00
Brett Inman
021069becb
Improve logo example ( #623 )
...
* Logos example documentation and tweaks
* same filename
---------
Co-authored-by: Brett Inman <5668414+brettinman@users.noreply.github.com >
2024-11-19 17:45:02 +03:00
Larold
a964a84cc3
Feature/text & dialogue example ( #712 )
...
Text and dialog examples by larold
(Looks good, merging)
2024-11-17 16:25:17 -08:00
bbbbbr
ba0f17ca5b
Merge pull request #729 from bbbbbr/lcc/noi_add_missing_mkbinlist_args
...
LCC: NES target: turn on missing makebin arguments (mkbinlist)
2024-11-17 02:25:01 -08:00
bbbbbr
6d9291502d
LCC: NES target: turn on missing makebin arguments (mkbinlist)
2024-11-17 02:24:11 -08:00
Toxa
c2a3488821
SM83/Z80: register usage hints for the RNG functions
2024-11-13 17:33:43 +03:00
bbbbbr
c97d278cd4
Merge pull request #727 from bbbbbr/mbc7_misc_docs
...
Update and correct docs and comments related to MBC7
2024-11-09 23:04:36 -08:00
bbbbbr
5c190e014b
Update and correct docs and comments related to MBC7
...
- Source info (pandocs) looks accidentally wrong
- No Rumble, no RAM, no Battery - just ACCELEROMETER and EEPROM
2024-11-09 23:03:37 -08:00
bbbbbr
2dba64d663
Merge pull request #723 from bbbbbr/examples/mbc7_accelerometer
...
Examples: MBC7 support and example
2024-10-23 03:11:49 -07:00
bbbbbr
cd9be14784
Export _vbl_done for z80 platforms as well
...
- Also fix incorrect flag state comment for gb version
2024-10-23 03:05:34 -07:00
bbbbbr
0e2243641b
Examples: MBC7 support and example
2024-10-23 01:47:38 -07:00
Michel Iwaniec
fbd7653313
NES: Fix bugs with non-multiple-of-2 (/4) map width in set_bkg_submap_attributes ( #722 )
...
* Add +1 before shift in inline function set_bkg_submap_attributes
* Add-with carry after right-shift of width in set_bkg_submap_attributes_nes16x16
2024-10-20 00:59:54 +01:00
Michel Iwaniec
d009bfeeda
NES: Fix bug with multiple column attribute updates ( #721 )
...
* Make sure that each column re-adds PPU lo offset instead of storing it
* Wrap functionality in a macro WRITEVERT
2024-10-20 00:10:49 +01:00
Michel Iwaniec
0c243451c5
NES: Refactor NES palette setting functions for smaller code ( #720 )
...
* Refactor set_bkg_palette / set_sprite_palette
* Refactor set_bkg_palette_entry / set_sprite_palette_entry
2024-10-19 22:57:08 +01:00
Michel Iwaniec
94793354ab
NES: Add reset function for compatibility ( #719 )
2024-10-16 00:57:33 +01:00
Michel Iwaniec
2de8c0dc5b
NES: Add delay function for compatibility ( #718 )
2024-10-15 14:44:17 +01:00
bbbbbr
2a65101b1b
Merge pull request #717 from gbdk-2020/romusage/update_130
...
romusage: upgrade from 1.2.8 to 1.3.0
2024-10-11 23:51:53 -07:00
bbbbbr
fc8cd5b9ca
romusage: upgrade from 1.2.8 to 1.3.0
...
# Version 1.3.0
- `-b:HEXVAL:[...]` Set hex bytes treated as Empty in ROM files (.gb/etc) (default `FF`(255), ex use 255 AND 0: `-b:FF:00`
- Improve error messaging
- Allow filename at any location in option arguments
# Version 1.2.9
- `-nMEM` Hide memory regions with case sensitive substring (ex hide all RAM: `-nMEM:RAM`)
2024-10-11 23:50:59 -07:00
bbbbbr
1c1c8f9b47
Merge pull request #716 from gbdk-2020/megaduck/laptop_examples
...
Examples: MegaDuck Laptop: Speech example
2024-10-05 22:45:54 -07:00
bbbbbr
2b1bfdc841
Examples: MegaDuck Laptop: Speech example
...
- Also fix up missing end of file lines in makefile.targets for other two examples
2024-10-05 22:31:22 -07:00
bbbbbr
3688b18fc7
Merge pull request #715 from gbdk-2020/megaduck/laptop_examples
...
MegaDuck laptop examples (kbd, rtc)
2024-10-02 03:41:53 -07:00