Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > alt.lang.asm > #6812 > unrolled thread
| Started by | "Mike Gonta" <mikegonta@gmail.com> |
|---|---|
| First post | 2017-02-09 18:58 -0500 |
| Last post | 2017-03-01 08:00 -0800 |
| Articles | 3 — 3 participants |
Back to article view | Back to alt.lang.asm
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
| From | "Mike Gonta" <mikegonta@gmail.com> |
|---|---|
| Date | 2017-02-09 18:58 -0500 |
| Subject | Space 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]
| From | Diesel <me@privacy.net> |
|---|---|
| Date | 2017-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]
| From | rugxulo@gmail.com |
|---|---|
| Date | 2017-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