home *** CD-ROM | disk | FTP | other *** search
/ C64'er / C64'er.iso / sh6x / sh69b.d64 / draw.bas (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  2KB  |  73 lines

  1. 4 REM ----------------------------
  2. 5 REM ORIGINALWERTE FUER TEXTMODUS
  3. 6 REM IN ADRESSEN 251/252 RETTEN
  4. 7 REM ----------------------------
  5. 10 POKE251,PEEK(53272)
  6. 20 POKE252,PEEK(53265)
  7. 30 BA=8192:SYS58692
  8. 40 GOSUB 1000
  9. 45 IFPEEK(254)=33THEN165
  10. 119 REM -------------------------
  11. 120 REM HIRES-BILDSCHIRM LOESCHEN
  12. 121 REM -------------------------
  13. 130 FOR I=BA TO BA+7999
  14. 140 POKE I,0
  15. 150 NEXT:POKE254,33
  16. 160 SYS58692
  17. 165 GOSUB 2000: REM TEXTMODUS EIN
  18. 170 INPUT"X-KOORDINATE START(0-319)";X1
  19. 172 INPUT"Y-KOORDINATE START(0-199)";Y1
  20. 180 INPUT"X-KOORDINATE ENDE (0-319)";X2
  21. 182 INPUT"Y-KOORDINATE ENDE (0-199)";Y2
  22. 190 GOSUB 1000: REM HIRES-GRAFIK EIN
  23. 200 GOSUB 3000: REM FARBRAM WEISS
  24. 205 GOSUB355
  25. 280 POKE198,0:WAIT198,1
  26. 281 GOTO160
  27. 355 DX=X2-X1:DY=Y2-Y1
  28. 357 IFABS(DY)<ABS(DX)THEN364
  29. 358 FORYL=Y1 TO Y2 STEP SGN(DY)
  30. 359 X=DX/DY*YL+X1
  31. 360 Y=YL
  32. 361 GOSUB400
  33. 362 NEXT YL
  34. 363 RETURN
  35. 364 FOR XL=X1 TO X2 STEP SGN(DX)
  36. 365 X=XL
  37. 366 Y=DY/DX*XL+Y1
  38. 367 GOSUB 400
  39. 368 NEXT XL
  40. 369 RETURN
  41. 400 YP=INT(Y/8)
  42. 410 XP=INT(X/8)
  43. 420 A1=(YP*40+XP)*8
  44. 430 AY=Y-8*YP+A1
  45. 450 R=X-8*XP
  46. 460 M=2^(7-R)
  47. 470 I=PEEK(AY+BA)
  48. 480 POKE AY+BA,I OR M
  49. 490 RETURN
  50. 994 REM ------------------------
  51. 995 REM UNTERPROGRAMM
  52. 996 REM HIRES-GRAFIK EINSCHALTEN
  53. 997 REM ------------------------
  54. 1000 POKE53272,PEEK(53272)OR8
  55. 1010 POKE53265,PEEK(53265)OR32
  56. 1020 RETURN
  57. 1994 REM ------------------------
  58. 1995 REM UNTERPROGRAMM
  59. 1996 REM HIRES-GRAFIK ABSCHALTEN
  60. 1997 REM TEXTMODUS WIEDER AKTIVIEREN
  61. 1998 REM ------------------------
  62. 2000 POKE53272,PEEK(251)
  63. 2010 POKE53265,PEEK(252)
  64. 2020 RETURN
  65. 2995 REM ------------------------
  66. 2996 REM UNTERPROGRAMM
  67. 2997 REM HINTERGRUND WEISS UND
  68. 2998 REM PIXELFARBE SCHWARZ
  69. 2999 REM ------------------------
  70. 3000 FOR I=1024 TO 2023
  71. 3010 POKE I,1: REM 16*CODE ZEICHENFARBE + CODE HINTERGRUNDFARBE = 0*16+1
  72. 3020 NEXT: RETURN
  73.