Go to bottom

plowerfowder by aspekt [web]

-- plowerfowder --

	a 501 byte ASCII entry for asmcompo.org compo #10
	by thefox <fuchs@runkkaajat.org> / aspekt  2004

-- what is it all about --

	it's a simple flower in 501 bytes. only ascii characters are
	used in the binary. this was accomplished by writing a loader
	(in loader.asm)	in ASCII which takes base64-encoded data as
	input, decodes the data to memory and runs it.

-- build how-to --

	the source code can be found under /src -directory

	what's required to build this:

		Microsoft (R) Macro Assembler ('ml.exe')
		Microsoft (R) Segmented Linker ('link.exe', used in make
			batch files as 'dlink.exe')
		Microsoft (R) C/C++ Compiler ('cl.exe')
		Microsoft (R) Incremental Linker ('link.exe')

	C-compiler and incremental linker (32-bit) are required only
	for building 256to64. you should be able to use any other
	C-compiler also.

	make_all.bat builds everything, first 256to64.exe, then
	demo.com and finally loader.com (which is the final executable)

	** DO NOT execute demo.com as its base address is not 100h **

	the binary from make_all.bat is 513 bytes, here's how to create
	a 501 byte binary:

		first run make_all.bat as normal (or make.bat if you have
		built 256to64 already)

		use hex-editor on demo.com stripping out the last six
		bytes (which should all be zeros)

		run make_phase2_only.bat

	if you want to build only 256to64, call make_256to64.bat

-- notes --

	256to64 is just a quick hack. it *will* produce 'broken' include
	files for some input file sizes. 'broken' means that the output
	file has got a last line 'byte ""' which masm will give an error

	demo itself (both loader.asm and demo.asm) could've been optimized
	a bit more also but reaching 512 bytes was enough for me this time.

-- public domain --

	yes. do anything you want with these files.
	i take no responsibility at all.

-- the binary --

	just for the heck of it, here's the demo once more (starting from
	'Z'-character, 'til the end of the file.

ZRRRfZhp!XP-Q PP]h]][(^ )^&[_f!U j$X, j Y(N*fkM @2N*f!U f1M EHuCGGGKu4GG S1.P6!X0$  %O0=0V2*O[MGNB\ SR(OXJO-)#$Z+WL'9WPI6Q/;@!'5!V=C=P=GH#D[8V?[9P=[H&D[8%D;8(E[9V>[9P]C WL'9V0!.Z-G^WL39R=[IWL+9V0).Q-G^WLG>3MC!1M@2R=DBV/O93M[*7M\$R=XF!D[>*%[?*$:+ 4"ZB^+W!KOX?@, QX$FC7V@_7ZUJ@^P!(HF=<"$"; *!(@FA(@F1@%!Z'5+'D;8D'5)W=C=9MC89M@:R=D:&D;8"%;>]N#?=4'$1HL11HD"@T  B0?@W0)&[MG8@\G9!0Q&#'Z!=@@ 1L<%"  ,!@8> &@?N@>@[ /:=0BHJ.S[^W0(/H"YB_8S9O/^'P>E_F#DA0_(N/[YS0 # ,,0  0 / !X  (  0 !M4@  $#;/P  )F9FUPH_VSPC.TD/
Go to top