5ss=49152:sl=ss+41:sc=ss+2048:es=ss+1016:sb=36:ls=1024: rem start reg
10fori=0to191:reada:pokesc+i,a:nexti: rem load chars
20fori=sc+256tosc+264:pokei,0:nexti: rem clear 32 char
30poke 53281,14:poke53280,13:rem screen color
40poke 53270,peek(53270)or16:rem char multicolor
50poke 53282,6:poke 53283,5:rem char colors
60poke 56578,peek(56578)or3:poke56576,(peek(56576)and 252)or0:rem move vic
70poke 648,192:rem move screen
80poke 53272,2:rem set screen/charset
90poke 646,10:rem cursor color
95print chr$(147):rem clear screen
98fori=lsto2047:pokei,0:nexti:rem clear former screen
99rem load first level
100fori=0to271:reada:pokels+i,a:nexti
110rem load sprites/player vars
120fori=0to319:reada:poke51465+i,a:nexti
130ax=13:ay=1:nx=13:ny=1:px=24+(ax+1)*8:py=48+(ay+1)*8:ps=0:rem x,y, anim state
140poke53287,0:rem pl color
150poke53269,1:rem enable pl
160poke53248,px:poke53249,py:rem coords
161gosub500:rem draw 9 blocks
162rem animation and movement
165pokees,sb-ps:rem player sprite pointer
170k=peek(197):ifk=64then170:rem keys
180ifk<>13then200:rem down
190ny=ay+1:nx=ax:goto280
200ifk<>9then220: rem up
210ny=ay-1:nx=ax:goto280
220ifk<>18then240: rem right
230nx=ax+1:ny=ay:goto280
240ifk<>10then170: rem left
250nx=ax-1:ny=ay:goto280
280b=peek(ls+ny*16+nx)and8
290ifb=8then400: rem if block is solid goto trigger block
300ax=nx:ay=ny:px=24+(ax+1)*8:py=48+(ay+1)*8:ps=not(ps):rem change position
320goto160
390rem use block
400b=(peek((ls+ny*16+nx))and240)/16
410ifb=0then170
420p=ls+255+(b*2)-1:pp=peek(p):tr=peek(p+1)and7
425pz=sl+(40*(int(pp/16))+(pp-(int(pp/16)*16)))
430iftr=1thenpokels+peek(p),0:pokepz,32: rem remove block
435iftr=5then600: rem end game
440goto170
500fori=-1to1:forj=-1to1:rem drawing cycle
510b=peek(ls+(ny+i)*16+(nx+j))and7
515ifb=0then540
520p=sl+(ny+i)*40+(nx+j)
530ifp<>32thenpokep,b
540nextj:nexti
550return
600 poke56576,(peek(56576)and 252)or3:poke53272,20: rem end game
610 poke53270,peek(53270)and239
620 poke 648,4
630 poke53269,0
640 print chr$(147)
650 poke 646,0
660 print "end of game"
670 goto 660
990rem char data
1000data0,0,0,0,0,0,0,0,247,154,223,166,247,154,223,166,221,155,118,101,119,230
1010data157,89,60,215,215,215,219,215,215,215,60,215,215,60,48,60,48,60,40,190
1020data190,40,32,40,32,40,0,20,16,16,40,60,0,0,0,60,235,215,255,215,235,255,12
1030data60,60,12,12,12,12,63,15,51,51,3,12,12,48,63,60,3,3,60,60,3,3,60,51,51,51
1040data63,3,3,3,3,63,48,48,12,3,3,3,60,12,51,48,60,51,51,51,12,63,3,3,3,12,12
1050data12,12,12,51,51,12,51,51,51,12,12,51,51,51,15,3,51,12,12,51,51,51,51,51
1060data51,12,51,51,51,63,63,51,51,51,63,51,51,51,63,48,48,48,51,51,51,12,12,51
1070data51,51,51,51,51,51,63,3,3,63,0,12,12,0,0,12,12,0,63,48,48,60,60,48,48,63
1990 rem level 1 data
2000data10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,27,0,0,0,0,0,0,0,0,0,0,10,0
2010data0,0,9,10,10,10,10,10,10,10,10,10,10,43,10,9,9,59,9,9,0,0,0,0,0,0,0,0,0,0
2020data0,0,9,0,9,9,11,9,9,9,9,9,9,9,9,9,9,0,9,0,9,9,0,0,0,0,77,9,0,0,0,0,9,0,9
2030data0,9,9,9,9,9,9,9,9,94,0,0,0,107,0,9,0,9,10,0,0,0,0,0,9,0,0,0,0,9,0,9,0,9
2040data10,0,10,10,0,0,9,9,9,9,9,9,0,9,0,9,10,0,0,10,0,0,9,0,0,0,0,0,0,9,0,9
2050data10,0,10,10,0,0,9,0,9,9,9,9,9,9,0,9,10,0,10,0,0,0,9,123,9,0,0,0,0,0,0,9
2120data10,0,10,0,0,0,0,0,0,0,0,0,0,9,9,9,10,0,10,10,10,10,10,10,10,10,10,10,10
2130data10,140,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10
2140data10,10,10,10,10,10,10
2150data16,5,42,17,46,1,85,3,65,1,107,1,183,9,222,2
3000 rem player sprites
3010data120,0,0,117,0,0,125,0,0,57,0,0,127,0,0,125,0,0,56,0,0,40,0,0,0,0,0,0,0,0
3020data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3240data0,0,0,120,0,0,117,0,0,125,0,0,57,0,0,127,0,0,125,0,0,40,0,0,0,0,0,0
3250data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3460rem enemy sprites
3470data4,20,16,5,125,80,31,235,244,127,105,253,127,150,253,127,150,253,127,170
3480data253,95,235,245,21,255,84,30,190,180,30,126,116,31,255,244,23,255,212
3490data31,255,244,23,255,212,31,235,244,7,170,208,1,190,64,0,125,0,0,20,0
3500data0,0,0,0
3700data4,0,16,4,65,16,20,85,20,20,105,20,101,235,89,102,105,153,101,105,89,101
3710data190,105,105,170,105,105,170,105,105,170,105,105,170,105,105,170,105,105
3720data170,105,105,105,105,105,150,105,29,170,116,6,170,144,1,150,64,0,65,0
3730data0,65,0,0
3930data0,0,0,4,65,16,4,65,16,5,85,80,71,255,209,69,85,81,90,170,165,90,170,165
3940data106,235,169,106,105,169,90,170,165,106,170,169,90,90,165,106,166,169,106
3950data169,169,26,170,164,5,85,80,4,16,64,5,20,80,0,0,0,0,0,0,0
Комментарий недоступен
Круто! а где купил, если не секрет?
На Авито
Очень повезло с продавцом - им оказался дедушка, который еще в 80-х привез его из Европы и практически не пользовался. Поэтому компьютер в был идеальном состоянии.
Одна проблема возникла. Когда пытались спать нужный видеокабель и подключить к монитору, то убили начинку, поэтому пришлось покупать донора и менять внутренности. Внутренности оказались более свежей ревизии, так что разницы я не заметил. Обидно конечно вышло.
Кабель в итоге спаяли и все подключили, но осадочек остался)
https://dtf.ru/u/34713-aleksandr-logachev/1626861-commodore-64-epopeya-s-podklyucheniem
Вот здесь подробнее писал)
А где-то есть не двоичная система счисления?)
Да везде, конечно)
Я к тому, что раньше мне не приходилось с этим сталкиваться настолько тесно, потому что самоучка + не писал ни на чем сложнее питона/гдскрипта/vba. А коммодор меня окунул во все это по полной)