GBA2P core hangs MiSTer when there's a boot1.rom

User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

GBA2P core hangs MiSTer when there's a boot1.rom

Unread post by pgimeno »

I have a boot0.rom and a boot1.rom in my games/GBA folder; boot1.rom is just an empty ROM intended for displaying the full logo including the word "Nintendo" under the main GAME BOY sign the Dr. Mario + Puzzle League game.

I also have games/GBA2P as a symlink to games/GBA.

With that setup, trying to boot the GBA2P core results in the MiSTer freezing. Linux is still responsive through SSH, but no core can be loaded. Not even with the key combo for the menu; not even with the 'echo /media/fat/menu.rbf > /dev/MiSTer_cmd' command; not even killing Main and restarting it. Only a reboot (or reset or power cycle) solves the problem.

I traced it to boot1.rom being the culprit; I made a dedicated games/GBA2P folder and placed only boot0.rom there, and it works fine, but when adding boot1.rom it hangs.

For debugging purposes I tried stopping MiSTer and running it via ssh, so I could see the output. This is what it prints when selecting the core:

Code: Select all

Start to scan dir: /media/fat/_Console
Position on item: 
Got 0 dir entries
Loading RBF: _Console/GBA2P_20220813.rbf
Bitstream size: 4504400 bytes
Waiting for offloaded work to finish...Done
restarting the /media/fat/MiSTer

Minimig by Dennis van Weeren
ARM Controller by Jakub Bednarski
MiSTer code by Sorgelig

Version 220819

Core path: /media/fat/_Console/GBA2P_20220813.rbf
Looking for root device...
Using SD card as a root device
Identified 8BIT core*** Found SDRAM config: 3
Core name is "GBA2P"
** altcfg: no cfg
INI_PARSER : Start INI parser for core "GBA2P"(GBA2P), video mode "0x0@0.0".
INI_PARSER : Opened file MiSTer.ini with size 6039 bytes.
INI_PARSER : line(0): "[MiSTer]".
INI_PARSER : Got SECTION 'MiSTer'
INI_PARSER : line(1): "key_menu_as_rgui=0".
INI_PARSER : Got VAR 'key_menu_as_rgui' with VALUE 0
INI_PARSER : line(1): "forced_scandoubler=0".
INI_PARSER : Got VAR 'forced_scandoubler' with VALUE 0
INI_PARSER : line(1): "ypbpr=0".
INI_PARSER : Got VAR 'ypbpr' with VALUE 0
INI_PARSER : line(1): "composite_sync=0".
INI_PARSER : Got VAR 'composite_sync' with VALUE 0
INI_PARSER : line(1): "vga_scaler=0".
INI_PARSER : Got VAR 'vga_scaler' with VALUE 0
INI_PARSER : line(1): "hdmi_audio_96k=0".
INI_PARSER : Got VAR 'hdmi_audio_96k' with VALUE 0
INI_PARSER : line(1): "keyrah_mode=0x18d80002".
INI_PARSER : Got VAR 'keyrah_mode' with VALUE 0x18d80002
INI_PARSER : line(1): "volumectl=0".
INI_PARSER : line(1): "vscale_mode=1".
INI_PARSER : Got VAR 'vscale_mode' with VALUE 1
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "vscale_border=0".
INI_PARSER : Got VAR 'vscale_border' with VALUE 0
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "rbf_hide_datecode=0".
INI_PARSER : Got VAR 'rbf_hide_datecode' with VALUE 0
INI_PARSER : line(1): "menu_pal=0".
INI_PARSER : Got VAR 'menu_pal' with VALUE 0
INI_PARSER : line(1): "hdmi_limited=0".
INI_PARSER : Got VAR 'hdmi_limited' with VALUE 0
INI_PARSER : line(1): "fb_size=0".
INI_PARSER : Got VAR 'fb_size' with VALUE 0
INI_PARSER : line(1): "fb_terminal=1".
INI_PARSER : Got VAR 'fb_terminal' with VALUE 1
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "bootcore_timeout=10".
INI_PARSER : Got VAR 'bootcore_timeout' with VALUE 10
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "font=font/myfont.pf".
INI_PARSER : Got VAR 'font' with VALUE font/myfont.pf
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "reset_combo=1".
INI_PARSER : Got VAR 'reset_combo' with VALUE 1
INI_PARSER : line(1): "".
INI_PARSER : line(1): "dvi_mode=0".
INI_PARSER : Got VAR 'dvi_mode' with VALUE 0
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "video_mode=8".
INI_PARSER : Got VAR 'video_mode' with VALUE 8
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "video_info=6".
INI_PARSER : Got VAR 'video_info' with VALUE 6
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "vsync_adjust=1".
INI_PARSER : Got VAR 'vsync_adjust' with VALUE 1
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "".
INI_PARSER : line(1): "video_mode_ntsc=8".
INI_PARSER : Got VAR 'video_mode_ntsc' with VALUE 8
INI_PARSER : line(1): "video_mode_pal=9".
INI_PARSER : Got VAR 'video_mode_pal' with VALUE 9
INI_PARSER : line(1): "".
INI_PARSER : line(1): "[Amstrad]".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "custom_aspect_ratio_1=4:3".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[C16]".
INI_PARSER : line(0): "custom_aspect_ratio_1=4:3".
INI_PARSER : line(0): "custom_aspect_ratio_2=193:135".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[C64]".
INI_PARSER : line(0): "#custom_aspect_ratio_1=101:54  # for NTSC + crop".
INI_PARSER : line(0): "#custom_aspect_ratio_1=37:27   # for PAL + crop".
INI_PARSER : line(0): "custom_aspect_ratio_1=4:3   # for PAL + crop".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[ZX81]".
INI_PARSER : line(0): "vsync_adjust=1".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "video_mode=7 # for some reason helps the core match the video frequency".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[TSConf]".
INI_PARSER : line(0): "vscale_mode=0".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : line(0): "video_mode=9".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[ZXNext]".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "vsync_adjust=2".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[zx48]".
INI_PARSER : line(0): "custom_aspect_ratio_1=349:288".
INI_PARSER : line(0): "custom_aspect_ratio_2=352:305".
INI_PARSER : line(0): "vscale_mode=1".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[Spectrum]".
INI_PARSER : line(0): "#custom_aspect_ratio_1=349:288".
INI_PARSER : line(0): "#custom_aspect_ratio_1=172:135  # for vertical trim mode".
INI_PARSER : line(0): "#custom_aspect_ratio_2=86:71    # for plain mode".
INI_PARSER : line(0): "#vscale_mode=2".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "vsync_adjust=2".
INI_PARSER : line(0): "video_mode=7 # not sure why but this seems to help equating the refresh ratio".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[QL]".
INI_PARSER : line(0): "vsync_adjust=1".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[Oric]".
INI_PARSER : line(0): "vscale_mode=0  # for built-in integer scaler".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[BK0011M]".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[X68000]".
INI_PARSER : line(0): "vscale_mode=0  # ugly otherwise".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[dkong3]".
INI_PARSER : line(0): "vsync_adjust=1".
INI_PARSER : line(0): "[GameOfLife]".
INI_PARSER : line(0): "vsync_adjust=1".
INI_PARSER : line(0): "[A.Pong]".
INI_PARSER : line(0): "vsync_adjust=1".
INI_PARSER : line(0): "[ORAO]".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : line(0): "vscale_mode=2".
INI_PARSER : line(0): "[Scramble]".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : line(0): "[Anteater]".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[ao486]".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_1=9:5".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_2=8:5".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[arkanoid]".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_1=11:15".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_2=55:64".
INI_PARSER : line(0): "[arkanoidj]".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_1=45:44".
INI_PARSER : line(0): "custom_aspect_ratio_2=200:171".
INI_PARSER : line(0): "[arkanoiduo]".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_1=45:44".
INI_PARSER : line(0): "custom_aspect_ratio_2=200:171".
INI_PARSER : line(0): "[A.ARKANOID]".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_1=45:44".
INI_PARSER : line(0): "custom_aspect_ratio_2=200:171".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "[commented_out]".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_1=4:3".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "custom_aspect_ratio_7=64:35".
INI_PARSER : line(0): "".
get cfgstring 0 = GBA2P
get cfgstring 1 = SS3E000000:80000
Got save state parameters: base=0x3E000000, size=0x80000
get cfgstring 2 = FS,GBA,Load,300C0000
get cfgstring 3 = O6,Rom for second GBA,Off,On
get cfgstring 4 = -
get cfgstring 5 = OH,Dupe Save to GBA 2,Off,On
get cfgstring 6 = D0RC,Reload Backup RAM
get cfgstring 7 = D0RD,Save Backup RAM
get cfgstring 8 = D0ON,Autosave,Off,On
get cfgstring 9 = D0-
get cfgstring 10 = O9A,Split,Vert,Horz,Screen 1,Screen 2
get cfgstring 11 = OB,Seperator Line,Off,On
get cfgstring 12 = OFG,Audioselect,GBA 1,GBA 2,Mixed,Split 1=L 2=R
get cfgstring 13 = o01,Aspect ratio,Original,Full Screen,[ARC1],[ARC2]
get cfgstring 14 = O24,Scandoubler Fx,None,HQ2x,CRT 25%,CRT 50%,CRT 75%
get cfgstring 15 = O78,Stereo Mix,None,25%,50%,100%
get cfgstring 16 = OK,Spritelimit,Off,On
get cfgstring 17 = o23,Scale,Normal,V-Integer,Narrower HV-Integer,Wider HV-Integer
get cfgstring 18 = O5,Pause when OSD is open,Off,On
get cfgstring 19 = - 
get cfgstring 20 = R0,Reset
get cfgstring 21 = J1,A,B,L,R,Select,Start
get cfgstring 22 = jn,A,B,L,R,Select,Start
get cfgstring 23 = V,v220813
get cfgstring 24 = NULL

// Status Bit Map:
//              Upper                          Lower
// 0         1         2         3          4         5         6   
// 01234567890123456789012345678901 23456789012345678901234567890123
// 0123456789ABCDEFGHIJKLMNOPQRSTUV 0123456789ABCDEFGHIJKLMNOPQRSTUV
// X XXXXXXXXXXXX XXX  X  X         XXXX                            

Opened /dev/i2c-1 for device 0x39
Set predefined video_mode to 8
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
Set predefined video_mode to 9
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
Set predefined video_mode to 8
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
FileOpenEx(open) File:/media/fat/config/GBA2P_gamma.cfg, error: No such file or directory.
FileOpenEx(open) File:/media/fat/config/GBA2P_scaler.cfg, error: No such file or directory.
Filter '', phases: 0 adaptive: false
Filter '', phases: 0 adaptive: false
Filter '', phases: 0 adaptive: false
FileOpenEx(open) File:/media/fat/config/GBA2P_shmask.cfg, error: No such file or directory.
video_set_filter: flt_flags=71
Opened /dev/i2c-1 for device 0x39
Opened /dev/i2c-1 for device 0x39
Send HDMI parameters:
video: 1920(1920), 88(88), 44(44), 148(148), 1080(1080), 4(4), 5(5), 36(36), -hsync, -vsync
PLL: 0x4, 0x404, 0x3, 0x10000, 0x5, 0x20201, 0x9, 0x2, 0x8, 0x7, 0x7, 0xE8F5C28F, Fpix=148.500000
Opened /dev/i2c-1 for device 0x39
FileOpenEx(open) File:/media/fat/config/GBA2P_afilter.cfg, error: No such file or directory.
FileOpenEx(open) File:/media/fat/config/GBA2P_volume.cfg, error: No such file or directory.
sending keymap: 0
Loading config GBA2P.CFG
FileOpenEx(open) File:/media/fat/config/GBA2P.CFG, error: No such file or directory.
Found dir: games/GBA2P
Selected file games/GBA2P/boot0.rom with 16384 bytes to send for index 0.0
Done.
CRC32: 81977335

Selected file games/GBA2P/boot1.rom with 8388608 bytes to send for index 0.1

Note how it never says Done like with boot0.rom.
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: GBA2P core hangs MiSTer when there's a boot1.rom

Unread post by pgimeno »

Update: I misremembered, it wasn't the dummy ROM, it was the Dr. Mario + Puzzle League ROM the one I had as boot1.rom.

Also, in the GBA core boot1.rom is no longer loading at start for some reason. Was support dropped?
FPGAzumSpass
Core Developer
Posts: 380
Joined: Sat May 23, 2020 12:55 pm
Has thanked: 38 times
Been thanked: 383 times

Re: GBA2P core hangs MiSTer when there's a boot1.rom

Unread post by FPGAzumSpass »

It maybe changed when the feature to load different games was added...i never tried with more than the normal bootrom
Post Reply