; ; Exemple de gestion de ; rupture ligne-@-ligne ; par Zik ; pour ; Quasar CPC num{ro 9 ; d'apr}s une id{e de Memory ; Table1 Equ &9000 ; On doit r{server apr}s chaque table Table2 Equ &9800 ; autant d'octets que la hauteur de l'effet LTab1 Equ 180 ; Nombre d'octets de Table1 LTab2 Equ 240 ; Nombre d'octets de Table2 Hauteur Equ 150 ; Nombre de lignes de l'effet HLTab1 Equ ltab1/256 ; Poids fort de LTab1 LLTab1 Equ -hltab1*256+ltab1 ; Poids faible de LTab1 HLTab2 Equ ltab2/256 ; idem LLTab2 Equ -hltab2*256+ltab2 ; idem Org &8000 Limit &8fff ; Pour Maxam Nolist ; idem ; ; Initialisations ; (CRTC, interruptions et tables) ; xor a call &bc0e ; MODE 0 ld de,table1+ltab1 ld hl,table1 ld bc,hauteur ldir ld de,table2+ltab2 ld hl,table2 ld bc,hauteur ldir ld bc,&bc01 out (c),c ld bc,&bd00+48 out (c),c ld bc,&bc02 out (c),c ld bc,&bd00+50 out (c),c di ld hl,(&38) ld (inter+1),hl ld hl,&c9fb ld (&38),hl ei ; ; Programme principal ; Prog ld b,&f5 Synchro in a,(c) rra jr nc,synchro ld b,255 Loop djnz loop ld bc,&bc07 out (c),c ld bc,&bdff out (c),c ld bc,&bc04 out (c),c ld bc,&bd06 out (c),c ld de,&c001 ld hl,&c000 ld bc,48*2-1 ld (hl),0 ldir ; Effa\age de la ligne Plot1 ld ix,table1 inc ix Compt1 ld hl,0 inc hl ld a,h cp hltab1 jr nz,suite1 ld a,l cp lltab1 jr nz,suite1 ld ix,table1 ld hl,0 Suite1 ld (compt1+1),hl ld (plot1+2),ix Plot2 ld iy,table2 inc iy Compt2 ld hl,0 inc hl ld a,h cp hltab2 jr nz,suite2 ld a,l cp lltab2 jr nz,suite2 ld iy,table2 ld hl,0 Suite2 ld (compt2+1),hl ld (plot2+2),iy halt ld b,3 ; Adaptation CRTC (mettre 2 sur CRTC 1) Loop1 ds 60 djnz loop1 ld bc,&bc04 out (c),c ld bc,&bd00 out (c),c ld bc,&bc09 out (c),c ld bc,&bd00 out (c),c di ld de,76*256+112 ld a,176 ld bc,hauteur*256+140 ld h,&c0 Boucle ld l,(ix) ; 5 ld (hl),d ; 2 inc l ; 1 ld (hl),e ; 2 inc l ; 1 ld (hl),a ; 2 inc l ; 1 ld (hl),c ; 2 inc ix ; 3 ld l,(iy) ; 5 ld (hl),124 ; 3 inc l ; 1 ld (hl),67 ; 3 inc l ; 1 ld (hl),131 ; 3 inc l ; 1 ld (hl),188 ; 3 inc iy ; 3 ds 18 djnz boucle ; 4/3 ld b,224-hauteur Loop3 ds 60 djnz loop3 ei ld bc,&bc09 out (c),c ld bc,&bd07 out (c),c ds 63 ld bc,&bc04 out (c),c ld bc,&bd03 out (c),c ld b,8 Loop4 ds 60 djnz loop4 ld bc,&bc07 out (c),c ld bc,&bd00 out (c),c ; ; Test clavier ; ld bc,&f40e out (c),c ld bc,&f6c0 out (c),c xor a out (c),a ld bc,&f792 out (c),c ld bc,&f645 out (c),c ld b,&f4 in a,(c) ld bc,&f782 out (c),c ld bc,&f600 out (c),c rla jp c,prog ; ; Retour ; ld bc,&bc07 out (c),c ld bc,&bd00+30 out (c),c ld bc,&bc04 out (c),c ld bc,&bd00+38 out (c),c ld bc,&bc02 out (c),c ld bc,&bd00+46 out (c),c ld bc,&bc01 out (c),c ld bc,&bd00+40 out (c),c di Inter ld hl,0 ld (&38),hl ei ld a,2 call &bc0e ret  par Zik ; pour ; Quasar CPC num{ro 9 ; d'apr}s