SCREEN-CHAOS-IN-BASIC-AND-ASSEMBLER-TOO -------------------------------------------------------------------------------------------------- TOOL: EDASS-128 {Commodore C128} Language: Assembler Extra: - Author: Misel Zivanovic Note: (C) 31st JAN 2026 - www.lived.ch, mzretro.ch --------------------------------------------------------------------------------------------------- This is my BASIC 7 version of the {Commodore C64, BASIC 2.0} one liner from this page {YouTube}: https://www.youtube.com/shorts/uS3cb4makOQ LISTING {Just copy/paste into VICE C128 Emulator! Note: This is one BASIC LINE in C128 {4 rows}} 1 d$=chr$(157):a$=chr$(42)+d$:b$=chr$(18)+chr$(32)+chr$(146)+d$:c$=chr$(145)+chr$(29)+chr$(17):do:printa$;:poke241,rnd(1)*15:printb$+mid$(c$,rnd(1)*4+1,1);:loop Information: I wasted all CHR$'s i could and there was no room for the LEFT movement! My BAD! My assembler version below is having this! And then, BASIC 2.0 version will run also on C128! But that is not the point. The point here was not to use gfx symbols {commands} and squeeze all in one line anyway! --------------------------------------------------------------------------------------------------- EDASS-128 SOURCE CODE - Commodore C128 --------------------------------------------------------------------------------------------------- To use this code, install EDASS-128 and then install SFK {Set Function Key} for better project {name} management. I made a small guide for it under the name EDASS-128-SFK-EXTRA! on my website www.mzretro.ch Check there how to do it! This code below can be interrupted by pressing on Q scrchaos00.asm -e:0011-a: -e: *= $1300 .obj m .bank 15 ;-------------------- ;project screen chaos ;-------------------- ; lda #$00 sta $ff00 lda #$00 sta $d020 lda #$00 sta $d021 start jsr rndon lda $d41b and #$0f sta $f1 ldx #$00 loop lda mdata,x jsr $ffd2 inx cpx #$06 bne loop lda $d4 cmp #62 beq out jsr rndon lda $d41b and #$03 cmp #$00 beq up cmp #$01 beq right cmp #$02 beq down cmp #$03 beq left work jsr $ffd2 jmp start up lda #$91 jmp work right lda #$1d jmp work down lda #$11 jmp work left lda #$9d jmp work rndon lda #$ff sta $d40e lda $d40f lda #$80 sta $d412 rts out lda #$00 sta #$d0 rts mdata .byte $71,$9d,$12,$20,$92 .byte $9d,00 --------------------------------------------------------------------------------------------------- END OF THE CODE - EDASS-128 SOURCE CODE --------------------------------------------------------------------------------------------------- ... ---------------------------------------- A hidden BONUS for all BASIC addicted guys! My new idea! GREAT! Haha... list 100 screen=1024:colmap=55296 110 for a=0 to 511 120 : gfx=(rnd(ti)*0.75)+77.75 130 : poke screen+a,gfx 140 : cellcol=int(rnd(ti)*15) 150 : poke colmap+a,cellcol 160 next ready. ----------------------------------------