diff --git a/rom_src/main.asm b/rom_src/main.asm index 6370d8f..bf3e0e0 100644 --- a/rom_src/main.asm +++ b/rom_src/main.asm @@ -130,15 +130,24 @@ save_config: init_cpld: +.check_ram48k: ld a, (cfg.ram) ; if ram == 48K - run basic48 cp 1 ; ... - jr nz, .do_load ; ... + jr nz, .check_plus3_disabled ; ... ld a, #10 ; ... ld bc, #7ffd ; ... out (c), a ; ... ld a, #4 ; ... ld bc, #1ffd ; ... - out (c), a ; + out (c), a ; ... + jr .do_load +.check_plus3_disabled: + ld a, (cfg.plus3) ; if plus3 disabled - set 1ffd rom to basic48 + or a ; ... this is required for case when plus3 will be + jr nz, .do_load ; ... activated later by magic menu - this prevents + ld a, #4 ; ... hang if user activating plus3 while basic48 active + ld bc, #1ffd ; ... + out (c), a ; ... .do_load: ld b, CFG_T ; B = registers count ld c, #ff ;