Commodore64

=====draw blocks with light-pen in low-res mode===== 10 POKE 53280,0: POKE 53281,1 20 PRINT "{Shift+CLR}" 30 PRINT " DOODLE3D"

50 GOSUB 200 60 GOSUB 100 70 GOTO 10

100 POKE 780,0 110 POKE 781,Y 120 POKE 782,X 130 SYS 65520 140 PRINT “X” 150 RETURN

200 X=(PEEK(53267)-27)/4 210 Y=(PEEK(53268)-51)/8 220 IF X<1 THEN X=1 230 IF X>39 THEN X=39 240 IF Y<1 THEN Y=1 250 IF(Y>25 THEN Y=25 260 RETURN


=====modulo=====
use backslash

=====toggle upper/lower case=====
Shift+CommodoreKey

=====clear screen=====
  print chr$(47)
or
  print "(Shift+CLR)"

=====print at location ROW,COL=====
prints "X" at row=5, col=10

5 print chr$(147) 10 poke 780,0 20 poke 781,5 30 poke 782,10 40 sys 65520


=====read X,Y coord of light-pen=====
use a bright background with dark border
  10 POKE 53280,0: POKE 53281,1
read values from 53267 and 53268 for X and Y ([[http://www.c64-wiki.com/index.php/Light_pen#Programmer.27s_How-To-section|read more]])
  20 PRINT PEEK(53267)" "PEEK(53268)
  30 GOTO 20

=====serial communication in both directions at 1200 baud=====
(send CAPITALS from the PC because the character-set of the c64 is different)

10 OPEN 5,2,2,CHR$(8) 20 GET#5,A$: IF A$<>”” THEN PRINT A$; 30 GET B$: IF B$<>”” THEN PRINT#5,B$; 40 GOTO 20 ``` CHR$(6) = 400 baud (= bin 00000110) CHR$(8) = 1200 baud (= bin 00001000)

=====tips van johan vandenbran.de=====

  • https://github.com/cc65/cc65 *http://lallafa.de/blog/c64-projects/macvice/ *https://www.google.nl/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#sourceid=chrome-psyapi2&ie=UTF-8&q=vice%20osx *http://vice-emu.sourceforge.net/vice_14.html *http://www.ajordison.co.uk/ *http://vandenbran.de/ *coolterm *http://jderogee.tripod.com/

=====background color===== POKE 53281,15

=====invert colors===== POKE 53280,0: POKE 53281,1

=====tips=====

  • http://www.infinite-loop.at/Power64/Documentation/Power64-ReadMe/AA-C64_BASIC.html

=====arduino to user port=====

  • [[https://www.youtube.com/watch?v=DLYXUgH9rAI NL filmpje]]
  • [[http://www.hardwarebook.info/C64_RS232_User_Port user port schema]]
  • [[http://www.c64-wiki.com/index.php/User_Port user port schema 2]]

=====read joystick===== PEEK(56320)

=====save file to disk===== SAVE “FILENAME”,8 or DSAVE “FILENAME” overwrite: DSAVE “@:FILENAME” video: https://www.youtube.com/watch?v=F1rjCxT2w4c

=====delete a file from disk===== OPEN 15,8,15 PRINT#15 “S0:FILENAME” CLOSE 15

=====reference guide===== [[http://www.commodorefree.com/magazine/information/Commodore%2064%20Reference%20Guide.pdf|reference guide]]

=====list files===== LOAD “$”,8 LIST of F7 (met de Final Cartridge III)

=====final cardridge iii===== http://en.wikipedia.org/wiki/The_Final_Cartridge_III tip: druk RUN/STOP in tijdens het indrukken van de Reset knop, dan kom je in basic en kun je de functietoetsen gebruiken waarmee je met F5 een disk runt en met F7 een dir listing opvraagt.

=====run first program on disk===== load”*“,8,1 indien nodig gevolgd door: run of DLOAD

=====format disk===== OPEN1,8,15,”N:NEW DISK,00”:CLOSE1

=====dirmaster3===== *[[http://style64.org/dirmaster|dirmaster3]]