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]]