ATARI-800XL-DISPLAYLIST-WHAT-AND-HOW -------------------------------------------------------------------------------------------------- TOOL: SynAssembler {converted to!} Language: BASIC Extra: - Author: Misel Zivanovic (of this text file} Note: (C) 25th DEC 2025 - www.lived.ch, mzretro.ch --------------------------------------------------------------------------------------------------- A big thank you to: https://optixx.org/2023/05/23/atari-800-xl-assembler-update/ By David Voswinkel / 2023-05-23 --------------------------------------------------------------------------------------------------- FURTHER BELOW YOU CAN FIND ORIGINAL FILES incl. BASIC version! Here it is converted to be SynAssembler compatible, because we use SynAssembler! Well, obviously there are many ways to make individual DLI and effects related to DLI. I found this one online and think it is a good example and source to learn something new beside my little efforts. You know how it is said: sharing is knowledge! 00010 .OR $4000 00015 .LI OFF 00020 JSR $F420 ;CLEAR SREEN 00025 ;------------------------------ 00030 ;NO KEY SND, FASTER 00035 ;------------------------------ 00040 LDA #20 00045 STA $02D9 ;KEY-DELAY 00050 LDA #3 00055 STA $02DA ;KEY-REPEAT SPEED 00060 STA $02DB ;KEY-CLICK OFF 00065 LDA #0 00070 STA $52 ;NO LEFT MARGIN 00075 LDA #0 00080 STA $2C6 ;SCRN COLOR 00085 LDA #0 00090 STA $2C8 ;BORDER COLOR 00120 ;------------------------------ 00125 ;MAIN LOOP (START) 00130 ;------------------------------ 00140 ; 00150 WSYNCH .EQ $D40A 00160 VCOUNT .EQ $D40B 00170 COLPF2 .EQ $D018 00180 DPLIST .EQ $CC 00190 00200 LDA $230 00210 STA DPLIST 00220 LDA $0231 00230 STA DPLIST+1 00240 LDA #DLI 00250 STA $200 00260 LDA /DLI 00270 STA $201 00280 00290 LDY #$03 00300 LDA (DPLIST),Y 00310 EOR #$80 00320 STA (DPLIST),Y 00330 LDY #$08 00340 DLLOOP LDA (DPLIST),Y 00350 EOR #$80 00360 STA (DPLIST),Y 00350 EOR #$80 00360 STA (DPLIST),Y 00370 INY 00380 CPY #$1D 00390 BNE DLLOOP 00400 LDA #$C0 00410 STA $D40E 00420 00430 MAIN LDA #$FF 00440 STA $02FC 00450 LOOP LDX $02FC 00460 CPX #$FF 00470 BNE EXIT 00480 JMP LOOP 00490 EXIT RTS 00500 00510 DLI PHA 00520 LDA VCOUNT 00530 STA WSYNCH 00540 STA COLPF2 00550 PLA 00560 RTI --------------------------------------------------------------------------------------------------- ORIGINAL FILES ------------------------------- MADS multi-pass Cross-Assembler ------------------------------- https://mads.atari8.info/ ------------------------------- run start org $4000 WSYNC = $d40a VCOUNT = $d40b COLPF2 = $d018 DL = $cc start lda $0230 sta DL lda $0231 sta DL+1 lda #dli sta $0201 ldy #3 lda (DL),y eor #128 sta (DL),y ldy #8 dlloop lda (DL),y eor #128 sta (DL),y iny cpy #29 bne dlloop lda #192 sta $d40e main lda #$ff sta $02fc loop ldx $02fc cpx #$ff bne exit jmp loop exit rts dli pha lda VCOUNT sta WSYNC sta COLPF2 pla rti ------------------------------- --------------------------------------------------------------------------------------------------- BASIC PART {OF THE SAME AS ABOVE} - ANY ATARI BASIC 10 REM DLI7.BAS 20 FOR X=16384 TO 16457 30 READ D 40 POKE X, D 50 NEXT X 60 Z = USR(16384) 70 DATA 173,48,2,133,204,173,49,2 80 DATA 133,205,169,62,141,0,2,169 90 DATA 64,141,1,2,160,3,177,204 100 DATA 73,128,145,204,160,8,177,204 110 DATA 73,128,145,204,200,192,29,208 120 DATA 245,169,192,141,14,212,169,255 130 DATA 141,252,2,174,252,2,224,255 140 DATA 208,3,76,51,64,96,72,173 150 DATA 11,212,141,10,212,141,24,208 160 DATA 104,64 ---------------------------------------------------------------------------------------------------