flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Space Invaders meets the 1.44MB FAT32 floppy disk

Author
Thread Post new topic Reply to topic
Mike Gonta



Joined: 26 Dec 2010
Posts: 243
Mike Gonta 09 Feb 2017, 23:54
Image


Space Invaders meets the 1.44MB FAT32 floppy disk.

SPACE INVADERS by PAUL S. REID Version 1.1
An Exact Clone of the Arcade Game in 100% Assembler
Game, Source Code, and Documentation Included
Freely Distributable - No Shareware Fee
Released September 17, 1995 - MINOR BUG FIXES

Bootable and completely stand alone
80386 FASM / NASM assembly language
Only requires a classic BIOS or UEFI enabled CSM
1.44MB FAT32 floppy disk image
Will boot and run from an actual floppy disk
Run it in an emulator
Transfer it to a USB flash drive for boot and run fun!

See LICENSE.md and Space Invaders Document.txt

Space Invaders

_________________
Mike Gonta
look and see - many look but few see

https://mikegonta.com


Last edited by Mike Gonta on 11 Apr 2017, 17:48; edited 7 times in total
Post 09 Feb 2017, 23:54
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 10 Feb 2017, 01:11
Mike Gonta wrote:

Ever so slightly updated version to assemble with FASM / NASM


This can't be a coincidence, can it? Did you see my very recent DOS message about this game? Or are you aware of my older (sloppier, imprecise) ad-hoc conversion (circa 2004), aka INV2FASM? I had already posted that on this forum, back in the day (2005).

BTW, I only posted my (new) FASM script here, but I also had recently made scripts for NASM, LZASM, JWasm, A86. For various syntactical reasons (brevity, clarity, and compatibility), I decided to keep them separate instead of trying to combine into one single quasi-acceptable version.

So it's not like I ignored NASM (not that they would really care, of course). Besides, just to state the obvious, NASM is portable but bloated and needs C99 compiler to bootstrap.

Quote:

Bootable and completely stand alone 8086 compatible assembly
Only requires a classic BIOS or UEFI enabled CSM


Good, you saved some space by not needing a full OS kernel.

Of course, there were also ports of this game to Dex's MiniDOS and OctaOS back in the day.

And just to be pedantic, it is indeed 8086 friendly but relies on VGA, which is rare on such machines. And honestly, IIRC, it was too slow even on a 486, so it's unlikely that being 8086 compatible is really helping anyone here. But, of course, that's just the way it was written. And some environments (emulators, etc.) are bad about timing, so it's also less useful there.

Honestly, I almost want to rewrite it in Turbo Pascal (dialect). But there's already a QB version (with XPL0 rewrite) of a similar invaders clone, which I haven't looked at closely.

Quote:

1.44MB floppy disk image
Will boot and run from an actual floppy disk
Run it in an emulator
Transfer it to a USB flash drive for boot and run fun!


Okay, but (Free)DOS already does this too, and it is indeed a DOS game (originally). There's less flexibility in using a standalone version. For instance, how would you reassemble or even edit the source .ASM? (I see it's included on the .img, but you can't actually access it.)

Quote:

See LICENSE.md and Space Invaders Document.txt


I'm not sure of exact license. It's a custom one, not exactly OSI or FSF approved. But I have no idea how to contact him to attempt to relicense either.
Post 10 Feb 2017, 01:11
View user's profile Send private message Visit poster's website Reply with quote
Mike Gonta



Joined: 26 Dec 2010
Posts: 243
Mike Gonta 10 Feb 2017, 01:56
rugxulo wrote:
Mike Gonta wrote:
Ever so slightly updated version to assemble with FASM / NASM
This can't be a coincidence, can it? Did you see my very recent DOS message about this game?
Of course.
rugxulo wrote:
Mike Gonta wrote:
Bootable and completely stand alone 8086 compatible assembly
Only requires a classic BIOS or UEFI enabled CSM
Good, you saved some space by not needing a full OS kernel.
Actually, it's Space Invaders OS.
rugxulo wrote:
Of course, there were also ports of this game to Dex's MiniDOS and OctaOS back in the day.
It's not a port there's only a single sector boot sector / boot loader which loads a named file from the root
directory and runs it. The file is named "Kernel.bin" and this is the Space Invaders binary. The other files are
text files and there are no hidden files or 2nd stage.
rugxulo wrote:
Mike Gonta wrote:
1.44MB floppy disk image
Will boot and run from an actual floppy disk
Run it in an emulator
Transfer it to a USB flash drive for boot and run fun!
Okay, but (Free)DOS already does this too, and it is indeed a DOS game (originally).
The only DOS in the original was hooking int 0x15 which is easy enough to do. For convenience it was a DOS
loaded com file that returned to DOS.
rugxulo wrote:
There's less flexibility in using a standalone version. For instance, how would you reassemble or even edit the
source .ASM? (I see it's included on the .img, but you can't actually access it.)
All the files are online at GitHub. The floppy disk image is formatted in FAT32 which can be accessed by Windows
and Linux and works fine as a mounted image or on a USB flash drive.
rugxulo wrote:
Mike Gonta wrote:
See LICENSE.md and Space Invaders Document.txt
I'm not sure of exact license. It's a custom one, not exactly OSI or FSF approved. But I have no idea how to
contact him to attempt to relicense either.
Paul S. Reid wrote:
Use it as you will, but give me a little credit if you are going to modify the game. By this I don't mean put my
name on it (unless you hardly changed anything - then
don't take my name off of it)
Space Invaders

_________________
Mike Gonta
look and see - many look but few see

https://mikegonta.com


Last edited by Mike Gonta on 11 Apr 2017, 17:51; edited 2 times in total
Post 10 Feb 2017, 01:56
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville 10 Feb 2017, 19:05
rugxulo wrote:
Of course, there were also ports of this game to Dex's MiniDOS and OctaOS back in the day
Paul Reid's Invaders is ideal for porting to hobby OS's because it is almost OS-independent.

I also "ported" Invaders to my OS FAMOS back in 2005, but with only 4 DOS calls to deal with, it didn't take much porting. At the time it was much easier for me to patch the binary than to reassemble the source. Apart from the INT21/4C the other 3, as Mike Gonta says, were for hooking INT15 using INT21/35 and INT21/25 which are easily replaced with a direct read and write to the IVT. In fact I took the opportunity to force 80386 dependence on the game by reading and writing the IVT via eax Smile

Eventually in 2008 I announced version 1.11 of FAMOS here which by then included several ported games including Invaders.

Sorry the link on that post is now dead but in 2009 I posted version 1.15 of FAMOS right here on this board, still complete with Invaders Wink

Hard to believe that was 8 years ago now, so maybe I should think about posting an update...

_________________
FAMOS - the first memory operating system
Post 10 Feb 2017, 19:05
View user's profile Send private message Visit poster's website Reply with quote
Mike Gonta



Joined: 26 Dec 2010
Posts: 243
Mike Gonta 11 Feb 2017, 11:39
neville wrote:
rugxulo wrote:
Of course, there were also ports of this game to Dex's MiniDOS and OctaOS back in the day
Paul Reid's Invaders is ideal for porting to hobby OS's because it is almost OS-independent.
Actually, Space Invaders is almost an OS.
It only ports easily to a real mode OS or an OS that (by whatever method) can run real mode code. Otherwise
the BIOS calls and direct hardware access are a heavy dependency for the OS which does not allow either.

_________________
Mike Gonta
look and see - many look but few see

https://mikegonta.com
Post 11 Feb 2017, 11:39
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville 11 Feb 2017, 21:33
Mike Gonta wrote:
Actually, Space Invaders is almost an OS.
Sure it's as easy to make it bootable as it is to make it run in real mode under any OS, but I don't get why you say it's almost an OS. To me an app that is just a game is nowhere near to being an OS Question

_________________
FAMOS - the first memory operating system
Post 11 Feb 2017, 21:33
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 25 Feb 2017, 14:52
I found another one (standalone/booter, ASCII text only, builds with NASM, MIT license).
Post 25 Feb 2017, 14:52
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.