x86asmban - Sokoban in an MBR

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
User avatar
iansjack
Member
Member
Posts: 4733
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: x86asmban - Sokoban in an MBR

Post by iansjack »

Just a small comment, Ben

Personally, I don’t trust binaries or executables from an anonymous Internet source. I prefer to see the code.
User avatar
BenLunt
Member
Member
Posts: 954
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: x86asmban - Sokoban in an MBR

Post by BenLunt »

iansjack wrote: Tue Jan 21, 2025 6:18 am Just a small comment, Ben

Personally, I don’t trust binaries or executables from an anonymous Internet source. I prefer to see the code.
I actually 100% agree with you, however, in the case of this thread, and the mentioned fellow OS projects, wouldn't they all be ran via an emulator? If so, if there was any threat, it would be contained within the emulation, and simply stopping the emulator would make that threat disappear, would it not?

I'm just saying that when I read about a project that peaks my interest, to the point where I want to run it through Bochs to have a look, as soon as I see that I have to build the project first, I almost instantly lose interest.

As for the project mentioned here, ya, it's just nasm and a few command lines later I have a binary image ready to emulate. However, I mention this as a general idea, where most projects mentioned on this forum can have a considerably more detailed build process.

Another reason, and I have personally experienced this many times, is when I build someone else's project, then load it in an emulator, and it doesn't behave as intended, I contact the author and tell them, using their build instructions, it doesn't work. They have no idea what I'm talking about because it works on their end.

I have experienced it as just the opposite too. Someone points me to their code asking for help getting past a certain point. I build their project and it works as expected on my end, but not on their end.

Anyway, just my opinion. If there was a ready-for-emulation binary file included in a project, I would be more apt to try it out. When there is none, I usually move on.

Ben
User avatar
iansjack
Member
Member
Posts: 4733
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: x86asmban - Sokoban in an MBR

Post by iansjack »

True, as long as you assume that VMs provide total isolation. Unfortunately, vulnerabilities in VM software are not unknown. And I donut know how clever, or malicious, someone posting executables may be.
Fahr
Posts: 12
Joined: Wed May 19, 2021 10:32 am
Discord: Fahr
GitHub: https://github.com/gboor

Re: x86asmban - Sokoban in an MBR

Post by Fahr »

Octocontrabass wrote: Mon Jan 20, 2025 3:32 pm Everything else seems to work fine.
Excellent! Thanks so much for testing :)
I've pushed a change to clear the input buffer before a new level as well, though it's quite minor.

Any opinions on the code quality you want to share? I'm just wondering if it's fine or a complete and utter mess. But then... ASM is usually a complete and utter mess.
Octocontrabass wrote: Mon Jan 20, 2025 3:32 pm I can also send you a copy of the BIOS from my test PC, but I doubt it'll work in any VM.
The site you linked is a pretty good source already. I'll see if I can somehow make it work, but as you said; chances are slim.
Fahr
Posts: 12
Joined: Wed May 19, 2021 10:32 am
Discord: Fahr
GitHub: https://github.com/gboor

Re: x86asmban - Sokoban in an MBR

Post by Fahr »

BenLunt wrote: Mon Jan 20, 2025 4:20 pm 1) (Without sounding rude), I have yet to look at your end result because I don't wish to take the time to build the thing. Granted, it is only NASM and a few files, but have you ever wanted to have a look at someone's OS or other project and there is no binary? Some projects require GCC *and* MAKE *and* a specific version of XYZ, *and* the ABC Library. I don't wish to install of that, let alone most of the time it doesn't build anyway because I downloaded a different version of the ABC Library than was used by the author.
You make a good point, as does iansjack in this thread about security. I've included a binary build of this thing in the github repo now as mbr.bin. Anyone who feels ok using that can use it and anyone who doesn't can build it from source.
I had intended to do this already, but just never got around to it. I agree in principle that binaries should be provided where possible.
BenLunt wrote: Mon Jan 20, 2025 4:20 pm 2) One of the recent projects I have been working on is exactly on subject of your last few posts, a BIOS for Bochs and QEMU, which includes a binary within the github source tree :-). It isn't advanced as SeaBIOS (the one QEMU uses), but it has fixed some of the issues with the BIOS Bochs uses. I would appreciate it if you will try it and let me know what you find.
I tried both the binary and a local build with Bochs and qemu with my own mbr.bin as a boot disk. Works fine in both, though for Bochs it only worked when I set this BIOS in the global config file, apparently it cannot do per-project overrides... but that may just be my Bochs version, which is admittedly fairly old.
User avatar
BenLunt
Member
Member
Posts: 954
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: x86asmban - Sokoban in an MBR

Post by BenLunt »

Thank you.

I think it is quite impressive. I like it.

As Octocontrabass suggested, I would not rely upon the fact that the BIOS will clear the carry flag.

Since you don't rely upon it any more, you may wish to remove that comment.

Quite impressive. Thank you,

Ben
- https://www.fysnet.net/osdesign_book_series.htm
Fahr
Posts: 12
Joined: Wed May 19, 2021 10:32 am
Discord: Fahr
GitHub: https://github.com/gboor

Re: x86asmban - Sokoban in an MBR

Post by Fahr »

BenLunt wrote: Thu Jan 23, 2025 4:31 pm I think it is quite impressive. I like it.
Thanks, that is very nice to hear :)
BenLunt wrote: Thu Jan 23, 2025 4:31 pm Since you don't rely upon it any more, you may wish to remove that comment.
The comment has been gone since the fix; https://github.com/gboor/x86asmban/blob ... e.asm#L320 - you're linking to an older commit where the fix is not yet in place.
Post Reply