A quick google turns up this disassembly of the ROM:
https://gist.github.com/drhelius/6063288
You can see the comment of the last line is $00fe and the first line is $0000, so assuming the last instruction takes 2 bytes, that's 256 bytes.
Besides, it is a 16 bit machine, so it has 64K addressable space. Going above that requires bank switching. Here is the memory map:
https://gbdev.io/pandocs/Memory_Map.html
I see 32K cartridge ROM (at most), 8K work RAM (built in), 8K video RAM, and some memory mapped devices. At E000, almost 8K is actually wasted as an echo of another range.
As a kid, I once wrote a flame simulation in DOS. The resulting com file was about 100 bytes, so it was possible to write usable programs in <256 bytes. Presumably a very simple DOS text mode game might fit in 256 bytes