
A framework for making 2D DOS games in Lua - ethicszen
https://github.com/rxi/lovedos
======
vparikh
This is cool.

But if you really want to be retro and have fun hacking in a truly constrained
environment, try coding for the Atari 2600. Grab Stella
([http://stella.sourceforge.net/index.php](http://stella.sourceforge.net/index.php)),
read up on Atari specs
([http://problemkaputt.de/2k6specs.htm](http://problemkaputt.de/2k6specs.htm))
and have at it. Yep you read that right -- 8bit CPU at 1Mhz, 128 BYTES RAM,
max 8K of memory.

------
fit2rule
I'm rather more of a fan of LOAD81 for things like this, although I don't know
if it runs on DOS .. it certainly provides the same degree of sophistication,
and includes a great built-in editor:

[http://github.com/antirez/load81](http://github.com/antirez/load81)

(BTW, yes: its written by _that_ antirez .. ;)

~~~
j_s
Thanks for sharing; I was unaware of the app this tool was modeled after:
Codea (Lua on iPad)

[http://twolivesleft.com/Codea/](http://twolivesleft.com/Codea/)

------
barbs
That's cool. I've often wondered about creating a retro DOS-shareware-style
game, as a throwback to Commander Keen and Jill of the Jungle etc.

It'd be a challenge working with the limited resources, but since most things
run DosBOX, you'd also get cross-platform compatibility for free :)

~~~
bluedino
>> It'd be a challenge working with the limited resources

It's fairly simple until you get into things like different hardware and
trying to do things with networking. VGA graphics, keyboard input, that stuff
is all pretty simple.

Assuming something like a SoundBlaster, even sound programming could be done
with a library.

------
tdicola
Very cool. It's been ages since I did anything with DOS, but are you limited
to 640KB of memory, or can this use real mode/etc. to get access to more
memory?

~~~
TheZenPsycho
There are gaps in my knowledge, but my understanding is that to address
32-bits of memory requires the use of a "DOS extender". The reason being that
DOS is barely an operating system at all- It never provided any 32-bit support
but support was possible by monkey patching over part of the operating system
in memory. This was possible because DOS had no security measures preventing
such horrifying endeavours.

Anyway, I see no reference to a dos extender here so I don't know how it could
be anything other than a 16-bit program.

If the author of this framework is looking for a dos extender, I think HX
seems like a good choice:
[http://www.japheth.de/HX.html](http://www.japheth.de/HX.html)

unlike other DOS extenders, that provide idiosyncratic apis for allocating
32-bit memory, HX imitates as much as possible standard windows apis, and is
able to run some windows applications in plain DOS- including, strangely
enough, DOSBox.

(I have nothing to do with HX by the way.)

~~~
pdw
The compiler used is DJGPP, a port of GCC that comes with a DOS extender, a
POSIX-compatible C library and pretty much everything else needed to pretend
that you're using a Unix system. Basically Cygwin for DOS.

~~~
raverbashing
Yeah, DJGPP is great and I think it was one of the first compilers to work in
Protected Mode and take (most of) the DOS/Real mode pain away

~~~
jacquesm
Either DJGPP or Watcom with PharLap.

But regardless of who was first (they'll be pretty close, '89 or so) it was a
huge step forward for programming on x86. The fact that it was free made it
even more amazing.

------
Lrigikithumer
What drove you to make this? It's really cool but very niche

~~~
zserge
My assumption is that since DosBox simulates the same hardware on different
platforms/OSes - it's possible to write a DOS game once and enjoy it on Linux,
Windows, Mac, Android etc. Cross-platform games with retro flavor, why not?

------
szatkus
Developing DOS games in 2014? Well, why not...

~~~
bluedino
I remember Carmack's statement on DOS from his .plan back around the Quake 2
days

 _We are not going to do another dos game. No amount of flaming hate mail is
going to change my mind on this (PLEASE don 't!). The advantages of good
TCP/IP support, dynamic linking, powerfull virtual memory, device drivers,
etc, are just too much to overcome. Yes, all of those can be provided under
dos in various ways, but it just isn't worth it._

------
albinoloverats
"If you're not using DOS as your operating system then DOSbox can be used to
emulate a DOS computer."

That made me laugh.

