Jump to content
IGNORED

I'm getting a Commodore 64 Monday!


DNA64

Recommended Posts

I'm so excited!

My last system died on me a while back, and a friend is selling me one he's refurbished complete with Disk Drive plus a few extras for $80 (I already have a monitor).

He does amazing work refurbing them. I can't wait to start programing on it :)

 

Now to dig through my stuff and find all my old C64 software and find some new blank disks.

 

Also if anyone is selling a Super CPU let me know please.

  • Like 1
Link to comment
Share on other sites

You probably already know about it, but if you get serious, look into the 1541-Ultimate-II. I like getting out a real disk once in awhile, but for the most part, I can't even imagine using a real C64 anymore without an Ultimate-II. And I 2nd the vote on JiffyDOS (either way).

 

Have fun! The C64 is an amazing computer/gaming machine.

  • Like 2
Link to comment
Share on other sites

Well I have my Commodore64 and I imediatly went to program on it, but I run into two issues....

 

1. The C= button when combined with numbers should output a colour. (Example: C= + 7)

but it fails to do anything..

 

2. The following code produces an error (?ILLEGAL QUANTITY ERROR IN 30).

Refering of course to Line 30, but this is taken straight from the COMMODORE 64 PROGRAMMER'S REFERENCE GUIDE.

 30 fors3=12416to12478:readq3:pokes3,q3:next"

 


5 s=54272:pokes+24,15:pokes,220:pokes+1,68:pokes+5,15:pokes+6,215
10 pokes+7,120:pokes+8,100:pokes+12,15:pokes+13,215
15 print"{clear}":v=53248:pokev+21,1
20 fors1=12288to12350:readq1:pokes1,q1:next
25 fors2=12352to12414:readq2:pokes2,q2:next
30 fors3=12416to12478:readq3:pokes3,q3:next
35 pokev+39,15:pokev+1,68
40 printtab(160)"{white}i am the dancing mouse!{light blue}"
45 p=192
50 forx=0to347step3
55 rx=int(x/256):lx=x-rx*256
60 pokev,lx:pokev+16,rx
70 ifp=192thengosub200
75 ifp=193thengosub300
80 poke2040,p:fort=1to60:next
85 p=p+1:ifp>194thenp=192
90 next
95 end
100 data30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127,255,254
101 data63,255,252,31,187,248,3,187,192,1,255,128,3,189,192,1,231,128,1,
102 data255,0,31,255,0,0,124,0,0,254,0,1,199,32,3,131,224,7,1,192,1,192,0
103 data3,192,0,30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127
104 data255,254,63,255,252,31,221,248,3,221,192,1,255,128,3,255,192,1,195
105 data128,1,231,3,31,255,255,0,124,0,0,254,0,1,199,0,7,1,128,7,0,204,1
106 data128,124,7,128,56,30,0,120,63,0,252,127,129,254,127,129,254,127,189
107 data254,127,255,254,63,255,252,31,221,248,3,221,192,1,255,134,3,189
108 data204,1,199,152,1,255,48,1,255,224,1,252,0,3,254,0
109 data7,14,0,204,14,0,248,56,0,112,112,0,0,60,0,-1
200 pokes+4,129:pokes+4,128:return
300 pokes+11,129:pokes+11,128:return

Edited by DNA64
Link to comment
Share on other sites

In line 107, is there supposed to be a comma in the 25463? Or in line 106 in the 5630 for that matter? Those don't appear right to me, and would cause that error. (and even if the book reads like this, try splitting them just to see what happens).

Edited by Mirage
Link to comment
Share on other sites

As for your question #1, are you typing anything after hitting the C=+# combination? Just hitting those won't change anything on their own. If you hit that combo, then type and it's still the same color, then I guess I'd next suspect a faulty C= key.

Link to comment
Share on other sites

In line 107, is there supposed to be a comma in the 25463? Or in line 106 in the 5630 for that matter? Those don't appear right to me, and would cause that error. (and even if the book reads like this, try splitting them just to see what happens).

 

Hi thanks for the help and good eye, but only line 30 is the issue, the rest is irellivant because, 1 - It's not my code (Copy paste from net), 2 - I've already corrected any errors on all lines, 3 - Line 30 is the one producing the error.

 

 

As for your question #1, are you typing anything after hitting the C=+# combination? Just hitting those won't change anything on their own. If you hit that combo, then type and it's still the same color, then I guess I'd next suspect a faulty C= key.

 

I also suspect a faulty C= key. And not really (see line 40).

Edited by DNA64
Link to comment
Share on other sites

Hi thanks for the help and good eye, but only line 30 is the issue, the rest is irellivant because, 1 - It's not my code (Copy paste from net), 2 - I've already corrected any errors on all lines, 3 - Line 30 is the one producing the error.

 

 

I also suspect a faulty C= key. And not really (see line 40).

 

Your reasoning is faulty. Line 30 is reading the data statements and is producing an Illegal Quantity error, which could very well be due to a quantity being read into it. All of those values being read should be between 0 and 255 inclusive. Humor me. Try doing what I said to fix that problem, then see what you get. If nothing else, it's good troubleshooting, but I suspect you will find that it's the problem.

 

As far as "it's not my code", that doesn't matter either. There's plenty of code out there, especially what's printed in old magazines and books that needs to be corrected as there are typos and printing errors. Same with code pasted on the 'net.

 

Again, I'm not 100% positive that this is the only error, but at a glance, that appears to be one issue. Try it out, report back what happens.

Link to comment
Share on other sites

The Commodore key has other jobs; if it doesn't work when pressing shift at the same time (the on-screen text should shunt between upper and lower case characters) or change the letter keys out for graphics characters when held down, the chances are you've got a faulty key.

 

i'm assuming the {white} and {light blue} are in the online listing, but these aren't meant to be typed verbatim; they should be replaced by the embedded colour code, so control and 1 for white, Commodore and 7 for light blue or shift and clr/home for clear.

Link to comment
Share on other sites

Hi thanks for the help and good eye, but only line 30 is the issue, the rest is irellivant because, 1 - It's not my code (Copy paste from net), 2 - I've already corrected any errors on all lines, 3 - Line 30 is the one producing the error.

 

 

 

 

I also suspect a faulty C= key. And not really (see line 40).

DNA,

there's probably nothing wrong with the key, the polymer contact layer under the keyboard gets dirty after 30 years, here's how to clean it if you must have that key working:

 

http://www.bjtechserv.com/Magazine/C64/C64_Keyboard_Clean.htm

Link to comment
Share on other sites

Your reasoning is faulty. Line 30 is reading the data statements and is producing an Illegal Quantity error, which could very well be due to a quantity being read into it. All of those values being read should be between 0 and 255 inclusive. Humor me. Try doing what I said to fix that problem, then see what you get. If nothing else, it's good troubleshooting, but I suspect you will find that it's the problem.

 

As far as "it's not my code", that doesn't matter either. There's plenty of code out there, especially what's printed in old magazines and books that needs to be corrected as there are typos and printing errors. Same with code pasted on the 'net.

 

Again, I'm not 100% positive that this is the only error, but at a glance, that appears to be one issue. Try it out, report back what happens.

 

The code I posted is not what I'm having an issue with. It's NOT the code I used (RUN).

I was simply to lazy to retype it all here, but here it is re-typed for your "Amusement".

 

5 s=54272:pokes+24,15:pokes,220:pokes+1,68:pokes+5,15:pokes+6,215
10 pokes+7,120:pokes+8,100:pokes+12,15:pokes+13,215
15 print"{clear}":v=53248:pokev+21,1
20 fors1=12288to12350:readq1:pokes1,q1:next
25 fors2=12352to12414:readq2:pokes2,q2:next
30 fors3=12416to12478:readq3:pokes3,q3:next
35 pokev+39,15:pokev+1,68
40 printtab(160)"{white}i am the dancing mouse!{light blue}"
45 p=192
50 forx=0to347step3
55 rx=int(x/256):lx=x-rx*256
60 pokev,lx:pokev+16,rx
70 ifp=192thengosub200
75 ifp=193thengosub300
80 poke2040,p:fort=1to60:next
85 p=p+1:ifp>194thenp=192
90 next
95 end
100 data30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127,255,254
101 data63,255,252,31,187,248,3,187,192,1,255,128,3,189,192,1,231,128,1,
102 data255,0,31,255,0,0,124,0,0,254,0,1,199,32,3,131,224,7,1,192,1,192,0
103 data3,192,0,30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127
104 data255,254,63,255,252,31,221,248,3,221,192,1,255,128,3,255,192,1,195
105 data128,1,231,3,31,255,255,0,124,0,0,254,0,1,199,0,7,1,128,7,0,204,1
106 data128,124,7,128,5630,0,120,63,0,252,127,129,254,127,129,254,127,189
107 data254,127,255,25463,255,252,31,221,248,3,221,192,1,255,134,3,189
108 data204,1,199,152,1,255,48,1,255,224,1,252,0,3,254,0
109 data7,14,0,204,14,0,248,56,0,112,112,0,0,60,0,-1
200 pokes+4,129:pokes+4,128:return
300 pokes+11,129:pokes+11,128:return

 

This code can be found on PAGE #167 in the "Commodore 64 Programers Reference Guide" (<- Page 69 at the previous link).

 

The Commodore key has other jobs; if it doesn't work when pressing shift at the same time (the on-screen text should shunt between upper and lower case characters) or change the letter keys out for graphics characters when held down, the chances are you've got a faulty key.

 

i'm assuming the {white} and {light blue} are in the online listing, but these aren't meant to be typed verbatim; they should be replaced by the embedded colour code, so control and 1 for white, Commodore and 7 for light blue or shift and clr/home for clear.

 

It toggles between upper and lowercase fine, but doesn't change the letter keys out for graphics characters when held down. And yes, the text in {brackets} is not meant to be typed. After all C64 doesn't have a "{" or "}" key ;)

 

DNA,

there's probably nothing wrong with the key, the polymer contact layer under the keyboard gets dirty after 30 years, here's how to clean it if you must have that key working:

 

http://www.bjtechser...board_Clean.htm

 

Thanks, not sure if I mentioned this, but it's already been professionally refurbished so I'm sure that was done, but I'll check anyways. There may be an issue with my current screen not displaying the colours.

Edited by DNA64
Link to comment
Share on other sites

OK, I just made the changes I already suggested to you, and the program works fine. The data statement values were the issue. I get a little mouse dancing across the screen.

 

In line 106, change the 5630 to 56, 30

In line 107, change the 25463 to 254, 63

 

My real recommendation to you is that when you ask for advice, and someone who has been programming and debugging the C64 since the day it came out (actually, longer than that since I was programming the PET and Vic-20 before that with essentially the same BASIC) offers you advice... you listen. Don't say "it's irrelevant", "it's not my code", "I just copied and pasted" etc. I gave you the answer and you refused to evem try it. In a couple minutes, I fixed your problem for you by copy/pasting into an emulator, making the changes I suggested, and watching the little mouse dance across the screen.

 

When you ask a question and get an answer, at least take that same 2 minutes to give it a shot yourself. You've got to put something in to get something out.

 

But all that aside, Welcome to Commodore!

Edited by Mirage
Link to comment
Share on other sites

The code I posted is not what I'm having an issue with. It's NOT the code I used (RUN).

I was simply to lazy to retype it all here, but here it is re-typed for your "Amusement".

 

As Mirage said, the error at line 30 is because the data statements from 100 onwards have errors; most of these have been introduced by you during typing (the 5630 and 25430 are both twy bytes of data merged together from the end of one line and the start of the next where you've reorganised the data and there's a rogue comma at the end of your line 101 which is stuffing things up as well). Here's the data formatted as it appears in the C64 PRG:

 

100 data30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127,255,254
101 data63,255,252,31,187,248,3,187,192,1,255,128,3,189,192,1,231,128,1,255,0
102 data31,255,0,0,124,0,0,254,0,1,199,32,3,131,224,7,1,192,1,192,0,3,192,0
103 data30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127,255,254
104 data63,255,252,31,221,248,3,221,192,1,255,128,3,255,192,1,195,128,1,231,3
105 data31,255,255,0,124,0,0,254,0,1,199,0,7,1,128,7,0,204,1,128,124,7,128,56
106 data30,0,120,63,0,252,127,129,254,127,129,254,127,189,254,127,255,254
107 data63,255,252,31,221,248,3,221,192,1,255,134,3,189,204,1,199,152,1,255,48
108 data1,255,224,1,252,0,3,254,0
109 data7,14,0,204,14,0,248,56,0,112,112,0,0,60,0,-1

 

Edit: Mirage beat me to most of it... and i did the same thing of pasting the listing as appears here into VICE for testing.

Edited by TMR
Link to comment
Share on other sites

Yes, good call on the comma, I forgot that I fixed that immediately as soon as I copied and pasted it into the emulator.

 

The lines 20, 25 and 30 read the data in lines 100 through 109 and are therefore dependent on their accuracy. DATA will never give an error in the line containing the data numbers themselves, because you can put anything in there. The problem is when you READ that data, because if the data contains values that are incorrect for what they're being read into, they'll cause an error.

 

Again, I'm not trying to be a jerk, but to the OP, note that I debugged your program literally 2 minutes after you posted it. Yet here you are, literally a week later still denying that was the problem. :)

Edited by Mirage
Link to comment
Share on other sites

F*** ME! That bit me in the ass...

 

I thought I copied and pasted from a reliable source but no..

The link is the same, so is the actual book so check that. Because again, it's not my code and I don't have those errors in my lines.

 

I'm just not going to type it out here and my 5.25" drive isn't working so I can't upload the dam .prg

 

I will type LINE 107

107 DATA63,255,252,31,221,248,3,221,192,1,255,134,3,189,204,1,199,152,1,255,48

 

NOW PLEASE DON'T WORRY ABOUT THIS!

It's stupid. It's not a real issue. Forget I even mentioned it please. It's just a stupid dancing mouse from the book I thought I'd type out for shits and giggles.

I found the problem, it has nothing to do with anything mentioned. My C64 wasn't properly saving the updates I made to the prg file so I had a partial saved file.

Link to comment
Share on other sites

It's ok, it's all newbie mistakes. After you get used to working with it, you'll know immediately what's wrong in any given situation. You'll be able to "feel" the machine and the code, and it will all be second nature after while.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...