Gameboy Development Forum

Discussion about software development for the old-school Gameboys, ranging from the "Gray brick" to Gameboy Color
(Launched in 2008)

You are not logged in.

Ads

#26 2021-04-09 09:26:10

obscuredesign79
Member
Registered: 2019-11-02
Posts: 11

Re: GBDK 3.0 - updated to latest SDCC and bank support

i did the tutorial for gbdk by gamingmonster a while back using windows and it worked. but now im using linux(debian) and i was wondering if anybody here can help me. I copy the gbdk folder to /opt/gbdk and edited the makefile in the template_minimal in the example folder to GBDK_HOME = /opt/gbdk/. when i run the makefile this is the result.

➜  template_minimal make
/opt/gbdk/bin/lcc  -o Example.gb main.c
/opt/gbdk/bin/lcc: /opt/gbdkbin/sdcc: No such file or directory
make: *** [Makefile:29: Example.gb] Error 1

so i copy the /opt/gbdk/bin to /opt/gbdkbin/sdcc and this is the result

➜  template_minimal make
/opt/gbdk/bin/lcc  -o Example.gb main.c
main.c:1:20: fatal error: /gb/gb.h: No such file or directory
compilation terminated.
main.c:1: warning 190: ISO C forbids an empty source file
make: *** [Makefile:29: Example.gb] Error 1

how do i properly setup gbdk2020 on linux? i really wana use linux as i dont have a powerful system. thanks

Offline

 

#27 2021-04-11 03:56:20

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

Did you set any global environment variables? You don’t need that. Looks like you have something like “bin/sdcc” defined.

Offline

 

#28 2021-04-14 02:36:04

bbbbbr
Member
Registered: 2019-03-04
Posts: 126

Re: GBDK 3.0 - updated to latest SDCC and bank support

Also, installing into /opt is optional. You should be able to unzip the release anywhere, go to any included example program directory and run it's makefile. The included examples use relative path so that they should be able to just work automatically with no editing and environment variable changes required.

Offline

 

#29 2021-06-16 15:01:38

bbbbbr
Member
Registered: 2019-03-04
Posts: 126

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 4.0.4 has been released:
https://github.com/gbdk-2020/gbdk-2020/ … /tag/4.0.4

This one is more of a service release, so improvements and fixes rather than new features.

- Updated documentation
- Library was improved
    - Switch to standard types declared in stdint.h and stdbool.h
    - Separated cgb.h and sgb.h from gb.h (possible breaking change)
    - get_vram_byte(), get_win_tile_xy(), get_bkg_tile_xy(), set_tile_data()
    - Fixed broken decompression to VRAM routines
- Multiple minor improvements
- png2mtspr improvements and bug fixes
- Support for code relocation with bankpack
- Support for link scripts in lcc
- Support for C input into gbcompress
- Other lcc frontend improvements


Detailed changelog:
https://gbdk-2020.github.io/gbdk-2020/d … eases.html

Last edited by bbbbbr (2021-06-16 15:03:05)

Offline

 

#30 2021-08-26 12:25:52

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 is about to receive ability to compile for sega master system/sega game gear targets. That is not quite relevant for this forum, however, it may be of interest for people who wish to release games for several systems, not only variants of game boy. We got a bunch of interesting cross-platform examples including metasprites and large maps. As always, looking forward for your suggestions and bug reports.

Offline

 

#31 2021-09-03 16:08:38

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

You may have a look at preview builds of new GBDK-2020 v.4.0.5 here: https://github.com/gbdk-2020/gbdk-2020/actions under the "GBDK Build and Package" link. you should be logged in to the github to download build artifacts.

Offline

 

#32 2021-09-24 17:33:41

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 v.4.0.5 has been released: https://github.com/gbdk-2020/gbdk-2020/ … /tag/4.0.5

the largest release of GBDK-2020 in its new history:

gbdk-4.0.5
    - Support for Sega Master Sysyem/Sega Game Gear
        - z80 library which provide compatibility layer as well as platform-specific functions
        - support for the new targets on the toolchain side
        - cross-platform examples (gnu make is required)
    - Library fixes/improvements
        - low level register/constant definitions for all targets
        - DEVICE_* constants
        - BANK* macros
        - some headers were moved from gb/* into gbdk/*
            - bcd.h, console.h, far_ptr.h, font.h, gbdecompress.h, metasprites.h
        - new headers:
            - gbdk/platform.h: includes specific platform headers depending on the target
            - gbdk/incbin.h: INCBIN* macros for including of raw binary data
            - gbdk/rledecompress.h: RLE decompression functions
        - itoa()/uitoa()/ltoa()/ultoa() require radix parameter (GB target ignores it and assumes radix is 10)
        - fixed get_bkg_tile_xy()
        - other minor fixes/enhancements
    - Toolchain
        - lcc
            - ability to pass target port/platform
            - support for linker files
        - bankpack
            - support for linker files
            - support for SMS/GG specifics
        - png2mtspr was renamed to png2asset
            - tilemaps/tiledata export without metasprite descriptors
            - CGB support
        - support for RLE compression in gbcompress
    - New examples
        - cross-platform examples
        - INCBIN example
        - on-the-fly RLE data decompression example
    - Updated documentation

Last edited by toxa (2021-09-25 02:23:03)

Offline

 

#33 2021-10-18 08:25:51

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 receives support for the MegaDuck console. you can download the latest nightly build from https://github.com/gbdk-2020/gbdk-2020/actions under the "GBDK Build and Package" link. you should be logged in to the github to download build artifacts.

Offline

 

#34 2021-10-21 10:04:43

GMaker0507
New member
Registered: 2021-02-13
Posts: 1

Re: GBDK 3.0 - updated to latest SDCC and bank support

My virus scanning software is detecting a virus in the latest release binaries. Is anyone else getting this?

Offline

 

#35 2021-10-21 10:53:11

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

that is a false positive. makebin is safe.

Offline

 

#36 2021-10-29 05:05:46

M2m
Member
Registered: 2021-02-18
Posts: 27

Re: GBDK 3.0 - updated to latest SDCC and bank support

I’m not concerned with makebin being malware (I’m sure it isn’t). I’m rather concerned if I whitelist it, will there be unwanted side-effects of real malware not being recognized…

Offline

 

#37 2021-10-29 09:29:45

toxa
Member
Registered: 2020-02-13
Posts: 309

Re: GBDK 3.0 - updated to latest SDCC and bank support

that is not a problem, because you allow that exact file, not disable this type of warning.

Offline

 

#38 2022-02-02 14:37:11

bbbbbr
Member
Registered: 2019-03-04
Posts: 126

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 4.0.6 has been released:
https://github.com/gbdk-2020/gbdk-2020/ … /tag/4.0.6

Aside from MegaDuck support this is more of a service release after 4.0.5, mostly quality of life improvements and fixes rather than new features.


- Support for MegaDuck
- Library fixes/improvements
  - fix RNG for SMS/GG
  - check for overflow in metasprites handling routines
  - set_*_based_tiles() / set_*_based_submap() set tilemaps using tile offset
  - add_low_priority_TIM() set timer ISR handler that allows nested interrupts
  - rename gb/BGB_emu.h into gb/EMU_debug.h
  - Intellisense-friendly headers (hide SDCC dialect features)
  - other minor fixes
- Toolchain
  - png2mtspr
    - support for 4bpp graphics and SGB borders
    - new -tile_origin parameter
  - some lcc fixes
  - Updated documentation


Detailed changelog:
https://gbdk-2020.github.io/gbdk-2020/d … eases.html

Offline

 

#39 2022-02-02 21:14:29

M2m
Member
Registered: 2021-02-18
Posts: 27

Re: GBDK 3.0 - updated to latest SDCC and bank support

Thanks for the updates GBDK keeps on getting better and better !

Offline

 

#40 2022-10-30 04:21:20

bbbbbr
Member
Registered: 2019-03-04
Posts: 126

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 4.1.0 has been released:
https://github.com/gbdk-2020/gbdk-2020/ … /tag/4.1.0

- Experimental Support for MSXDOS and NES. These are not yet fully functional
- Upgrading: See 4.1.0 section in "Migrating to new GBDK Versions" in the docs for the following.
  - The gbz80 port was renamed to to sm83. Some projects may require updates
  - The default calling convention changed in SDCC 4.2
- Library fixes/improvements
  - SGB: Use longer wait between the SGB packet transfers
  - SMS/GG: less screen artifacts on startup, cgb_compatibility()
  - Fixed: get_sprite_data(), get_bkg_data(), get_win_data() when LCDCF_BG8000 bit of LCDC_REG is set
- Toolchain
  - png2asset: Many new tileset and processing features (See full release notes in docs)
  - lcc: Add -yoA if no ROM size specified with -autobank, Fixed broken -E Preprocess only flag
  - bankpack: Added -reserve=<bank>:<size> to reserve space during packing
  - gbcompress: Bug fixes, added --bank=<num>
  - ihxcheck: Check and warn for bank overflows under specific conditions
  -Added makecom for post-processing msxdos binaries
- Examples: Added APA image 256+ tiles, SGB Sound Effects, new WAV sound example
- Updated documentation


Detailed changelog:
https://gbdk-2020.github.io/gbdk-2020/d … eases.html

Migration guide:
https://gbdk-2020.github.io/gbdk-2020/d … sions.html

Offline

 

#41 2023-08-09 18:00:13

bbbbbr
Member
Registered: 2019-03-04
Posts: 126

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 4.2.0 has been released:
https://github.com/gbdk-2020/gbdk-2020/ … /tag/4.2.0

Highlights
- NES support for much of the GBDK API (a big undertaking by @michel-iwaniec)
- Updated compiler to SDCC 4.3 with up to 10% performance/size gains and many fixes
  - Game Boy Color Hi-Color conversion utility and display example

Changes
- Library improvements
    - Added set_bkg_attributes(), set_bkg_submap_attributes(), set_bkg_attribute_xy()
    - Some functions renamed (old names will work for now)
    - vsync() replaces wait_vbl_done()
    - set_default_palette() replaces cgb_compatibility()
    - move_metasprite_flipx/y/xy() replace move_metasprite_h/v/hvflip(), move_metasprite_ex() replaces move_metasprite()
    - metasprites: added metasprite functions which can set base sprite property
  - NES
    - NES support for much of the GBDK API + banking in the library and toolchain (a big undertaking by @michel-iwaniec)
    - Added set_bkg_attributes_nes16x16(), set_bkg_submap_attributes_nes16x16(), set_bkg_attribute_xy_nes16x16()
  - SMS/GG
    -  Swapped A and B buttons to match game boy, X coordinate metasprite clipping on the screen edges
  - Game Boy
    -  Faster vmemcpy(), set_data(), get_data(), Fixed hide_sprites_range(39u, 40u) overflow shadow OAM
    - Refactored interrupts to use less space
- lcc - minor fixes
- png2asset: several fixes and a couple new features for palettes
- Added png2hicolorgb + example project
- Examples
    - Improved wav support on AGB/AGS hardware, Added color for Large Map Example, Added GB-Type example
- Updated documentation and improved search

Detailed Changelog:
https://gbdk-2020.github.io/gbdk-2020/d … eases.html

Offline

 

#42 2024-06-08 20:09:07

bbbbbr
Member
Registered: 2019-03-04
Posts: 126

Re: GBDK 3.0 - updated to latest SDCC and bank support

GBDK-2020 4.3.0 has been released:
https://github.com/gbdk-2020/gbdk-2020/ … /tag/4.3.0

Full changelog:
https://gbdk-2020.github.io/gbdk-2020/d … eases.html

Upgrading:
If upgrading, please review 4.3.0 section in "Migrating to new GBDK Versions" in the docs.
https://gbdk-2020.github.io/gbdk-2020/d … sions.html

Highlights
  - Improved NES support
  - Updated compiler to SDCC 4.4.0
  - Added macOS ARM binaries (SDCC building by @chrismaltby)
  - New Examples: HBlank copy, Platformer (by @LaroldsJubilantJunkyard), SNES joypads on NES, Game Boy Printer, Joypad test, Display System
  - Added romusage utility for estimating used/free ROM and RAM space

Changes
- Library improvements
  - Added get_system() which indicates system speed
  - Changed EMU_printf() to remove dependency on stdio.h added similar EMU_fmtbuf()
  - Fixed emu_debug.h macros missing a trailing space

  - NES
    - Added PAL support
    - Fixed _map_tile_offset for set_bkg_based_tiles(), VRAM transfer buffer bug
    - Fixed support for 4-player controllers using fourscore

  - SMS/GG
    - Added SHOW_SPRITES, HIDE_SPRITES (no hiding mid-frame), DIV_REG emulation, 6 button controller support in joypad()
    - Added bcd.h implementation
    - Added Game Gear registers and definitions
      - GG_STATE, GG_EXT_7BIT, GG_EXT_CTL, GG_SIO_SEND, GG_SIO_RECV, GG_SIO_CTL, GG_SOUND_PAN
    - Changed VDP to reduce chances of dangerous ISR nesting (also for MSX)
    - Fixed tilemap wrapping over the low bound of the VDP name table
    - Fixed waitpad(), scroll_sprite(), __WRITE_VDP_REG_UNSAFE() VDP macro
    - Fixed return result of "set_tile x, y" family functions (also for MSX)

  - Game Boy
    - Added HBlank copy routines: hblank_copy_vram(), hblank_cpy_vram(), hblank_copy()
    - Fixed 8-bit signed modulus

- Toolchain / Utilities
  - lcc: Changed -debug to add the following flags: -Wa-l -Wl-u -Wl-w
  - png2asset
    - Added -sprite_no_optimize, -entity_tileset, -rel_paths
    - Various crashes and output fixes (+ refactor by @LaroldsJubilantJunkyard)
  - makebin: Fixed crash when using -yS (-Wm-yS with lcc)
  - bankpack: Added -banktype= to allow forcing a bank type to CODE or LIT before packing starts

- Examples
  - Wav sample: play waveforms on the SMS/GG PSG
  - Fixes for SMS/GG: Fonts, Large Map, gbdecompress
  - Updated documentation and fixed search

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson