Thursday, May 8, 2025

Just showing the progress on the slot machine game.

I'm continuing to try to make all the versions of my slot machine game better and as much alike between the computers.  I have a "working" version for Atari 8-bit, but still defining the graphics.

Here is what the C64 Version currently looks like:



Here is what the TI-99/4A version looks like:






Tuesday, May 6, 2025

comparison of 80s computers with BASIC



I have completed the simple version of the slot machine for the C64. But while programming this, I have learned that although it was the #1 selling computer of all time, it really was not as good as the computers that came out at the time. I have started documenting these short comings of the C64 BASIC.

First lets talk about variables. C64 could only have 2 character variables. I was stumped by this. This is a horrible flaw.

Here is a very simple demo with Atari XE computer and the TI-99/4A





Very simple and what one would expect. Here is the same code on the C64.

See what is going on here? All three variables are the same on the C64


So, if I make three variables; SB1, SB2, and SB3... to the C64, they are all the same variable - SB.
I can't believe this was OK for back in 1984. But in all fairness, Apple II computers had the same issue.
That said, I always hated programming on the Apple II back in the day and I don't remember this issue either.

The next issue was the limitation of the CHR$(X) that could be used on a single print line. this could be quite helpful with old BASIC. More than 5 on the C64, and the line would not PRINT. Luckily there is a work around for this. End that line with a ";" and then continue with another PRINT statement .


Above is a screen shot of Atari 8-bit computer showing that it can string along beyond what the C64 can.

My third beef with the C64 BASIC is that you can not add remarks on a DATA statement.  I'm pretty sure any other command that I found you can, but not on the DATA.  This is the one statement that could really use such a feature.

120 DATA 00,255,255,14,14,28,56,56

work around is just adding a REM on the line above.  But the whole idea of adding one cat'ed on the end is to make useful notes for each line that might need a comment. 

In all fairness the TI-99/4A will not allow REM at the end of the line

Friday, May 2, 2025

Started on C64 slots

I know between Sept 2024 and Oct 2024 I would start programming a slot machine game for the C64.

Well, I have officially started. Just wanted to share the start of the design and code.

 .
 Number 7 -  

1234|1234|1234|1234
    |    |    |      1  00 00
 xxx|xxxx|xxxx|xxxx  2  7F FF
 xxx|xxxx|xxxx|xxxx  3  7F FF
 xxx|    |    |xxx   4  70 0E
 xxx|    |    |xxx   5  70 0E
    |    |   x|xx    6  00 1C
    |    |  xx|x     7  00 38
    |    |  xx|x     8  00 38
______________________
    |    | xxx|      1  00 70
    |    | xxx|      2  00 70
    |    |xxx |      3  00 E0
    |   x|xx  |      4  01 C0
    |   x|xx  |      5  01 C0
    |  xx|xx  |      6  03 C0
    | xxx|xx  |      7  07 C0
    |    |    |      8  00 00

===============================================

Heart 

1234|1234|1234|1234
    |    |    |      1  00 00
    |    |    |      2  00 00
   x|xx  |  xx|x     3  1C 38
  xx|xxx | xxx|xx    4  3E 7C
 xxx|xxxx|xxxx|xxx   5  7F FE 
 xxx|xxxx|xxxx|xxx   6  7F FE 
 xxx|xxxx|xxxx|xxx   7  7F FE 
 xxx|xxxx|xxxx|xxx   8  7F FE 
____________________
  xx|xxxx|xxxx|xx    1  3F FC
   x|xxxx|xxxx|x     2  1F F8 
    |xxxx|xxxx|      3  0F F0
    | xxx|xxx |      4  07 E0
    |  xx|xx  |      5
    |   x|x   |      6
    |    |    |      7  00 00
    |    |    |      8  00 00



ROM 58(:), 59(;), 60(<), 61(=)   = number7 four colors - green, blue, black, red
ROM 26(z), 27([), 28(^), 29(])   = heart   red or black
ROM 35(#), 37(%), 38(&), 39(')   = lemon   yellow
ROM 40((), 41()), 42(*), 43(+)   - diamond red or black

71 rem number7

74 data 00,127,127,112,112,00,00,00
75 rem "00  7F  7F  70  70" - rom 58

79 data 00,255,255,14,14,28,56,56
80 rem "00  FF  FF 0E 0E 1C 38 38" - rom 59

84 data 00,00,00,01,01,03,07,00
85 rem "00 00 00 01 01 03 07" - rom 60

89 data 112,112,224,192,192,192,192,00
90 rem " 70  70  E0  C0  C0  C0  C0" - rom 61

91 rem heart
94 data  00,00,
95 rem  "00 00 1C 3E 7F 7F 7F 7F"

99  data 00,00,
100 rem "00 00 38 7C FE FE FE FE"

109 data
110 rem "3F 1F 0F 07 03 01"

119 data
120 rem "FC F8 F0 E0 C0 80"

207 rem Lemon
209 data 00,00,00,03,15,31,63,255
210 rem "00 00 00 03 0F 1F 3F FF"

219 data 00,00,00,192,
220 rem "00 00 00  C0 F0 F8 FC FF"

229 data 255
230 rem " FF 3F 1F 0F 03"

239 data 255
240 rem " FF FC F8 F0 C0"

380u rem Diamond
392 rem "00 01 03 07 0F 1F 3F 7F"
393 rem "00 80 C0 E0 50 A8 FC FE"
394 rem "7F 3F 1F 0F 07 03 01"
395 rem "FE FC F8 F0 E0 C0 80"
 
 .



Dice Roller for TI-95

 I have published my first version of the TI-95 dice roller: http://mrgibson.com/dd/dragon-n-dice-ti-95-v1-0.txt A couple of screenshots: