orac81 information 82 glöps
- general:
- level: user
- personal:
- first name: a
- last name: millett
- 512b MS-Dos CGA Plasma
- The effect addresses the display as if it is 160x100, 16 colour by dithering. As GC says this resolves to solid 16 col in real Ntsc composite. (unintended effect!) It switches B8000/BA000 on alt frames (interlace). Overall near 4x "apparent" speed for just 320x200 mapping.
This a link to run cgaplasma under (GCs) MartyPC 8088 Xt emu.
https://martypc.net/?mount=fd:0:CGA%20Plasma%20(orac81).img
Just click on Display -> Composite Monitor for the 16 colour effect.
This to online dosbox:
http://twt86.co/?c=uAQAzRD%2BBnoD%2FgZ6A%2F4OewOLDnoDv58AiMrokABQiOroigBbAdiIhQgC%2FsH%2Bxf7F%2FsVPfeP%2BBnwD%2Fg59A%2F4OfQOLDnwDv8cAiMroYABQiOroWgBbAdiIhawC%2FsH%2Bwf7B%2Fs1PfeO4ALiOwL%2FGAInrg%2BMBsQ3T43UBR4qtrAKxBL6fAIqECAIA6CTwiMJOioQIAgDo0ugI0CaIB0NOfeRPT33XRbQBzRZ1A%2BlZ%2F8OJ04PjP9HigOKAdAOA8z%2BKh8gB0O5zAjT%2FwwCAg4aJjI%2BSlZibn6KlqKutsLO2uby%2BwcTGyczO0dPV2Nrc3uDi5Obo6uvt7%2FDy8%2FT19%2Fj5%2Bvv7%2FP39%2Fv7%2F%2F%2F%2F%2F - isokadded on the 2025-05-08 16:53:25
- 512b MS-Dos CGA Plasma
- @HM: Yes I wrote it 10 years back as a demo for a PC1512, (8086, CGA, no 8087), I couldn't find one for CGA 320x200 hires, (did anyone ever make one? I only see VGA ones) so I tried making my own. Its 280 bytes. It was more about (re) learning 8086 asm than microcoding. Its a bit clunky.
coding 8086+CGA is more difficult/bigger than VGA 0x13 demos. CGA hires layout needs bigger code. No FPU means Sin via lookup, (90 bytes), there are probably smaller codes, but 8086 speed is an issue.
Looking at the code the Y precalc table can be dropped and just calculated on the fly. I see plenty of places where I can improve the code, use regs instead of ram, di+stosb, loopnz, etc, so it will readily go <256b, but <128b will be tricky. but feel free to try! - isokadded on the 2025-05-08 16:24:16
- 128b Linux MS-Dos This is the (one dimensional) Life!
- Here is the Turbo-C version using the "TCTINY" library.. (180 bytes)
Code:/* CLIFE1D.C - Classic 1D Cellular Automata Generator. (C) A.Millett 1992-2025. Released as free software under GNU GPL3 license. (See: www.gnu.org/licenses/gpl-3.0.html ) Simplified one Dimensional Cellular Automata pattern Generator, for DOS. Hit SPACE for next pattern, ESC to quit. (type CLS or MODE 80 after) Uses MOD 5 sum of 3 cells above for next gen. For DOS/VGA, minimal version written in <256 bytes for TurboC + TCTINY lib. To build: TCTINY [TC3PATH] XLIFE2Dx to build tiny .COM file (<1k) (See TCTINY.TXT for details on using TCTINY library) Code from LIFE17.C, XLIFE2D4.C .. ->CLIFE1D-104 (6.5.2025) Make smaller/faster, sim to NASM version. ->CLIFE1D-105 (6.5.2025) (180 bytes) */ typedef unsigned char BYTE; typedef unsigned int UINT; #include "tctiny.c" BYTE far *pTop = (BYTE far *) ((unsigned long) 0xa0000000L); /* Vdu top, also used as "Rules" array */ #define XMOD 5 void main () { register BYTE far *pVdu; UINT x; UINT rnd = 0xa000; /* Set VGA video mode 13h 320x200x256 */ IO_VIDEOMODE (0x13); do { /* Top line is a "rules" lookup table for rest of screen */ for (x = 0; x < 319; x ++) { rnd += x; rnd += rnd + (rnd >> 15); rnd ^= (rnd >> 8); pTop [x] = rnd; } /* Draw main screen, each new cell based on state of 3 above. */ pVdu = pTop; do { pVdu [321] = pTop[(*pVdu+pVdu[1]+pVdu[2]) % XMOD] ; pVdu ++; } while ((UINT) pVdu); /* Ok, check for user key hit */ do { IO_GETKEY (x); } while (x == 0); } while (x != 27); /* IO_VIDEOMODE (3); */ }
And another screenshot..

- isokadded on the 2025-05-07 00:45:21
- 128b Linux MS-Dos This is the (one dimensional) Life!
- This is a version of the classic 1D Cellular Automata pattern generator, for 8086 DOS/VGA, in just 71 Bytes!
This is an old-school (and well known) effect, but it uses a different approach to most other programs I have seen, in particular I think using MOD 5 generates interesting graphics.
When running, hit SPACE for next pattern, ESC to quit. (CLR or MODE 80 after)
See file "life1d.txt" for more details.
There is an SDL2/linux version in the zip file too. See "sdl_life" folder and "sdl_life1d.txt" for details.

There is a Turbo-C "TINYTC" version of the code (180 bytes) in the TC folder, and my original 1992 shareware version, which actually has a CGA option.
Also a load of pix in the "screenshot" folder.
I expect someone here will tell me it can be done in 32 bytes! - isokadded on the 2025-05-07 00:33:03
- 128b MS-Dos This is the Life!
- Wow, I figured it could be <64b, but 32b is really impressive.
Anyway this is an link to run this one:
http://twt86.co/?c=uBMAzRC4oKCOwLfQKdgw4CaIhwAFS3X0t9pTJooHJAGIh6gCS3X0W7kLAzHAUwKHqAICh6kCAoeqAoHDQAH%2BzXXsW4qn6QMo4DwEfQo8AnwGdQYI5HUCsQAmiI9BAUt1x7QBzRZ0scM%3D - isokadded on the 2025-05-02 19:20:12
- 128b MS-Dos This is the Life!
- DLIFE.ASM - The Classic game of Life. (C) A.Millett 2014-2025.
Released as free/open software under the terms of the GNU GPL3 license.
See: www.gnu.org/licenses/gpl-3.0.html
This is the classic "Game of Life", in 8086 assembly, for VGA PCs.
The DLIFEMIN.COM version is only 104 bytes. It could be a bit smaller
too, using di,si and instructions like loopnz, stosb etc.
The "min" version just generates random life until the user hits a key.
The main DLIFE.COM version has some simple edtiting commands:
C: Clear the screen
R: Fill screen with random data.
A: Auto run life (ENTER Stops)
ENTER: Step 1 generation
Cursor up/down/left/right: Move edit cursor
SPACE: Toggle current pixel.
ESC: Exit
The source code is included. The NASM assmebler is needed to compile it.
To assemble the code, use: NAS2COM dlife
or: NASM -f bin dlife.asm -o dlife.com
To make a very small version, I took a few short cuts. For instance,
the program should really "wrap" the top/bottom/left/right properly,
I just render the algorithm on the screen in one go, to a mem buffer.
Manybe the non-minimal version should do that, but it still works in
principle. - isokadded on the 2025-05-02 17:11:26
- demotool Commodore 64 Wild Llama2.C64 by Elysium [web]
- It are raining not here also..
- rulezadded on the 2025-05-02 13:02:48
- 512b MS-Dos CGA Plasma
- I have added SDL-PLASMA, VGA-PLASMA, and Turbo-C version to the original cgapkas.zip, same link..
- isokadded on the 2025-04-30 18:07:20
- 256b MS-Dos Party.DLL by Desire [web] & Haujobb
- A demo inside a demo in 256b..
- rulezadded on the 2025-04-29 13:14:54
- 64k Amiga AGA 1st Place by Winners of Revision
- Great demo, A1 Seller, would buy again!!!!!!1!!!
- sucksadded on the 2025-04-29 12:10:56
account created on the 2025-04-23 15:31:18
