Hacker News new | ask | show | jobs
by chillingeffect 421 days ago
oh man, I apologize, I got it wrong! Sorry, the whole program can only be 64K in total, you're right!

how are you creating your .com files btw?

1 comments

I think it is this, it's been a couple of weeks: nasm -f bin -o foobar.com foobar.asm

Top of the file you'll need this offset for DOS (or 7c00 for an MBR) to adjust your pointers with based on where the program gets loaded:

[bits 16] [offset 100]

I bet you can use more than 64kb of memory, I set ES to A000 and write to video memory in mode 13. So I imagine if you have a data source -- know your (LBA) block offsets (MBR style) or use a DOS interrupt to load a file -- you can still stomp on some memory outside of the given 64k and set your DS register there.

I haven't done it yet but if I wanted to load a .wad file or something that's the line I'd follow ;)