Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.lang.asm > #6812 > unrolled thread

Space Invaders

Started by"Mike Gonta" <mikegonta@gmail.com>
First post2017-02-09 18:58 -0500
Last post2017-03-01 08:00 -0800
Articles 3 — 3 participants

Back to article view | Back to alt.lang.asm


Contents

  Space Invaders "Mike Gonta" <mikegonta@gmail.com> - 2017-02-09 18:58 -0500
    Re: Space Invaders Diesel <me@privacy.net> - 2017-02-24 10:26 +0000
    Re: Space Invaders rugxulo@gmail.com - 2017-03-01 08:00 -0800

#6812 — Space Invaders

From"Mike Gonta" <mikegonta@gmail.com>
Date2017-02-09 18:58 -0500
SubjectSpace Invaders
Message-ID<o7ivnn$1436$1@gioia.aioe.org>
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

Ever so slightly updated version to assemble with FASM / NASM
Bootable and completely stand alone 8086 compatible assembly
Only requires a classic BIOS or UEFI enabled CSM
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!
See LICENSE.md and Space Invaders Document.txt

http://mikegonta.com/Space_Invaders


Mike Gonta
look and see - many look but few see

http://mikegonta.com 

[toc] | [next] | [standalone]


#6822

FromDiesel <me@privacy.net>
Date2017-02-24 10:26 +0000
Message-ID<XnsA726384F3B36BHT1@U9mqoU8dJgs7cmr539xu14Sun5VX6.tc75x8fHq3efaF7G54W6XfCF31Jqj>
In reply to#6812
"Mike Gonta" <mikegonta@gmail.com> news:o7ivnn$1436$1@gioia.aioe.org 
Thu, 09 Feb 2017 23:58:58 GMT in alt.lang.asm, wrote:

> 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
> 
> Ever so slightly updated version to assemble with FASM / NASM
> Bootable and completely stand alone 8086 compatible assembly
> Only requires a classic BIOS or UEFI enabled CSM
> 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!
> See LICENSE.md and Space Invaders Document.txt
> 
> http://mikegonta.com/Space_Invaders
> 
> 
> Mike Gonta
> look and see - many look but few see
> 
> http://mikegonta.com 
> 
> 
> 

Thanks! I'll check this out.


-- 
Sarcasm, because beating the living shit out of deserving people is 
illegal.

[toc] | [prev] | [next] | [standalone]


#6823

Fromrugxulo@gmail.com
Date2017-03-01 08:00 -0800
Message-ID<668856c6-bc48-4b1f-a319-f9532c92082e@googlegroups.com>
In reply to#6812
Hi,

I've already posted FASM and NASM scripts elsewhere. But since
it's still better than annoying off-topic spam, I may as well post
yet another version (A86) here.

Again, I tested with either GNU sed or Laurent Vogel's Cheap sed.


On Thursday, February 9, 2017 at 5:58:52 PM UTC-6, Mike Gonta wrote:
>
> SPACE INVADERS by PAUL S. REID Version 1.1
> 
> Ever so slightly updated version to assemble with FASM / NASM

inv-a86.bat
************************************************************
@echo off
if "%SED%"=="" set SED=sed
if not exist invaders.asm goto end
echo %%SED%% = '%SED%'
echo.
if exist inv-a86.sed goto begin
:script
echo / [dD][bBwWdD] /{>s1
echo h>>s1
echo s/^\([^ ]\+\) \+[dD]\([bBwWdD]\).*/EXTRN \1:\2/w data.inc>>s1
echo g>>s1
echo }>>s1
REM ... put data first (to avoid unknown forward references) ...
echo /BEGIN:/s/.*/include data.inc\>>s1
echo &/>>s1
REM ... "assume" manual segment override fixes ...
echo /RemoveNewInt9.* PROC/,/ ENDP/s/OldInt9Addr/cs:&/>>s1
echo /NewInt9Hand.* PROC/,/NotIntercept:/s/\(MOV \+\)\([^,]\+\)/\1cs:\2/>>s1
echo /NotIntercept:/,/CLC/{>>s1
echo /StoreAX/s//cs:&/>>s1
echo /40:/s///>>s1
echo }>>s1
REM ... avoid incorrect memory references ...
echo /OFFSET.*\[0\]/s/\[0\]//>>s1
echo w inv.a86>>s1
if not exist s1 goto end
ren s1 inv-a86.sed
:begin
%SED% -n -f inv-a86.sed invaders.asm
if not exist inv.a86 goto cleanup
if exist a86jumps.bat set INVLST=inv-a86.lst
a86 +S inv.a86 inv-a86.com %INVLST% >NUL
if not exist inv-a86.com goto cleanup
dir inv-a86.com | grep -i "com"
if "%INVLST%"=="" goto cleanup
if not exist %INVLST% goto cleanup
call a86jumps.bat
if exist inv-a86.com call a86jumps.bat
if exist %INVLST% del %INVLST% >NUL
echo.
echo INV-A86.COM     CDFE86FA
crc32 inv-a86.com
echo.
:cleanup
set INVLST=
if not "%1"=="notclean" del inv-a86.sed >NUL
:end
if "%SED%"=="sed" set SED=
************************************************************

a86jumps.bat
************************************************************
@echo off
if "%SED%"=="" set SED=sed
if "%AWK%"=="" set AWK=awk
if not exist inv.a86 goto end
for %%a in (com lst) do if not exist inv-a86.%%a goto end
if not exist data.inc goto build
%SED% -e "/include/r data.inc" -e "/include/d" inv.a86 >inv-a86.new
if not exist inv-a86.new goto end
copy inv-a86.new inv.a86 >NUL
del inv-a86.new >NUL
del data.inc >NUL
:build
a86 +SL inv.a86 inv-a86.com >NUL
%AWK% "(/JMP/)&&($0!~/SHORT/)&&($4~/[0-7][0-9A-F]/)&&($5==\"00\"){printf(\"%ds/JMP/& SHORT/\n\",$1)}" inv-a86.lst>jmps
%SED% -f jmps inv.a86 >inv.new
copy /b inv.new inv.a86 >NUL
del inv.new >NUL
del jmps >NUL
a86 +SL inv.a86 inv-a86.com >NUL
dir inv-a86.com | grep -i "com"
:end
if "%AWK%"=="awk" set AWK=
if "%SED%"=="sed" set SED=
************************************************************

Sorry about line wrapping. Also, the second script is only because
A86 refuses to optimize forward jumps as short. Not a deal breaker,
but I still wanted to be exact.

[toc] | [prev] | [standalone]


Back to top | Article view | alt.lang.asm


csiph-web