Advertisement
felixnardella

Natale_2023

Dec 26th, 2023 (edited)
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.79 KB | None | 0 0
  1. ; ***************************************************************
  2. ; * NATALE 2023 *
  3. ; * FOR XC=BASIC 2.3 *
  4. ; * CODE BY KIMONO (Felice Nardella) *
  5. ; * SID: "X-Mas Memories" BY J. Wijnhoven & R. Hermans *
  6. ; ***************************************************************
  7.  
  8. CONST MS = 1024
  9. CONST MC = 55296
  10. CONST NC = 40
  11. CONST NR = 25
  12. let f!=0
  13. dim a[120]
  14.  
  15. GOTO START
  16.  
  17. ORIGIN $1000
  18. INCBIN "X-Mas_Memories_1.dat"
  19.  
  20. PROC START_MUSIC
  21. ASM " SEI"
  22. DOKE $314, @IRQ_ROUTINE
  23. POKE $D011, $1B
  24. POKE $D012, $00
  25. POKE $DC0D, $7F
  26. POKE $D01A, $01
  27. POKE $D019, $01
  28. ASM "
  29. LDA #$00
  30. JSR $1000
  31. CLI"
  32.  
  33. RETURN
  34.  
  35. IRQ_ROUTINE:
  36. ASM "
  37. LDA #$01
  38. STA $D019
  39. JSR $1003
  40. JMP $EA31"
  41. ENDPROC
  42.  
  43. START:
  44. PRINT "{CLR}"
  45. DOKE $D020,0
  46. POKE $328,239
  47. POKE $318,193
  48. CALL START_MUSIC
  49.  
  50. ' DISEGNA SCHERMO
  51. FOR i = 0 TO 999
  52. POKE MS+i, screen_1![i]
  53. NEXT
  54.  
  55. ' COLORA SCHERMO
  56. FOR i = 0 TO 999
  57. POKE MC+i, col_screen_1![i]
  58. NEXT
  59.  
  60. neve:
  61. FOR k! = 0 TO 120
  62. fx% = NC*24*rnd%()
  63. a[k!] = cast(fx%) + MS
  64. NEXT
  65.  
  66. ancora:
  67. IF f!=0 THEN
  68. f!=1
  69. FOR j=0 TO 999
  70. IF PEEK(MS+j)=46 THEN POKE (MS+j),32
  71. NEXT
  72. ELSE
  73. f!=0
  74. FOR k!=0 TO 120
  75. IF PEEK(a[k!])=32 THEN POKE a[k!],46
  76. a[k!]=a[k!]+NC
  77. IF a[k!]>2023 THEN a[k!]=MS+cast(NC*24*rnd%())
  78. NEXT
  79. ENDIF
  80.  
  81. GOTO ancora
  82.  
  83. DATA screen_1![] = 160,160,160,223,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,230,95,160,223,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,160,160,160,160,223,32,32,32,32,233,223,32,32,32,32,32,32,32,32,32,32,32,32,220,160,160,160,160,160,32,32,32,32,32,32,32,32,32,32,32,160,230,223,95,160,223,32,32,233,232,232,223,32,32,32,32,32,32,32,32,32,32,220,232,232,232,232,160,160,160,160,32,32,32,32,32,32,32,32,32,160,160,160,223,32,32,32,233,223,230,223,230,223,32,32,32,32,32,32,223,233,220,160,32,32,32,32,232,232,160,160,160,230,230,32,32,32,32,32,32,160,160,95,160,223,32,233,230,230,223,230,223,230,223,32,32,32,32,95,160,160,105,32,32,32,32,32,32,32,232,232,160,160,160,230,230,32,32,32,32,160,230,230,95,160,223,32,32,32,32,32,32,32,32,233,215,215,215,233,160,160,223,215,215,215,215,223,32,32,32,32,232,232,160,160,160,160,230,32,32,160,95,160,160,223,32,32,32,32,32,32,32,32,233,105,32,32,32,32,105,95,32,32,32,32,32,95,223,32,32,32,32,230,232,160,160,230,32,32,32,160,102,230,160,160,223,32,32,32,32,32,32,233,105,32,32,32,32,32,32,32,32,32,32,32,32,32,95,223,32,32,32,32,32,230,230,32,32,32,32,95,160,160,160,223,32,32,32,32,32,32,233,105,32,32,32,32,32,32,32,32,32,32,32,32,111,32,32,95,223,32,32,32,32,32,32,32,32,32,32,230,230,160,95,160,223,32,32,32,32,233,105,32,32,32,111,32,32,32,32,32,32,32,32,32,250,223,32,32,95,223,32,32,32,32,32,32,32,32,32,95,160,102,102,95,160,223,32,32,233,105,32,32,32,233,204,32,32,32,32,32,32,32,32,124,160,160,32,32,32,95,223,32,32,32,32,32,32,32,32,102,95,160,160,230,230,32,32,233,102,32,32,32,32,160,160,126,32,32,32,32,32,32,32,32,160,160,32,32,32,32,102,223,32,32,32,32,32,32,32,160,230,230,230,160,32,32,32,32,102,32,32,32,32,160,160,32,32,32,32,121,32,32,32,32,160,160,32,32,32,32,102,32,32,32,32,32,32,32,32,95,160,95,160,160,223,32,32,32,102,32,32,32,233,160,160,32,32,32,247,160,247,32,32,32,160,160,32,32,32,32,102,32,32,32,32,32,32,32,32,223,230,230,230,160,160,223,32,32,102,32,32,233,160,160,160,32,32,32,236,120,251,32,32,32,160,160,32,32,32,32,102,32,32,32,32,32,32,32,32,160,95,160,160,160,160,160,223,32,230,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,102,217,99,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,102,217,32,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,32,32,105,32,32,32,32,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,102,217,32,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,233,32,223,233,32,32,32,32,32,32,32,32,32,230,32,32,32,32,32,32,32,32,102,217,32,32,32,32,32,32,32,163,32,32,32,32,32,32,32,233,223,223,160,95,95,223,32,32,32,32,32,32,32,163,32,32,32,32,32,32,32,32,102,217,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,223,223,160,160,233,105,233,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,102,217,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,160,223,160,160,160,95,160,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,102,217,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,160,160,160,160,160,160,160,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,102,102,230,230,230,232,232,232,232,232,232,232,232,232,232,232,232,95,160,228,228,228,160,105,232,232,232,232,232,232,232,232,232,232,232,232,232,139,137,141
  84.  
  85. DATA col_screen_1![] = 14,5,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,14,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,6,14,5,5,1,1,1,1,15,15,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,1,1,1,1,1,1,1,1,1,1,1,6,6,5,14,5,5,1,1,15,15,15,15,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,1,1,1,1,1,1,1,1,1,14,6,5,5,1,1,1,6,14,6,14,6,6,1,1,1,1,1,1,7,7,7,7,1,1,1,1,7,7,7,7,7,7,7,1,1,1,1,1,1,6,14,14,5,5,1,6,6,6,14,6,14,6,6,1,1,1,1,7,7,7,7,1,1,1,1,1,1,1,7,7,7,7,7,7,7,1,1,1,1,6,6,6,14,5,5,1,1,1,1,1,1,1,1,11,11,11,11,7,7,7,7,11,11,11,11,11,1,1,1,1,7,7,7,7,7,7,7,1,1,6,5,5,5,5,1,1,1,1,1,1,1,1,11,11,1,1,1,1,7,7,1,1,1,1,1,11,11,1,1,1,1,7,7,7,7,7,1,1,1,14,6,6,14,5,5,1,1,1,1,1,1,11,11,1,1,1,1,1,1,1,1,1,1,1,1,1,11,11,1,1,1,1,1,7,7,1,1,1,1,14,14,5,5,5,1,1,1,1,1,1,11,11,1,1,1,1,1,1,1,1,1,1,1,1,9,1,1,11,11,1,1,1,1,1,1,1,1,1,1,6,6,6,14,5,5,1,1,1,1,11,11,1,1,1,6,1,1,1,1,1,1,1,1,1,10,5,1,1,11,11,1,1,1,1,1,1,1,1,1,6,6,6,6,14,5,5,1,1,11,11,1,1,1,6,10,1,1,1,1,1,1,1,1,10,5,5,1,1,1,11,11,1,1,1,1,1,1,1,1,6,5,5,6,6,6,1,1,11,9,1,1,1,1,6,6,10,1,1,1,1,1,1,1,1,8,5,1,1,1,1,9,11,1,1,1,1,1,1,1,6,6,6,6,14,1,1,1,1,9,1,1,1,1,6,6,1,1,1,1,10,1,1,1,1,2,8,1,1,1,1,9,1,1,1,1,1,1,1,1,6,6,14,5,5,5,1,1,1,9,1,1,1,6,6,14,1,1,1,7,14,7,1,1,1,2,2,1,1,1,1,9,1,1,1,1,1,1,1,1,5,6,6,6,14,5,5,1,1,9,1,1,14,14,14,14,1,1,1,9,9,9,1,1,1,2,2,1,1,1,1,9,1,1,1,1,1,1,1,1,6,5,5,6,6,14,5,5,1,10,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,1,1,1,1,1,1,1,1,9,9,9,1,1,1,1,1,1,10,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,1,1,1,1,1,1,1,1,9,9,1,1,1,1,1,1,1,10,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,10,1,1,1,1,1,1,1,1,9,9,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,9,9,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,9,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,10,15,2,10,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,10,15,10,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,15,7,15,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,6,6,6,6,6,6,6,14,14,14,14,14,14,14,14,2,2,7,7,7,2,2,14,14,14,14,14,14,14,14,6,6,6,6,6,6,6,6
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement