![critical ops hack 4.0.1 critical ops hack 4.0.1](https://gamescrack.org/wp-content/uploads/2018/10/Critical_Ops_Hack-696x392.jpg)
![critical ops hack 4.0.1 critical ops hack 4.0.1](https://www.allmoddedapk.com/wp-content/uploads/2019/01/critical.png)
Added collision rectangle width and height ( -pw, -ph).png2asset is the new name for the png2mtspr utility.Bug fixes and updates for existing examples.
CRITICAL OPS HACK 4.0.1 WINDOWS
![critical ops hack 4.0.1 critical ops hack 4.0.1](https://i.ytimg.com/vi/DgRwszBEFOs/maxresdefault.jpg)
Added simple physics sub-pixel / fixed point math example.Added cross-platform examples (build for multiple consoles: gb, ap, sms, gg).On the Game Boy and Analogue Pocket the parameter is required but not utilized. Changed itoa(), uitoa(), ltoa(), ultoa() to now require a radix value (base) argument to be passed.Added RLE decompression support: rle_init(), rle_decompress(),.Added set_native_tile_data(), set_tile_map(), set_1bpp_colors, set_bkg_1bpp_data, set_sprite_1bpp_data, set_2bpp_palette, set_bkg_2bpp_data, set_sprite_2bpp_data, set_tile_2bpp_data (sms/gg only), set_bkg_4bpp_data (sms/gg only), set_sprite_4bpp_data (sms/gg only).Added BGB_printf() and updated emulator debug output.Added generic SWITCH_ROM() and SWITCH_RAM().Added INCBIN(), BANK(), INCBIN_SIZE(), INCBIN_EXTERN().Added BANK(), BANKREF(), BANKREF_EXTERN().LCDCF_WINON, LCDCF_WINOFF, LCDCF_B_WINON.Added many new register flag constants and names.Variables in static storage are now initialized to zero per C standard (but remaining WRAM is not cleared).Fixed error when calling get_bkg_tile_xy: ‘?ASlink-Warning-Undefined Global ’.set_tile_xy' referenced by module ` ?ASlink-Warning-Byte PCR relocation error for symbol.Sega Master System ( sms) and Game Gear ( gg).On macOS the cross platform banks example has problems parsing the filename based ROM and RAM bank assignments into -bo and -ba.-bo and -ba are not supported by the Windows build of sdcc.This is a known issue with the SDCC Peephole Optimizer parsing and can be ignored.SDCC: z80instructionSize() failed to parse line node, assuming 999 bytes.Includes SDCC version 12539 with GBDK-2020 patches for Z80.
![critical ops hack 4.0.1 critical ops hack 4.0.1](https://images-na.ssl-images-amazon.com/images/I/810DT6HOrjL.png)
Added new section: Migrating From Pre-GBDK-2020 Tutorials.Changed SGB border example to also work with SGB on PAL SNES.Changed cross-platform auto-banks example to use.Changed use of set_interrupts() in examples so it's outside critical sections (since it disables/enables interrupts).Changed sgb_border example to use png2asset for graphics.Added ISR_VECTOR example of a raw ISR vector with no dispatcher for GB/CGB.Fixed lcc handling of makebin -x* arguments.Changed makebin flags to turn off Nintendo logo copy for GB/CGB (use version in crt instead).Fixed incorrect TILE_COUNT value when not -using_structs.Fixed values for num_palettes in output.s_map_attributes type definition in output Added *_TILE_COUNT definition to output.Added -tile_origin offset option for when map tiles do not start at tile 0 in VRAM.Added warning when image size is not an even multiple of tile size.Fixed letter U appearing as K for min font.Fixed random number generation for SMS/GG.Fixed vmemcpy() and memmove() for SMS/GG.Fixed definition of size_t to be unsigned int instead of int.Fixed declaration for PCM_SAMPLE and definition for AUD3WAVE.Changed rand() and arand() to return uint8_t instead of int8_t (closer to the standard).Changed headers to wrap SDCC specific features (such as NONBANKED) with #ifdef _SDCC.Aliases for the BGB_* ones and a bgb_emu.h shim are present for backward compatibility.Renamed bgb_emu.h to emu_debug.h and BGB_* functions to EMU_*.Added constant definitions PSG_LATCH, PSG_CH0, PSG_CH1, PSG_CH2, PSG_CH3, PSG_VOLUME for SMS/GG.Added check for OAM overflow to metasprite calls for GB/CGB.Added macro definitions for SDCC features:.Added set_bkg_based_tiles(), set_bkg_based_submap(), set_win_based_tiles(), set_win_based_submap() for when a map's tiles don't start at VRAM index zero.Added add_low_priority_TIM() function for timer interrupts which allow nesting for GB/CGB.Added support for Mega Duck / Cougar Boy ( duck).Changed to target older version of macOS (10.10) when building for better compatibility.The GBDK 2020 releases can be found on Github: