marco-sacchi / RLoader

DOS programs launcher with customizable lists, search and thumbnails display.
MIT License
24 stars 1 forks source link

Crash / Memory error? #10

Closed cyberluke closed 3 years ago

cyberluke commented 3 years ago

330 items, BMP folder is 24MB => it will crash. Is my LIST.TXT badly formatted or what is happening? I'm running inside DosBox just to test it now. Example list is working.

LIST.TXT

cyberluke commented 3 years ago

Type=0x4d(M) Seg=0x072f size=0x009a name='COMMAND' Type=0x4d(M) Seg=0x07ca size=0x0045 name='COMMAND' Type=0x4d(M) Seg=0x0810 size=0x1010 name='RLOADER' Type=0x4d(M) Seg=0x1821 size=0x0045 name='RLOADER' Type=0x4d(M) Seg=0x1867 size=0x1880 name='UI' FINAL: Type=0x23(#) Seg=0x30e8 size=0x2120 name='^C^B^B^C^B^B^C^B' End dump DOS fatal memory error: Corrupt MCB chain Starting debugger.

cyberluke commented 3 years ago

garbage

cyberluke commented 3 years ago

File has only two items and is converted to ASCII, DOS encoding, codepage 852 (central european). The behavior is the same as with UTF-8. But I was able to catch extra information (happen also before but I did not have time to printscreen). Why it says CYCLES file not found?

bad

cyberluke commented 3 years ago

Ok, install.exe (F5 key) will run. Game will not run because of not enough free memory under DOSBOX-X.

cyberluke commented 3 years ago

memory

Does it mean RLOADER eat 55kb or 85kb of conventional memory? I was thinking it is not resident...this way none of DOS game will run.

cyberluke commented 3 years ago

The problem seems to be & character. But even I convert to OEM-US encoding, it will crash.

Second problem is the memory issue here.

Third problem is that now it did load with 325 entries, but it freeze. Cannot even F10. LIST.TXT is 18kb + BMP images (24MB). Is it some problem with parsing? Waiting 5 minutes and it did not load.

This seems like a very buggy untested software. I spent 5 days already on this. I think I will need to move on if these basic issues are not solved.

cyberluke commented 3 years ago

The freeze (third problem) does not happen in text mode. Perhaps it is something with loading 320 BMP files at once from the LIST.TXT? It should load max. ten for the current menu view.

EDIT: Yes, renaming folder TITLES fixed the freeze issue.

EDIT2: The problem was faulty BMP with bit depth 24 instead of 4. It will freeze and crash. But I used same command imagemagick for all images. Will re-code images.

EDIT3: for %%f in (*.*) do magick %%f +dither -colors 14 -type palette BMP3:convert\%%~nf.bmp

The example command you send me and I converted it to batch script is missing parameter: -depth 4

marco-sacchi commented 3 years ago

330 items, BMP folder is 24MB => it will crash. Is my LIST.TXT badly formatted or what is happening? I'm running inside DosBox just to test it now. Example list is working.

LIST.TXT

I copy-pasted your list in my development VM and in DOSBox ECE r4444 and vanilla DOSBox 0.74-3, in all cases it loads correctly, without any kind of error (except for the notification that the thumbnail is not available) and I can navigate and search the list.

The size of the BMP folder doesn't matter, only one thumbnail is loaded into RAM at a time.

image

Attach some thumbnails so that I can check if there are compatibility problems with the bmp files generated by your tools.

File has only two items and is converted to ASCII, DOS encoding, codepage 852 (central european). The behavior is the same as with UTF-8. But I was able to catch extra information (happen also before but I did not have time to printscreen). Why it says CYCLES file not found?

As previously explained in private UTF-8 and ASCII (of any codepage) overlap for the first 256 characters and there can be no compatibility problems even using extended characters (more than one byte per codepoint), the result would be only non-matching characters like in mismatching encodings under any system.

cycles is a DOSBox command, which obviously is not present in DOSBox-X, which allows the setting of emulation cycles from the command line and is used by RLoader to set the cycles specified in the LIST.TXT file for you before loading the program.

Does it mean RLOADER eat 55kb or 85kb of conventional memory? I was thinking it is not resident...this way none of DOS game will run.

No, RLoader only takes about 11kb of ram plus the ram reserved by the operating system to run the dynamically generated batch file to launch the configuration / installation file or the program / game. This is why it is split into two .exe files. Only rloader.exe remains resident in RAM, ui.exe does not.

The problem seems to be & character. But even I convert to OEM-US encoding, it will crash.

image

Third problem is that now it did load with 325 entries, but it freeze. Cannot even F10. LIST.TXT is 18kb + BMP images (24MB). Is it some problem with parsing? Waiting 5 minutes and it did not load.

I have never encountered such problems, please attach all necessary files when you encounter a problem, otherwise it is impossible for me to reproduce or verify.

This seems like a very buggy untested software. I spent 5 days already on this. I think I will need to move on if these basic issues are not solved.

I personally test every single line of code I write, both when I do it for work and when I do it as a hobby.

Labeling the software as very buggy and untested without re-checking what you entered in RLoader (LIST.TXT file or thumbnails) or if in doubt, downloading the source, reviewing it and possibly compiling and testing it yourself is at least offensive.

EDIT2: The problem was faulty BMP with bit depth 24 instead of 4. It will freeze and crash. But I used same command imagemagick for all images. Will re-code images.

I'll add a check to verify that the thumbnails are indeed 4bit-per-pixel bitmaps (#12).

The example command you send me and I converted it to batch script is missing parameter: -depth 4

This is really weird, I checked that command line with a couple of png images I had and all of them were generated with 4bits color depth, maybe we have different imagemagick versions (I have this: ImageMagick-7.1.0-2-portable-Q8-x64)

cyberluke commented 3 years ago

Hello, the main issue was the imagemagick command. I downloaded the latest version imageMagick-7.1.0-2-Q16-HDRI-x64-dll.exe

After supplying all the parameters including 4bit per pixel bitmap, it works.