home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / robot-pd / 19306.ZIP / 19306B.DSK / #nonmove.ras < prev    next >
Text File  |  1998-02-03  |  2KB  |  43 lines

  1. org &4000
  2. nolist
  3.  
  4. LD HL,&C9FB     ; Opcodes f}r "EI" und "RET"
  5. LD (&38),HL     ; Interrupt an &38 abfangen
  6. EI              ; Interrupt freigeben
  7.  
  8. frame LD B,&F5
  9. IN A,(C)
  10. RRA
  11. JR NC,frame     ; auf Frame Fly Back warten
  12.  
  13. HALT
  14. HALT
  15. HALT            ; warten, bis wir in der Bildschirmmitte sind
  16. DEFS 23         ; nochmal kurz warten, damit die Farbumschaltung
  17.                 ; im unsichtbaren Bereich ist
  18.  
  19. begin LD HL,tab ; Adresse der Farbtabelle nach HL
  20. LD B,40         ; 40 Zeilen nacheinander rastern
  21. loop PUSH BC    ; Schleifenz{hler (anfangs 40) "retten"
  22. LD A,(HL)       ; Farbwert aus Farbtabelle laden
  23. LD B,&7F        ; Partadresse Gate Array
  24. LD C,0          ; Ink 0
  25. LD D,16         ; Border (= 16)
  26. OUT (C),C       ; Ink 0 anw{hlen
  27. OUT (C),A       ; Farbwert }ber/ausgeben
  28. OUT (C),D       ; Border anw{hlen
  29. OUT (C),A       ; Farbwert }ber/ausgeben
  30. INC HL          ; Farbtabellenadresse erh|hen (f}r n{chsten Wert)
  31. DEFS 27         ; warten, bis der Elektronenstrahl die Zeile
  32.                 ; vollgeschrieben hat
  33. POP BC          ; Schleifenz{hler restaurieren
  34. DJNZ loop       ; Schleifenz{hler dekrementieren, und das ganze f}r
  35.                 ; die n{chste Zeile noch einmal!
  36. JP frame        ; wenn fertig mit den 40 Zeilen,
  37.                 ; dann wieder auf Frame Fly warten
  38. tab DB 68,84,68,68,85,68,85,85,87,85,87,87,83,87,83,83,75,83,75,75
  39.     DB 75,74,75,74,74,78,74,78,78,76,78,76,76,92,76,92,92,84,92,84
  40.                 ; Hardwarefarbtabelle, letzter Wert (84): schwarz
  41.                 ; (ab dem Ende des Rasters, und bis zum Anfang auch)
  42.      ; Interrupt an &38 abfangen
  43. EI              ; Interrupt freigeben