├── LICENSE ├── README.md ├── dramatic_pixels ├── README.md └── dpix-1k.asm ├── false_dimension ├── Makefile ├── README.md ├── false_dimension.asm └── false_dimension.png ├── helium ├── README.md ├── helium.asm ├── helium.com ├── int8.asm ├── phngball.asm ├── player.asm ├── polygon.asm ├── rotate.asm ├── tables.asm ├── tunneli.asm └── video64k.asm ├── illuminatus ├── Makefile ├── README.md ├── assets │ ├── asema.gif │ ├── cockpit.png │ ├── icons-station.png │ ├── icons.png │ └── loading.png ├── illu.c ├── telaketju.h └── telaketju.pl ├── impossiblator_3 ├── Makefile ├── README.md ├── allparts │ ├── Makefile │ ├── allparts.asm │ ├── font.inc │ ├── kefrens.asm │ ├── roadrace.asm │ └── stretch.asm ├── ff │ ├── ff.c │ └── vic20-char.bin ├── glob.inc ├── glob_start.inc ├── loader │ ├── Makefile │ ├── boot.a65 │ ├── boot_dev.a65 │ ├── boot_real.a65 │ ├── drive.a65 │ ├── listlogo.inc │ ├── loader.a65 │ ├── loader.prg │ ├── loader_dev.a65 │ └── loader_real.a65 └── utils │ ├── Makefile │ ├── blkasm.pl │ ├── prg2vizldr.c │ ├── rlecomp.c │ └── vic20-40960.c2n ├── next_level ├── Makefile ├── README.md ├── bob20.py ├── bs32.c ├── bs32conv.c ├── demosrc │ ├── essentials.asm │ ├── framer.asm │ ├── full │ │ └── fullrun.asm │ ├── ibpcaablocks.asm │ ├── irq.asm │ ├── player.asm │ ├── s_beyondimagination.asm │ ├── s_cararrives.asm │ ├── s_comewithus.asm │ ├── s_end.asm │ ├── s_endlesswonders.asm │ ├── s_endtexts.asm │ ├── s_enterthenextlevel.asm │ ├── s_gone.asm │ ├── s_ifwewant.asm │ ├── s_imustcontinue.asm │ ├── s_itsnouse.asm │ ├── s_itwasnicetoknowyou.asm │ ├── s_itwilllead.asm │ ├── s_nooneelse.asm │ ├── s_openhousedoor.asm │ ├── s_portal.asm │ ├── s_solo.asm │ ├── s_start.asm │ ├── s_themostmarvelous.asm │ ├── s_thisisyourdestiny.asm │ ├── s_wenowsaygoodbye.asm │ ├── s_wewanttotell.asm │ ├── s_wheel.asm │ ├── single │ │ └── singlerun.asm │ ├── smac.inc │ └── voice.asm └── loader │ ├── Makefile │ ├── boot.a65 │ ├── boot_dev.a65 │ ├── boot_real.a65 │ ├── drive.a65 │ ├── glob.inc │ ├── listlogo.inc │ ├── loader.a65 │ ├── loader_dev.a65 │ ├── loader_real.a65 │ ├── rl-loader.a65 │ └── start_glob.inc ├── quantum_dash ├── Makefile ├── README.md ├── bitmaps.pl ├── font.pl ├── game.c ├── game.h └── gfx.c ├── robotic_liberation ├── Makefile ├── README.md ├── allparts │ ├── Makefile │ ├── animchars.inc │ ├── animviewer.asm │ ├── army.chr.inc │ ├── army.col.inc │ ├── army.ras.inc │ ├── army.scr.inc │ ├── bytecow.col.inc │ ├── bytecow.scr.inc │ ├── bytepow.chr.inc │ ├── bytepow.col.inc │ ├── bytepow.scr.inc │ ├── chars.inc │ ├── charview.asm │ ├── city.chr.inc │ ├── city.col.inc │ ├── city.ras.inc │ ├── city.scr.inc │ ├── cube.asm │ ├── endbot.chr.inc │ ├── endbot.col.inc │ ├── endbot.scr.inc │ ├── font.inc │ ├── king.chr.inc │ ├── king.col.inc │ ├── king.ras.inc │ ├── king.scr.inc │ ├── kitt.chr.inc │ ├── kitt.col.inc │ ├── kitt.scr.inc │ ├── logo.chr.inc │ ├── logo.col.inc │ ├── logo.inc │ ├── logo.ras.inc │ ├── logo.scr.inc │ ├── logocity.chr.inc │ ├── lyrics2.inc │ ├── main_glob.inc │ ├── musicpat1.inc │ ├── musicpat2.inc │ ├── part0.asm │ ├── part2.asm │ ├── part4.asm~ │ ├── player.asm │ ├── popstar.chr.inc │ ├── popstar.col.inc │ ├── popstar.scr.inc │ ├── segmenter.asm │ ├── texts2.inc │ ├── texts_glob.inc │ ├── voice.asm │ └── zoomer.asm ├── brickshop.a65 ├── gfx │ ├── army2.bs │ ├── army3.bs │ ├── bsconv.c │ ├── bytepower.bs │ ├── chars.bin │ ├── chars.inc │ ├── city.bs │ ├── city6.bs │ ├── kingrobo.bs │ ├── kitt.bs │ ├── logo.bs │ ├── logo.inc │ ├── popstar.bs │ ├── popstar.inc │ ├── robo.bs │ ├── robotfin.bs │ └── zoomergfx.pl ├── glob.inc ├── loader │ ├── Makefile │ ├── boot.a65 │ ├── boot_dev.a65 │ ├── boot_real.a65 │ ├── decomp.a65 │ ├── drive.a65 │ ├── listlogo.inc │ ├── loader.a65 │ ├── loader_dev.a65 │ └── loader_real.a65 ├── texts_glob.inc ├── utils │ ├── Makefile │ ├── blkasm.pl │ ├── prg2vizldr.c │ ├── rlecomp.c │ └── vic20-40960.c2n └── waveforms.txt └── robotic_warrior ├── Makefile ├── README.md ├── intro.a65 ├── makeintroframe.pl └── warrior.a65 /README.md: -------------------------------------------------------------------------------- 1 | # Selection of Viznut's demoscene source code (1997-2015) 2 | 3 | Due to public interest, here is a collection of source code from some of my 4 | demoscene productions and other one-shot projects from past decades. 5 | 6 | Archival only, pull requests are not accepted. 7 | 8 | DISCLAIMER: None of these are intended for reuse, even though some parts 9 | have been used in multiple productions. Also, I very seldom considered the 10 | possibility that anyone else would try to read the code. So, don't use them 11 | as examples of how to organize code in real-world projects. 12 | 13 | Included in separate subdirectories: 14 | - dramatic_pixels: a minimalist 1-kilobyte story for the C-64 15 | - false_dimension: pseudorandom-generative imagery in 2 kilobytes for the C-64 16 | - helium: a story-driven 4-kilobyter for MS-DOS (386/VGA/Adlib) 17 | - illuminatus: a 25th-anniversary tribute to a 1989 April Fool's prank (C/SDL) 18 | - impossiblator_3: a multipart technical demo for the VIC-20 19 | - next_level: streamed animation for the VIC-20 20 | - quantum_dash: a quick entry for a game-making contest (C/SDL) 21 | - robotic_liberation: a trackloader demo for the VIC-20 22 | - robotic_warrior: a single-load demo for the VIC-20 23 | -------------------------------------------------------------------------------- /dramatic_pixels/README.md: -------------------------------------------------------------------------------- 1 | # Dramatic Pixels (2010) 2 | 3 | A minimalistic story-driven animation for the C-64, with synchronized music. 4 | About 1 kilobyte in size, won the C-64 4K intro compo at Breakpoint 2010. 5 | 6 | https://www.pouet.net/prod.php?which=54667 7 | -------------------------------------------------------------------------------- /false_dimension/Makefile: -------------------------------------------------------------------------------- 1 | all: falsedim.prg 2 | 3 | falsedim.prg: falsedim-nc.prg 4 | pucrunch -c64 -x0x0a80 < falsedim-nc.prg > falsedim.prg 5 | 6 | falsedim-nc.prg: 7 | acme false_dimension.asm 8 | 9 | clean: 10 | rm -f falsedim-nc.prg falsedim.prg *~ 11 | 12 | -------------------------------------------------------------------------------- /false_dimension/README.md: -------------------------------------------------------------------------------- 1 | # False Dimension (2012) 2 | 3 | A 2K'ish demo for the Commodore 64. 4 | 5 | The main technical point in this one is using a pseudorandom generator with 6 | 16-bit seeds to generate Rorschach-type imagery, especially landscapes. A 7 | fixed series of hand-picked seeds is used to run the demo. 8 | 9 | The same generator is used in Metadimension (2019). 10 | 11 | https://www.pouet.net/prod.php?which=59125 12 | 13 | ![Examples of images with corresponding seeds](false_dimension.png) 14 | -------------------------------------------------------------------------------- /false_dimension/false_dimension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/false_dimension/false_dimension.png -------------------------------------------------------------------------------- /helium/README.md: -------------------------------------------------------------------------------- 1 | # Helium (1997) 2 | 3 | My first demoparty victory ever. Won the PC 4K intro compo at Assembly 1997. 4 | 5 | Notably, this one has Adlib FM music even though music was disallowed by the 6 | competition rules at the time. 7 | 8 | MS-DOS. To compile, you'll need to buy (or otherwise obtain) the A386 9 | assembler. 10 | 11 | https://www.pouet.net/prod.php?which=3702 12 | -------------------------------------------------------------------------------- /helium/helium.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/helium/helium.com -------------------------------------------------------------------------------- /helium/int8.asm: -------------------------------------------------------------------------------- 1 | hookint8: 2 | mov ds,cs 3 | mov si,offset oldint 4 | lodsw ; 3508 5 | int 021 ; bx:es = old 8vector 6 | lodsw ; 4000 7 | mov w[si-4],bx ; save old vec to da jmpfar 8 | mov w[si-2],es 9 | 10 | mov dx,timehandler ; set new vec & clockrate 11 | 12 | timerset: 13 | cli 14 | mov al,036 ; clock 15 | out 043,al 16 | mov al,0 17 | out 040,al 18 | mov al,ah 19 | out 040,al 20 | mov ax,02508 ; vec 21 | int 021 22 | sti 23 | ret 24 | 25 | timehandler: 26 | 27 | pusha 28 | push ds 29 | cld 30 | 31 | mov ds,cs 32 | 33 | ;;;;;;;;;;;;;;;;;;;;;;;;; 34 | 35 | inc w[starposx] ; starfield faktorz 36 | add w[starposy],2 37 | 38 | add w[tunoff],256+3 ; tunnel faktorz 39 | inc w[tunlgt] 40 | 41 | test b[lazrfac+1],0ff ; lazergun faktorz 42 | if ne add b[lazrfac+1],4 43 | 44 | test b[explofac],0ff 45 | if ne dec b[explofac] 46 | 47 | t0:add w[anglez],1 ; rotation anglez 48 | delta equ t0+4 49 | t0:add w[anglez+2],2 50 | deltb equ t0+4 51 | t0:add w[anglez+4],6 52 | deltc equ t0+4 53 | t0:add w[zoomrate],0 54 | deltz equ t0+4 55 | 56 | t0:mov ax,0 ; palette fade cycles left 57 | fadetym equ t0+1 58 | test ax 59 | jz >o0 60 | dec w[fadetym] 61 | 62 | mov si,paltemp 63 | 64 | mov dx,03c8 65 | xor ax,ax 66 | out dx,al 67 | inc dx 68 | mov cx,768 69 | l0: lodsb ; current 70 | mov ah,[si+768*2-1] ; new 71 | add [si+768-1],ah ; fraction+=new 72 | t0:sbb al,0 ;adc 73 | fadedir equ t0 74 | mov [si-1],al ; cur+=fraxxonz overflow 75 | out dx,al 76 | loop l0 77 | o0: 78 | 79 | t0:mov ax,0 ; inc timer 80 | timer equ t0+1 81 | inc w[timer] 82 | 83 | test al,7 ; every 8 cycles.. 84 | jne >c5 85 | xor w[pvalo0],0b7c0 xor 0e000 ; * switch the rear lights in 86 | xor w[pvalo1],0b7c0 xor 0e000 ; the gokhlop ship 87 | xor w[pvalo2],0b7c0 xor 0e000 88 | call player ; * play a tick of muzax 89 | c5: 90 | 91 | test al,3 ; if cycles &3 = 1,2,3... 92 | 93 | mov al,020 ; return with iret 94 | out 020,al 95 | pop ds 96 | popa 97 | jne >c0 98 | t0:jmp far 04000:03508 ; else return to da original vec 99 | oldint EQU t0+1 100 | c0: 101 | iret 102 | 103 | -------------------------------------------------------------------------------- /helium/phngball.asm: -------------------------------------------------------------------------------- 1 | dophongball: ; lightvec = bp.si.dl 2 | ; ztable = ds:nnnn 3 | ; out = es:nnnn 4 | 5 | lea bx,[bp+si] ; -128*(lx+ly) .. 6 | shl bx,7 7 | neg bx ; .. inits (x*lx+y*ly) 8 | 9 | xor cx,cx 10 | xor di,di 11 | 12 | l1:push bx 13 | l0:mov al,[di] ; z 14 | test al,al 15 | js >c0 ; imaginary? 16 | 17 | imul dl ; z*lz 18 | add ax,bx ; + (x*lx+y*ly) 19 | mov al,ah 20 | add al,64 21 | 22 | stosb 23 | add bx,bp ; (x*lx+y*ly) += lx 24 | dec ch 25 | jne l0 26 | jmp>o8 27 | c0:inc di 28 | add bx,bp 29 | dec ch 30 | jne l0 31 | 32 | o8:pop bx 33 | add bx,si ; (x*lx+y*ly) += ly 34 | loop l1 35 | ret 36 | 37 | prephongball: ; out = es:nnnn 38 | 39 | xor cx,cx 40 | xor di,di 41 | 42 | l0:mov bx,122*122 ; r^2 43 | 44 | mov al,cl ; -y^2 45 | sub al,128 46 | imul al 47 | sub bx,ax 48 | 49 | mov al,ch ; -x^2 50 | sub al,128 51 | imul al 52 | sub bx,ax ; =z^2 53 | 54 | mov al,0ff 55 | js >c0 ; no roots? 56 | je >c0 57 | call calcsqrt ; bp=sqrt(bx)=z 58 | mov ax,bp 59 | c0:stosb 60 | 61 | loop l0 62 | ret 63 | 64 | calcsqrt: ; fixed point sqrt bp=sqrt(bx) 65 | push cx 66 | mov cx,8 67 | mov bp,1 68 | l0:mov ax,bx 69 | push dx 70 | cwd 71 | div bp 72 | pop dx 73 | add bp,ax 74 | sar bp,1 75 | loop l0 76 | pop cx 77 | ret 78 | 79 | -------------------------------------------------------------------------------- /helium/player.asm: -------------------------------------------------------------------------------- 1 | initadlib: 2 | 3 | mov ax,244 ; clear regs 4 | mov di,offset adlib 5 | l0:call di 6 | dec ax 7 | jne l0 8 | 9 | mov ax,02001 ; enable waveforms 10 | call di 11 | mov si,adlibstring ; init with instrdata 12 | mov cx,8+8 13 | l0:lodsw ; 3 chns each 14 | call di 15 | inc ax 16 | call di 17 | inc ax 18 | call di 19 | loop l0 20 | ret 21 | 22 | player: pusha 23 | mov di,player 24 | 25 | mov cx,(4*4*256)+0a3 ; melody basechn & baseoct 26 | 27 | t0: mov bx,0 ; melody seq 28 | musapat0 equ t0+1 29 | t0: mov si,0 ; notecounter 0..15 30 | notecnt equ t0+1 31 | 32 | test bx ; seq#0 = nosound 33 | je >c1 34 | 35 | l1: mov bl,[si+bx+musaseqs-16] ; next note 36 | 37 | test bl ; <0: none 38 | js >c1 39 | 40 | t0: add bl,0 ; add n halftones 41 | musaoff equ t0+2 42 | 43 | mov dh,3 ; phys.ch += notecounter mod 3 44 | mov ax,si 45 | idiv dh 46 | mov al,ah 47 | 48 | add al,cl ; chn += basechn 49 | 50 | mov dl,ch ; oct += baseoct 51 | l0:cmp bl,12 52 | jc >c0 53 | sub bl,12 ; note overflow -> inc oct 54 | add dl,4 55 | jmp l0 56 | c0: 57 | 58 | mov ah,[bx+freqs] ; freq 59 | call adlib 60 | 61 | add al,010 ; key off 62 | mov ah,dl 63 | call adlib 64 | 65 | or ah,020 ; key on 66 | call adlib 67 | 68 | c1: cmp cl,0a0 ; done drums? 69 | je >c1 70 | t0:mov bx,6*8 ; no -> do drums 71 | musapat1 equ t0+1 72 | mov cx,(3*4*256)+0a0 73 | jmp l1 74 | 75 | ;;;;;;;;;;;;;;;;;;;;; after all chnz ..- 76 | 77 | c1: inc si ; inc notecounter 78 | cmp si,16 79 | jne >c0 80 | 81 | t0:xor b[di-player+musapat1],0 ; next drumseq 82 | xor b[di-player+t0+3],6*8 xor 8*8 83 | 84 | t0:mov si,seqlist 85 | seqcnt equ t0+1 86 | l0:lodsb ; nextseq data 87 | cbw 88 | test ax 89 | jns >c3 ; sign: loop back n 90 | add si,ax 91 | jmp l0 92 | c3:push ax ; else 93 | and al,15 ; nextseq offset = 8*al.low 94 | shl ax,3 95 | mov w[di+musapat0-player],ax 96 | pop ax ; noteadd = al.high 97 | shr ax,4 98 | mov b[di-player+musaoff],al 99 | 100 | mov w[di-player+seqcnt],si ; save seqcount 101 | xor si,si ; notecount=0 102 | c0: 103 | mov w[di-player+notecnt],si ; save notecount 104 | popa 105 | ret 106 | 107 | adlib: ; ax=data.addr 108 | pusha 109 | 110 | mov dx,0388 111 | 112 | out dx,al 113 | mov cx,6+1 114 | t1:in al,dx 115 | loop t1 116 | 117 | mov al,ah 118 | 119 | inc dx 120 | out dx,al 121 | dec dx 122 | mov cl,35+2 123 | t2:in al,dx 124 | loop t2 125 | popa 126 | ret 127 | 128 | freqs: db 02ae/8 129 | db 016b/4 130 | db 0181/4 131 | db 0198/4 132 | db 01b0/4 133 | db 01ca/4 134 | db 01e5/4 135 | db 0202/4 136 | db 0220/4 137 | db 0241/4 138 | db 0263/4 139 | db 0287/4 140 | 141 | adlibstring: 142 | 143 | dw 02020,0a123 ; drums 144 | dw 0f660,0f363 ; ad 145 | dw 0b180,00383 ; sr 146 | dw 001e3 147 | dw 006c0 ; fdbak 148 | 149 | dw 00128,0a42b ; melody 150 | dw 0c368,0536b ; ad 151 | dw 08e88,08f8b ; sr 152 | dw 001e8 153 | dw 008c3 154 | 155 | -------------------------------------------------------------------------------- /helium/polygon.asm: -------------------------------------------------------------------------------- 1 | ; päätepisteet bx,cx,dx värit al,ah rekursiomäärä di 2 | 3 | recursepoly: ; edges bx,cx,dx 4 | ; recursively divides a triangle (depth = di) 5 | ; in smaller triangles of colors al,ah and draws them 6 | pop bp 7 | pop dx,cx,bx ; kulmat ja väri 8 | push bp 9 | r0: 10 | test di,di ; out of recursions -> draw it 11 | je triangle 12 | 13 | cmp di,3 ; swap some edge coords. just for dEzIgN 14 | jc >c0 15 | xchg bx,dx 16 | c0: 17 | 18 | mov bp,2 ; loop twice (divide into two halves) 19 | l0: pusha 20 | 21 | push bx,dx ; set one of the edges to a mediane vec 22 | add dl,cl 23 | rcr dl,1 24 | add dh,ch 25 | rcr dh,1 26 | pop bx,cx 27 | 28 | dec di 29 | call r0 ; recurse 30 | popa 31 | xchg cx,dx ; blah 32 | inc ax 33 | xchg al,ah 34 | dec bp 35 | jne l0 36 | ret 37 | 38 | triangle: ; draws a constant-filled triangle 39 | ; in a 256x256 buffer (at es:nnnn) 40 | ; edges bx,cx,dx color ax 41 | ; -- not quite accurate calx 42 | mov bp,ax 43 | mov ax,cx 44 | sub ax,dx 45 | add ax,16 46 | and ax,31 47 | swizu: ADD BP,AX 48 | 49 | cmp b[lazrfac+1],210 ; da thingie wildly changes 50 | if nc xor bp,cx ; its colorz when the lazer bullet is near 51 | 52 | cmp bx,cx ; y-sort 53 | if nc xchg bx,cx 54 | cmp bx,dx 55 | if nc xchg bx,dx 56 | cmp cx,dx 57 | if nc xchg cx,dx 58 | 59 | inc ch ; prevent flattops 60 | inc dh 61 | 62 | mov ax,dx ; line #0 (p0->p2) 63 | sub ah,bh 64 | sub al,bl 65 | call >s1 ; div 66 | mov di,ax ; di=k02 67 | 68 | push dx ;p2> 69 | push bp ;col> 70 | 71 | mov ax,cx ; line #1 (p0->p1) 72 | sub ah,bh 73 | sub al,bl 74 | call >s1 ; div 75 | mov bp,ax ; bp=k01 76 | 77 | mov dh,bl ; dx=si=p0x 78 | mov dl,0 79 | mov si,dx 80 | 81 | pop ax ;col< 82 | mov ah,ch ;y1 ; ax=y1;col. bx=y0 already 83 | 84 | call >s0 ; draw upper half 85 | 86 | pop bx ;p2< 87 | mov ah,bh 88 | push ax ;y2;col> 89 | 90 | mov ax,bx ; line #2 (p1->p2) 91 | sub ah,ch 92 | sub al,cl 93 | call >s1 ; div 94 | mov bp,ax ; bp=k12 95 | 96 | pop ax ;y2;col< 97 | mov bx,cx ;y1 98 | 99 | s0:push cx ;;;;;;;;;;;;;; drawloop 100 | 101 | l0:cmp bh,ah 102 | je >o9 103 | 104 | add dx,di 105 | add si,bp 106 | 107 | mov bl,dh 108 | 109 | mov cx,si ;x1 110 | sub ch,dh ;x0 111 | jnc >c0 112 | neg cx 113 | std 114 | c0:mov bl,dh 115 | push di 116 | mov di,bx 117 | mov cl,ch 118 | mov ch,0 119 | inc cx 120 | rep stosb 121 | cld 122 | pop di 123 | 124 | inc bh 125 | jmp l0 126 | o9:pop cx 127 | ret 128 | 129 | s1:push cx,dx ; kinda div subrtn 130 | mov cl,ah 131 | mov ah,al 132 | mov al,0 133 | mov ch,0 134 | cwd 135 | jcxz >c0 136 | idiv cx 137 | c0:pop dx,cx 138 | ret 139 | 140 | -------------------------------------------------------------------------------- /helium/rotate.asm: -------------------------------------------------------------------------------- 1 | draw3d: ;;;;;;;;;;;;;;; draws the obutin ; cx=numfaces; si=facelist 2 | mov es,ds,cs 3 | 4 | push cx 5 | push cx 6 | 7 | mov di,tempstore 8 | 9 | l1:push cx 10 | 11 | movsw ; set colors 12 | 13 | mov cl,3 14 | xor dx,dx 15 | l0:lodsb ; vertexnum 16 | mov ah,0 17 | imul bx,ax,3 18 | 19 | mov ax,[vertexgrid+bx] ; vertex.xy 20 | add ax,08080 21 | stosw 22 | 23 | mov al,[vertexgrid+2+bx] ; zed+= vertex.z 24 | cbw 25 | add dx,ax 26 | 27 | loop l0 28 | pop cx 29 | 30 | mov ax,dx ; store face.zed +something 31 | add ah,16 ; tuttu 32 | stosw 33 | loop l1 ; next face 34 | 35 | ;;; ;;; ;;; 36 | 37 | mov ax,cs ; joo. 38 | add ah,16 39 | mov es,ax 40 | 41 | pop bp ; numfaces 42 | pop bx 43 | 44 | l1:mov cx,bp ; get da highest zed 45 | xor dx,dx 46 | mov si,tempstore 47 | l0:add si,4*2 48 | lodsw 49 | cmp ax,dx 50 | jc >c0 ; max so far 51 | mov dx,ax 52 | mov di,si 53 | c0:loop l0 ; chekk all 54 | 55 | mov w[di-1*2],cx ; zero it out 56 | 57 | pusha 58 | push d[di-4*2] ; vtx0-1 59 | push w[di-2*2] ; vtx2 60 | mov ax,w[di-5*2] ; colz 61 | mov di,3 62 | call recursepoly 63 | popa 64 | 65 | dec bx ; get da next face 66 | jne l1 67 | 68 | ret 69 | 70 | dounitvex: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 71 | 72 | xor cx,cx ; bx=unitlength, cx=si=0 73 | xor si,si 74 | 75 | mov di,unitvex 76 | push di ; to be popped 77 | 78 | l0: push bx,cx,si ; originalz (1/0/0) 79 | 80 | push di ; rotate tHem 81 | mov di,anglez 82 | call rotopart 83 | xchg bx,si 84 | call rotopart 85 | xchg cx,si 86 | call rotopart 87 | pop di 88 | 89 | mov ax,bx 90 | mov dx,cx 91 | mov bp,si 92 | stosw ; sAVE 93 | mov [di],cx 94 | mov [di+2],si 95 | 96 | add di,4 97 | 98 | pop si,cx,bx ; >originalz 99 | 100 | push bp,dx,ax 101 | 102 | xchg bx,si 103 | xchg cx,si 104 | test bx,bx 105 | je l0 106 | 107 | dovertexgrid: ;;;;;;;;;;; generate a vec3dgrid 8x8x4 -> di 108 | ; using the rotated unit vectors just calced 109 | 110 | pop ax,bx,dx ; pop initial axbxdx hmm 111 | mov cx,2 112 | l0:pop bp ; x=4ix+4jx+2kx 113 | shl bp,1 114 | add ax,bp 115 | pop bp ; y=4iy+4jy+2ky 116 | shl bp,1 117 | add bx,bp 118 | pop bp ; z=4iz+4jz+2kz 119 | shl bp,1 120 | add dx,bp 121 | loop l0 122 | 123 | shl ax,1 124 | shl bx,1 125 | shl dx,1 126 | 127 | ; ; ; 128 | 129 | inc ch ; cx=256 130 | pop si ; unitvex 131 | mov di,vertexgrid 132 | 133 | push ax,bx,dx ; push sumthing 134 | push ax,bx,dx 135 | 136 | l0:xor bp,bp ; recurselevel=0 137 | 138 | s0:sub ax,[si] 139 | sub bx,[si+2] 140 | sub dx,[si+4] 141 | test cl,7 142 | jne >c0 143 | pop dx,bx,ax ; restore the old vals 144 | add si,6 145 | shr cx,3 146 | inc bp 147 | jne s0;jmp ; recurse to da higher unitvec 148 | r1:sub si,6 149 | shl cx,3 150 | push ax,bx,dx 151 | c0:dec bp 152 | jns r1 ; return from recursion 153 | 154 | mov [di],ah ; store vals 155 | inc di 156 | mov [di],bh 157 | inc di 158 | mov [di],dh 159 | inc di 160 | 161 | loop l0 162 | 163 | add sp,12 164 | ret 165 | 166 | rotopart: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 167 | 168 | push bx ; get angle 169 | mov bx,[di] ; & rewrite sin/cos vals 170 | and bx,510 ;!!! 171 | mov ax,[bx+sintable+128] 172 | mov w[rcos],ax 173 | mov ax,[bx+sintable] 174 | mov w[rsin],ax 175 | pop bx 176 | inc di ; next 177 | inc di 178 | 179 | roto2d: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 180 | 181 | call >s0 ; cos*X+sin*Y 182 | add bp,dx 183 | push bp 184 | 185 | call >s0 ; cos*Y-sin*X 186 | sub bp,dx 187 | 188 | mov bx,bp ; y=cos*Y-sin*X 189 | pop si ; x=cos*X+sin*Y 190 | ret 191 | 192 | s0: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 193 | 194 | t0:mov ax,32757 ; these initial sin&cos vals 195 | rcos equ t0+1 ; are those of 2pi/256 (for the sinus gen) 196 | imul si 197 | mov bp,dx 198 | t0:mov ax,804 199 | rsin equ t0+1 200 | imul bx 201 | xchg si,bx 202 | add bp,bp 203 | add dx,dx 204 | ret 205 | 206 | -------------------------------------------------------------------------------- /helium/tunneli.asm: -------------------------------------------------------------------------------- 1 | calctuntab: ;;;;;;;;;;;;;;;;;;;;; 115 bytes w/o calcsqrt&recursepoly 2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3 | pusha 4 | push ds,es 5 | 6 | mov ax,cs ; temp = videobuf 7 | add ah,16 8 | mov es,ax 9 | 10 | mov cx,256 ; draws a filled circle divided in 256 sectors 11 | mov dx,bx,0fe77 ; with color=angle (2pi == 256) 12 | mov si,sintable 13 | 14 | l0: mov dx,bp ; edge2=prev sin&cos 15 | mov bp,bx 16 | 17 | lodsw 18 | mov bl,ah ; edge0=next sin&cos 19 | mov bh,[si+126+1] 20 | add bx,08080 21 | 22 | pusha 23 | mov al,ah,cl 24 | mov di,1 25 | push bx,dx 26 | push 08080 ; edge1=origo 27 | call recursepoly 28 | popa 29 | 30 | loop l0 31 | 32 | mov ds,es ; ds=cs+16x4k temptab 33 | mov ax,cs ; es=cs+32x4k final tunneltab 34 | add ah,32 35 | mov es,ax ; -> copy the circle into the finaltab area 36 | ; 2x zoomed at 128,128 37 | ; write the point<->center distance to every other byte 38 | 39 | mov si,04040 40 | xor di,di 41 | 42 | ; cx=0 already 43 | 44 | l0: mov al,cl ; distance 45 | sub al,128 46 | imul al 47 | mov bx,ax 48 | 49 | mov al,ch 50 | sub al,128 51 | imul al 52 | add bx,ax 53 | 54 | je >c0 55 | js >c0 56 | call calcsqrt 57 | c0:mov ax,bp 58 | 59 | movsb ; distance 60 | stosb ; angle 61 | 62 | dec ch 63 | je >c0 64 | dec ch 65 | jne l0 66 | c0: 67 | add si,128 68 | test cl,1 69 | if ne sub si,256 70 | loop l0 71 | 72 | mov ax,cs ; clr da tunnel texture segm 73 | add ah,040 74 | mov es,ax 75 | xor ax,ax 76 | mov cx,32768 77 | rep stosw 78 | 79 | pop es,ds 80 | popa 81 | ret 82 | 83 | drawtunnel: 84 | pusha 85 | push ds,es 86 | 87 | mov ax,cs 88 | add ah,030 89 | mov ds,ax ; ds = bitmap cs+$3000 90 | add ah,010 91 | mov es,ax ; es = tunmap cs+$4000 92 | 93 | xor di,di 94 | 95 | t0: mov si,0 96 | tunoff equ t0+1 97 | 98 | mov bx,07fff ; pHuRst addition 99 | t0: mov bp,1 ; yloop 100 | tunlgt equ t0+1 101 | 102 | cmp bp,210 ; 256x210 texture fills the whole screen 103 | if nc mov bp,210 104 | 105 | l0: mov ax,bx 106 | sar ax,5 107 | sub bx,ax 108 | 109 | push si,bx 110 | add bx,bx 111 | mov bl,0 112 | add si,bx 113 | cmp si,0ff00 ; prevent movsw when si==0ffff 114 | if nc sub si,0ff00 ; compatibility suxxxx!!!!!! 115 | mov cx,128 116 | rep movsw 117 | pop bx,si 118 | dec bp 119 | jne l0 120 | 121 | inc ch ;cx=256 122 | mov ax,0c0c0 ; da nice yellow hyperborder 123 | rep stosw 124 | 125 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 126 | 127 | xor bx,bx ; IKSPLOOSON! 128 | ; (do some xors&adds in the tunnel bitmap) 129 | l1: 130 | t0:mov al,0 ; -> ax=actual hgth 131 | explofac equ t0+1 132 | test al 133 | je >c1 134 | mov dx,bx 135 | add dl,b[cs:timer] 136 | ror dl,3 137 | and dl,15 138 | xor al,dl 139 | je >c1 140 | mov ah,al 141 | mov bh,0 142 | l0:or w[es:bx],ax;add 143 | add w[es:bx],ax 144 | inc bh 145 | dec al 146 | jne l0 147 | c1:inc bl 148 | jne l1 149 | 150 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 151 | 152 | o0: push es ; ds = tunmap cs+3000 153 | pop ds 154 | 155 | mov ax,cs ; es = output cs+1000 156 | add ah,010 157 | mov es,ax 158 | add ah,010 ; fs = tuntab cs+2000 159 | mov fs,ax 160 | 161 | xor bx,bx 162 | mov di,65534 163 | 164 | l0: movsw ; dA hOLY dRAWLOOP 165 | mov esi,[fs:bx] 166 | movsw 167 | shr esi,16 168 | add bx,4 169 | jne l0 170 | 171 | c0: pop es,ds 172 | popa 173 | ret 174 | 175 | -------------------------------------------------------------------------------- /helium/video64k.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/helium/video64k.asm -------------------------------------------------------------------------------- /illuminatus/Makefile: -------------------------------------------------------------------------------- 1 | all: illu 2 | ./illu 3 | 4 | illu: illu.c telaketju.h 5 | gcc -O2 illu.c -o illu `sdl-config --libs --cflags` -lSDL_image -lm 6 | 7 | #illu.exe: illu.c telaketju.h 8 | # i686-w64-mingw32-gcc -O2 9 | 10 | illu.html: illu.c 11 | emcc -Oz illu.c -o illu.html --preload-file assets --use-preload-plugins 12 | uglifyjs illu.js -c > illu-u.js 13 | mv illu-u.js illu.js 14 | # EMCC_DEBUG=1 emcc illu.c -o illu.html --preload-file assets --use-preload-plugins --emrun 15 | emrun illu.html 16 | 17 | clean: 18 | rm -f *~ illu illu.exe illu.html illu.js illu*mem* illu.data 19 | -------------------------------------------------------------------------------- /illuminatus/README.md: -------------------------------------------------------------------------------- 1 | # Illuminatus (2014) 2 | 3 | This is a tribute to the Illuminatus, the April's Fools prank in the 4 | MikroBitti magazine 4/1989, on its 25th anniversary. 5 | 6 | Originally made for a single prank video ("Illuminatus gameplay (Atari ST)") 7 | but later refurbished as a web-playable "cover disk game" of the first 8 | English-language edition of the Skrolli magazine (2016.1E). 9 | 10 | You can't really do much in it. Quick and dirty. 11 | 12 | The graphics are based on the original faux screenshots by Petri Teittinen. 13 | The 3D object in the intro was remodelled by BassCadet. 14 | 15 | https://www.youtube.com/watch?v=VeiILCkgVY4 16 | -------------------------------------------------------------------------------- /illuminatus/assets/asema.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/illuminatus/assets/asema.gif -------------------------------------------------------------------------------- /illuminatus/assets/cockpit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/illuminatus/assets/cockpit.png -------------------------------------------------------------------------------- /illuminatus/assets/icons-station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/illuminatus/assets/icons-station.png -------------------------------------------------------------------------------- /illuminatus/assets/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/illuminatus/assets/icons.png -------------------------------------------------------------------------------- /illuminatus/assets/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/illuminatus/assets/loading.png -------------------------------------------------------------------------------- /impossiblator_3/Makefile: -------------------------------------------------------------------------------- 1 | C1541=/opt/vice/bin/c1541 2 | VICE=/opt/vice/bin/xvic 3 | C2N=/opt/bin/c2n 4 | CBMLINK=/opt/bin/cbmlink 5 | C2NDEV=/dev/cuad0 6 | 7 | all: clean emutest 8 | 9 | release: clean impo3.zip 10 | 11 | clean: 12 | rm -f *~ bin/* TEMP.* impo3.d64 impo3.zip IMPO3 IMPO3A 13 | cd loader; make clean 14 | cd allparts; make clean 15 | 16 | ######################################## 17 | 18 | emutest: impo3.d64 19 | $(VICE) impo3.d64 20 | 21 | impo3.zip: impo3.d64 22 | cp impo3.d64 package 23 | cp bin/boot.prg package/impo3.prg 24 | cp bin/impo3.rle package/impo3a 25 | cd package ; zip ../impo3.zip * 26 | 27 | impo3.d64: bin/boot.prg bin/impo3.bin 28 | dd if=/dev/zero of=impo3.d64 bs=174848 count=1 29 | $(C1541) impo3.d64 -format impo3,i3 30 | $(C1541) impo3.d64 -write bin/boot.prg 'impossiblator 3" 31 | $(C1541) impo3.d64 -write bin/impo3.rle 'impo3a' 32 | 33 | bin/boot.prg: 34 | cd loader; make 35 | 36 | bin/impo3.bin: 37 | cd allparts; make 38 | 39 | link: 40 | $(C2N) -c $(C2NDEV) utils/vic20-40960.c2n 41 | 42 | devxfer: demo 43 | dd if=bin/impo3.rle of=bin/impo3c.rle 44 | $(CBMLINK) -c c2n232 $(C2NDEV) -lo,0xa400 bin/impo3.rle 45 | $(CBMLINK) -c c2n232 $(C2NDEV) -l bin/boot_dev.prg 46 | $(CBMLINK) -c c2n232 $(C2NDEV) -r 47 | 48 | kludxfer: demo 49 | $(CBMLINK) -c c2n232 $(C2NDEV) -lo,0x4000 bin/impo3.rle 50 | $(CBMLINK) -c c2n232 $(C2NDEV) -l bin/boot_dev.prg 51 | $(CBMLINK) -c c2n232 $(C2NDEV) -r 52 | 53 | fixxfer: demo 54 | $(CBMLINK) -c c2n232 $(C2NDEV) -l bin/boot.prg 55 | $(CBMLINK) -c c2n232 $(C2NDEV) -r 56 | 57 | demoxfer: bin/impo3.rle bin/boot.prg 58 | $(CBMLINK) -c c2n232 $(C2NDEV) -dc 'S0:IMPO3A' 59 | cp bin/impo3.rle IMPO3A 60 | $(CBMLINK) -c c2n232 $(C2NDEV) -fw IMPO3A 61 | $(CBMLINK) -c c2n232 $(C2NDEV) -l bin/boot.prg 62 | $(CBMLINK) -c c2n232 $(C2NDEV) -r 63 | -------------------------------------------------------------------------------- /impossiblator_3/README.md: -------------------------------------------------------------------------------- 1 | # Impossiblator 3 (2007) 2 | 3 | A multipart demo for the unexpanded VIC-20. 4 | 5 | The new technique in this one is the "floating bus" used in the stretcher 6 | part and the greetings part. 7 | 8 | "Floating bus" (or "forced fetch") in short: When the video chip reads from 9 | a memory address that is not connected to actual memory, it will read a 10 | "floating byte", i.e. the last byte left on the data bus by the CPU. This 11 | effectively makes it possible to force the video chip to fetch arbitrary 12 | bytes at arbitrary screen locations. 13 | 14 | The piece of C code under ff/ generates the pieces of machine code that feed 15 | the individual lines of the stretching bitmap to the video chip in 16 | stretch.asm. 17 | 18 | https://www.pouet.net/prod.php?which=31537 19 | -------------------------------------------------------------------------------- /impossiblator_3/allparts/Makefile: -------------------------------------------------------------------------------- 1 | BLKASM=../utils/blkasm.pl 2 | RLECOMP=../utils/rlecomp 3 | 4 | all: ../bin/impo3.rle 5 | 6 | ../bin/impo3.bin: allparts.asm 7 | rm -f ../bin/impo3.bin 8 | $(BLKASM) ../bin/impo3.bin allparts.asm 9 | # part4.asm 10 | 11 | ../bin/impo3.rle: ../bin/impo3.bin 12 | $(RLECOMP) < ../bin/impo3.bin > ../bin/impo3.rle 13 | 14 | clean: 15 | rm -f *~ TEMP* 16 | -------------------------------------------------------------------------------- /impossiblator_3/allparts/allparts.asm: -------------------------------------------------------------------------------- 1 | #BLK 2 | !source "../loader/start_glob.inc" 3 | *=keeploading 4 | 5 | #BLKV 6 | *=$11C0 7 | 8 | ;inc $900f 9 | ;jmp $11C0 10 | 11 | !source "stretch.asm" 12 | 13 | #BLK 14 | *=$11C0 15 | 16 | #BLKV 17 | *=$1000 18 | !source "roadrace.asm" 19 | 20 | #BLK 21 | *=$1000 22 | 23 | #BLKV 24 | *=$1010 25 | !source "kefrens.asm" 26 | 27 | #BLK 28 | *=$1380 29 | -------------------------------------------------------------------------------- /impossiblator_3/allparts/roadrace.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/allparts/roadrace.asm -------------------------------------------------------------------------------- /impossiblator_3/ff/vic20-char.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/ff/vic20-char.bin -------------------------------------------------------------------------------- /impossiblator_3/glob.inc: -------------------------------------------------------------------------------- 1 | loader_base=800 ; @ 800 2 | driveside_base=$0500 3 | 4 | !zone macros 5 | !macro AXSabs .axst { 6 | !byte $8f 7 | !word .axst 8 | } 9 | 10 | !macro ASO0 .asot { 11 | !byte $07,.asot 12 | } 13 | 14 | !macro wait .clocks { ; safe with 14..80 15 | jsr wait14-(.clocks-14) 16 | } 17 | 18 | !macro nocross .length { 19 | !if ((*&255)>255-.length) { 20 | !align $ff,0 21 | } 22 | } 23 | 24 | !macro ANCI .imm { 25 | !byte $0b,.imm 26 | ; and #.imm 27 | } 28 | -------------------------------------------------------------------------------- /impossiblator_3/glob_start.inc: -------------------------------------------------------------------------------- 1 | n7 =$1c; unused 2 | basic =$1001; unused 3 | n6 =$18; unused 4 | mcstart =$119f; ? 5 | n5 =$14; unused 6 | n4 =$10 7 | n3 =$c 8 | n2 =$8 9 | n1 =$4 10 | n0 =$0 11 | nDouble =$40 12 | chData_melodyList =$110e; unused 13 | fC2 =$c3 14 | n8 =$20 15 | readtypochar =$1250; ? 16 | waitframe =$1220; ? 17 | chData =$10d3; ? 18 | chData_cobass_loopstart =$1104; ? 19 | voiceWaves =$115e; ? 20 | chData_empty10 =$10d7; unused 21 | chData_empty12 =$10d6; unused 22 | chData_empty14 =$10d5; unused 23 | chData_empty16 =$10d4 24 | chData_empty2 =$10db; unused 25 | chData_drums =$111a; ? 26 | chData_melodyPart0 =$10dc 27 | chData_empty6 =$10d9; unused 28 | chData_melodyPart1 =$10e8 29 | chData_melodyPart2 =$10f4 30 | musicplayer =$100d 31 | chData_empty8 =$10d8; unused 32 | chDate_empty4 =$10da; unused 33 | fCp =$8f; unused 34 | fAp =$bb; unused 35 | chStates =$10b6; ? 36 | fGp =$b3; unused 37 | voiceTmp =$f4; unused 38 | chData_cobass =$1104; ? 39 | chData_cobass_loopstart_halfwild =$1106 40 | fC =$87 41 | nBlip =$1 42 | fB =$bf 43 | readbyte =$1258; ? 44 | fA =$b7 45 | fG =$af 46 | fF =$a5 47 | fE =$9f 48 | fD =$93 49 | pitches =$1139; ? 50 | chData_drums_wild =$1120; unused 51 | fD2 =$c8 52 | typostuff =$1264; ? 53 | chData_bass =$1100; ? 54 | chData_cobass_loopstart_wild =$110a 55 | numberOfChannels =$6 56 | chData_chords_loopstart =$1129; ? 57 | chTempoCounters =$10cd; ? 58 | chInitPointers =$10bb; ? 59 | TMP2 =$fe 60 | fFp =$ab 61 | fDp =$9b; unused 62 | chData_melodyList_loopstart =$1112; unused 63 | noiseTable =$1161; ? 64 | nEnd =$80 65 | readtypoword =$11e2; ? 66 | chidxNoise =$3 67 | nOct =$2 68 | TMP =$ff 69 | chidxChord =$4 70 | chTempos =$10c7; ? 71 | fHold =$7e; unused 72 | numberOfMelodyChannels =$3 73 | chData_chords_loopstart_hionly =$1131 74 | chPointers =$10c1; ? 75 | chData_drums_lazy =$111a 76 | chData_chords =$1129; ? 77 | -------------------------------------------------------------------------------- /impossiblator_3/loader/Makefile: -------------------------------------------------------------------------------- 1 | ACME=/opt/bin/acme 2 | PUCRUNCH=/opt/bin/pucrunch 3 | 4 | all: ../bin/boot.prg 5 | 6 | # ../bin/boot_dev.prg 7 | 8 | ../bin/boot.prg: boot_real.a65 boot.a65 loader.bin drive.bin 9 | $(ACME) boot_real.a65 10 | $(PUCRUNCH) -c20 -x0x1800 boot.prg boot.prg 11 | mv boot.prg ../bin/ 12 | 13 | ../bin/boot_dev.prg: boot_dev.a65 boot.a65 loader_dev.bin drive.bin 14 | $(ACME) boot_dev.a65 15 | mv boot_dev.prg ../bin/ 16 | 17 | loader.bin: loader_real.a65 loader.a65 18 | $(ACME) loader_real.a65 19 | 20 | loader_dev.bin: loader_dev.a65 loader.a65 21 | $(ACME) loader_dev.a65 22 | 23 | driveside.bin: drive.a65 24 | $(ACME) drive.a65 25 | 26 | clean: 27 | rm -f *~ boot.prg boot_dev.prg 28 | rm -f loader.bin loader_dev.bin loader_glob.inc start_glob.inc 29 | rm -f driveside.bin drive_glob.inc 30 | -------------------------------------------------------------------------------- /impossiblator_3/loader/boot.a65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/loader/boot.a65 -------------------------------------------------------------------------------- /impossiblator_3/loader/boot_dev.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=1 2 | !to "boot_dev.prg" 3 | !source "boot.a65" 4 | -------------------------------------------------------------------------------- /impossiblator_3/loader/boot_real.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=0 2 | !to "boot.prg",cbm 3 | !source "boot.a65" 4 | -------------------------------------------------------------------------------- /impossiblator_3/loader/drive.a65: -------------------------------------------------------------------------------- 1 | ;;;;;;; DRIVE CODE: MOST BY ALBERT/PU239, ADAPTATIONS BY VIZNUT ;;;;;;;; 2 | 3 | !source "../glob.inc" 4 | !to "driveside.bin",plain 5 | !sl "drive_glob.inc" 6 | 7 | *=driveside_base 8 | 9 | !zone drivecode 10 | 11 | acsbf = $01 ; access to buffer 1 12 | trkbf = $08 ; track of buffer 1 13 | sctbf = $09 ; sector of buffer 1 14 | iddrv0 = $12 ; id of drive 0 15 | id = $16 ; id 16 | 17 | via1pb = $1800 18 | via2pb = $1c00 19 | 20 | buf = $0400 ; sector buffer (for job 1) 21 | datbf = $14 ; databuffer - temporary (on 1581 sector for job 4) 22 | 23 | ; lda $ff54 ; Execute Job -routine entry in the jump table 24 | ; cmp #$4c ; jmp abs - probably exists 25 | ; beq drive1581 26 | ; cmp #$6c ; jmp (abs) - probably exists 27 | ; beq drive1581 28 | ; jmp drive1571 29 | 30 | ; PROTOKOLLANVAIHDOS: 31 | ; pistetään levari antamaan startbittinä nollaa, joka täytyy aina 32 | ; aknata pois ensin. (defaulttina tulisi ykkösiä) 33 | 34 | RETRIES=30 35 | 36 | driveside: 37 | cld 38 | sei 39 | 40 | ldy #2 ; not ready 41 | sta via1pb 42 | 43 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 44 | 45 | ; unused areas in 1541 zeropage: 46 | ; $14 $15 $1b $35 $37 $46 47 | 48 | !if (0) { ; TESTCODE 49 | .haha0 ldy #0 50 | 51 | .haha 52 | ldx .sendstuff,y 53 | jsr send 54 | iny 55 | cpy #.sendstuff_end-.sendstuff 56 | bne .haha 57 | 58 | .v0 lda via2pb 59 | eor #$8 60 | sta via2pb 61 | 62 | ldy #0 63 | ldx #0 64 | .u0 dex 65 | bne .u0 66 | dey 67 | bne .u0 68 | 69 | jmp .haha0 70 | .sendstuff: 71 | !byte $3,$00,$1e 72 | !scr "joo" 73 | !byte $3,$00,$96 74 | !byte 1,1,1 75 | ;!bin "../bin/liber0.bin" 76 | .sendstuff_end: 77 | } 78 | 79 | ;;;;;;; FIND FILE IN DIRECTORY ;;;;;;;; 80 | 81 | ldx #18 82 | ldy #1 ; read the disk directory (track 18, sector 1) 83 | .dirloop 84 | jsr readsect ; read the sector 85 | bcs .errquit ; quit if it could not be read 86 | 87 | ldy #$02 88 | .nextfile 89 | lda buf,y ; check file type 90 | and #$83 91 | cmp #$82 ; must be PRG 92 | bne .notfound 93 | 94 | sty .notfound1+1 95 | ldx #0 96 | .cl lda buf+3,y ; check the first characters 97 | cmp name,x 98 | bne .notfound1 99 | iny 100 | inx 101 | cpx #NAMELGT 102 | bne .cl 103 | 104 | ;;;;;;; FOUND FILE ;;;;;;;;;;; 105 | 106 | .found ldy .notfound1+1 107 | ldx buf+1,y ; get the track and sector numbers 108 | lda buf+2,y 109 | tay 110 | 111 | ;;;;;;; READ NEW SECTOR AND SEND IT ;;;;;;; 112 | 113 | .nextsect 114 | jsr readsect 115 | bcs .errquit ; quit if the sector could not be read 116 | ldy #255 117 | lda buf 118 | bne .notlast ; if the track is nonzero, this wasn't the last sector 119 | 120 | ldy buf+1 ; last sector: get sector length 121 | .notlast 122 | sty .numlast+1 123 | 124 | ldy #1 ; skip the track and sector when sending the buffer 125 | .sendbuf ; send the buffer contents to the computer 126 | ldx buf+1,y 127 | .noesc jsr send 128 | iny 129 | .numlast 130 | cpy #255 ; were all bytes of the block sent? 131 | bne .sendbuf 132 | 133 | ldy buf+1 ; store the track and sector of next block 134 | ldx buf 135 | bne .nextsect ; loop until all sectors are loaded 136 | 137 | .finish ; ESCAPES REMOVED 138 | 139 | inc name+NAMELGT-1 140 | jmp driveside 141 | 142 | ;;;;;;;; FILE NOT FOUND: GO FORWARD ;;;;;;;;; 143 | 144 | .notfound1 145 | ldy #0 146 | .notfound 147 | tya 148 | clc 149 | adc #$20 150 | tay 151 | bcc .nextfile 152 | 153 | ldy buf+1 ; get next sector 154 | ldx buf ; and track 155 | bne .dirloop ; keep trying until the last directory block has been searched 156 | ; file not found: fall through 157 | .errquit 158 | ;ldx #1 159 | ;jsr send 160 | jmp .errquit 161 | 162 | ;;;;;;; SECTOR READER ;;;;;;;;;; 163 | 164 | ; trkbf 6+2n 165 | ; sctbf 7+2n 166 | ; acsbf n 167 | ; memarea: $300+$100*n 168 | 169 | ; sta acsbf_ptr 170 | ; clc 171 | ; adc #3 172 | ; sta buf_ptr 173 | ; asl 174 | ; adc #6 175 | ; sta trkbf_ptr 176 | ; adc #1 177 | ; sta sctbf_ptr 178 | 179 | readsect 180 | stx trkbf 181 | sty sctbf 182 | ldy #RETRIES ; load the retry count 183 | cli ; enable interrupts, so that the command will be executed 184 | .retry lda #$80 185 | sta acsbf ; code for reading the sector 186 | .poll1 187 | ldy #2 ; not ready 188 | sta via1pb 189 | 190 | lda acsbf ; wait for the command to complete 191 | bmi .poll1 192 | cmp #1 193 | bne .noexit 194 | clc 195 | sei ; disable interrupts again to make the program faster 196 | rts ; success: exit the loop 197 | 198 | .noexit dey ; decrement the retry count 199 | bmi .error ; quit if there were too many retries 200 | 201 | cpy #RETRIES / 2 202 | bne .skipcode 203 | 204 | lda #$c0 205 | sta acsbf ; half the retries left: knock the head (seek track 1) 206 | .skipcode 207 | lda id ; tolerate disk id changes 208 | sta iddrv0 209 | lda id+1 210 | sta iddrv0+1 211 | 212 | .poll2 213 | ldy #2 ; not ready 214 | sta via1pb 215 | 216 | lda acsbf ; wait for the command to complete 217 | bmi .poll2 218 | bpl .retry ; branch always 219 | 220 | .error 221 | sec 222 | sei 223 | rts 224 | 225 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 226 | 227 | ; $911f ja $912c: 228 | ; 229 | ; VIC: DRIVE: 230 | 231 | ; 9111.80 atn out --> via1pb.80 232 | ; 9111.02 data in <-- via1pb.02 233 | ; 9111.01 clock in <-- via1pb.08 234 | ; 912c.20 data out --> via1pb.01 kolmen puskuri? 235 | ; 912c.02 clock out --> via1pb.04 kolmen puskuri? 236 | 237 | ;;;;;;;;;;;;;; HALFSYNCHRONIC TRANSMIT ;;;;;;;;;;;;;;;;;;;; 238 | 239 | .gotatn: 240 | pla 241 | pla 242 | cli 243 | rts 244 | 245 | send: 246 | sty $1b 247 | stx datbf 248 | ldx #4 249 | 250 | ; ptr s01234567 251 | ; data 0xxxxxxxx 252 | ; aknclk 1010101010 253 | 254 | ;;;;;;;;;;; first bit is sent without waiting for akn 255 | 256 | lsr datbf ; prepare d0 257 | ldy #0 258 | bcs .z1 259 | ldy #8 260 | .z1 lda #8 ; STARTBIT: 0 261 | sta via1pb ; TODO: aloita looppi .l1:stä 262 | bne .c0 263 | 264 | ;! lsr datbf 265 | ;! ldy #0 266 | ;! bcs .c0z 267 | ;! ldy #8 268 | ;! bcc .c0z 269 | 270 | ;;;;;;;;;;; 271 | 272 | .l1 lsr datbf ; 5 273 | ldy #0 ; 2 274 | bcs .c0 ; 3/4 275 | ldy #8 276 | .c0 277 | lda #$81 ; 2 278 | .l0 bit via1pb ; 4 279 | ;bmi .gotatn ; 2 280 | bne .l0 ; 2+7n 281 | .c0z sty via1pb ; 4 worst case akn: 4+2+7+4 == 17 clocks 282 | ; from last sty: 28(..35) clocks 283 | 284 | ;;;;;;;;;;; 285 | 286 | lsr datbf ; 5 287 | ldy #0 ; 2 288 | bcs .c0b ; 3/4 289 | ldy #8 290 | .c0b 291 | lda #$81 ; 2 292 | .l0b bit via1pb ; 4 293 | beq .l0b ; 2+74 294 | ;bmi .gotatn ; 2 295 | sty via1pb ; 4 worst case akn: 4+2+7+4+2 == 19 clocks 296 | ; from last sty: 25(..32) clocks 297 | 298 | dex ; 2 299 | bne .l1 ; 3 300 | 301 | ; atncheck 302 | ; 303 | ;;;;;;;;;;; after last bit of byte akned: "not ready" 304 | 305 | ldy #0 ; STOP BIT 1 ; was "2" 306 | lda #1 307 | .l0c bit via1pb 308 | bne .l0c 309 | sty via1pb 310 | 311 | ;;; akn stopbit - no new startbit before this 312 | 313 | ldy $1b 314 | 315 | lda #$81 316 | .l0d bit via1pb 317 | bne .l0d 318 | ;bmi .gotatn 319 | 320 | lda via2pb 321 | eor #8 322 | sta via2pb 323 | 324 | rts 325 | 326 | NAMELGT=6 327 | name !pet "impo3a" 328 | 329 | driveside_end: 330 | !byte 0 331 | -------------------------------------------------------------------------------- /impossiblator_3/loader/listlogo.inc: -------------------------------------------------------------------------------- 1 | !byte 34,13,145 ; quotemode, newline, crsup 2 | !byte 32,144,162,162,162,32,162,32,164,32,162,32,162,162,162,13 3 | !byte 32,28,18,32,29,32,29,32,29,32,29,32,29,32,29,32,13 4 | !byte 32,156,18,32,162,162,29,32,184,32,184,32,29,32,162,162,13 5 | !byte 32,31,184,32,32,32,184,184,184,184,184,32,184 6 | -------------------------------------------------------------------------------- /impossiblator_3/loader/loader.a65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/loader/loader.a65 -------------------------------------------------------------------------------- /impossiblator_3/loader/loader.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/loader/loader.prg -------------------------------------------------------------------------------- /impossiblator_3/loader/loader_dev.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=1 2 | !to "loader_dev.bin",plain 3 | !source "loader.a65" 4 | -------------------------------------------------------------------------------- /impossiblator_3/loader/loader_real.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=0 2 | !to "loader.bin",plain 3 | !source "loader.a65" 4 | -------------------------------------------------------------------------------- /impossiblator_3/utils/Makefile: -------------------------------------------------------------------------------- 1 | all: prg2vizldr rlecomp 2 | 3 | prg2vizldr: prg2vizldr.c 4 | gcc -O2 -s prg2vizldr.c -o prg2vizldr 5 | 6 | rlecomp: rlecomp.c 7 | gcc -O2 -s rlecomp.c -o rlecomp 8 | 9 | clean: 10 | rm -f *~ prg2vizldr 11 | -------------------------------------------------------------------------------- /impossiblator_3/utils/blkasm.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/utils/blkasm.pl -------------------------------------------------------------------------------- /impossiblator_3/utils/prg2vizldr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/utils/prg2vizldr.c -------------------------------------------------------------------------------- /impossiblator_3/utils/rlecomp.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define RLE_ESCAPE 182 5 | #define DEBUG 6 | 7 | void rawbyte(int data) 8 | { 9 | DEBUG(stderr,"- write: %d\n",data); 10 | 11 | putchar(data); 12 | } 13 | 14 | void databyte(int data) 15 | { 16 | if(data==RLE_ESCAPE) rawbyte(data); 17 | rawbyte(data); 18 | } 19 | 20 | int main() 21 | { 22 | int count=0,data,lastbyte=-1; 23 | 24 | for(;;) 25 | { 26 | 27 | data=fgetc(stdin); 28 | if(feof(stdin)) break; 29 | 30 | DEBUG(stderr,"read: %d\n",data); 31 | 32 | if(data==lastbyte) 33 | { 34 | count++; 35 | 36 | if(count==256) { rawbyte(RLE_ESCAPE); rawbyte(count&255); count=0; } 37 | } 38 | else 39 | { 40 | if(count>0) 41 | { 42 | if( ((count<3) && (lastbyte!=RLE_ESCAPE)) || 43 | ((count<2) && (lastbyte==RLE_ESCAPE))) 44 | { 45 | for(;count;count--) databyte(lastbyte); 46 | } 47 | else 48 | { 49 | rawbyte(RLE_ESCAPE); rawbyte(count&255); count=0; 50 | } 51 | } 52 | 53 | databyte(data); 54 | lastbyte=data; 55 | } 56 | } 57 | 58 | if(count>0) { rawbyte(RLE_ESCAPE); rawbyte(count&255); } 59 | 60 | return 0; 61 | } 62 | 63 | 64 | /* 65 | 66 | ; if(data==RLE_ESCAPE) 67 | 68 | format: 69 | 70 | x = escbyte 71 | d = databyte (non-escape) 72 | 0-9 = numbers 73 | 74 | compressed uncompressed 75 | 76 | d d 77 | dx1 dd 78 | dx2 ddd 79 | dx3 dddd 80 | dx0 d*256 81 | 82 | xx x 83 | xxxx xx 84 | xxx1 xx 85 | xxxxxx xxx 86 | xxx2 xxx 87 | 88 | */ -------------------------------------------------------------------------------- /impossiblator_3/utils/vic20-40960.c2n: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/impossiblator_3/utils/vic20-40960.c2n -------------------------------------------------------------------------------- /next_level/Makefile: -------------------------------------------------------------------------------- 1 | C1541=/cygdrive/C/Program\ Files/WinVICE-1.22/c1541.exe 2 | VICE=/cygdrive/C/Program\ Files/WinVICE-1.22/xvic.exe 3 | 4 | run-full: demo.d64 5 | $(VICE) demo.d64 6 | 7 | run-single: singleversion.prg 8 | $(VICE) singleversion.prg 9 | 10 | link: 11 | c2nload -c com5 -m 20 wrk/cart.prg 12 | 13 | single-xfer: singleversion.prg 14 | c2nload -c com5 -m 20 singleversion.prg 15 | 16 | singleversion.prg: demosrc bob20.py 17 | ./bob20.py demosrc/*.asm demosrc/single/*.asm 18 | 19 | demo00.trk: demosrc demosrc/full bob20.py 20 | ./bob20.py demosrc/*.asm demosrc/full/*.asm 21 | 22 | demo.d64: bin/boot.prg demo00.trk 23 | dd if=/dev/zero of=demo.d64 bs=174848 count=1 24 | $(C1541) demo.d64 -format asm08pwp,pw 25 | $(C1541) demo.d64 -write bin/boot.prg 'the next level' 26 | $(C1541) demo.d64 -write demo00.trk 'tnl-data' 27 | 28 | bin/boot.prg: 29 | cd loader && make 30 | 31 | bs32.exe: bs32.c 32 | gcc -Os bs32.c -s -o bs32.exe -Dmain=SDL_main -I/usr/include/SDL -L/usr/lib -L/lib/mingw -lmingw32 -lSDLmain -lSDL -mno-cygwin 33 | 34 | bs32conv.exe: bs32conv.c 35 | gcc -Os bs32conv.c -o bs32conv 36 | 37 | conv: 38 | gcc -Os bs32conv.c -o bs32conv 39 | 40 | clean: 41 | rm -f *~ *.exe demosrc/*~ BUILD/* bin/boot.prg demo.d64 demo00.trk 42 | 43 | backup: clean 44 | cd .. && tar czf asm08.tar.gz asm08 && scp asm08.tar.gz viznut@low.fi:public_html/ 45 | -------------------------------------------------------------------------------- /next_level/README.md: -------------------------------------------------------------------------------- 1 | # The Next Level (2008) 2 | 3 | A trackloader demo for the Commodore VIC-20. Basically an animation streamer 4 | with a singing speech synthesizer derived from the one used in Robotic 5 | Liberation (2003). Nominated for two scene.org awards categories ("Most 6 | original concept", "Best demo on an oldskool platform"). 7 | 8 | The graphics and animations have been drawn with BS32, a "32-bit" successor 9 | of the Brickshop editor (bs32.c) and converted into an optimized streamed 10 | format with a separate tool (bs32conv.c). (Basically all s_*.asm come from 11 | the converter). 12 | 13 | The overall streaming schedule and memory/time-domain linking are handled by 14 | Bob20, a Python-based linker-builder script. Bob20 automatically keeps track 15 | of free memory areas at any given point of time. When working on Robotic 16 | Liberation, I spent too much time for doing this manually, so I decided to 17 | go for automation. 18 | 19 | https://www.pouet.net/prod.php?which=51115 20 | -------------------------------------------------------------------------------- /next_level/bs32.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/next_level/bs32.c -------------------------------------------------------------------------------- /next_level/demosrc/essentials.asm: -------------------------------------------------------------------------------- 1 | ;,; essentials 2 | 3 | ;,; <- unusable0 .pos=$0400 .sz=$0c00 4 | ;,; <- unusable1 .pos=$2000 .sz=$7400 5 | ;,; <- unusable2 .pos=$9800 .sz=$6800 6 | 7 | ;,; &- irqvector .pos=$0314 .sz=2 8 | ;,; &- nmivector .pos=$0318 .sz=2 9 | ;,; <- stackspace .pos=$01E0 .sz=32 10 | ;,; <- colmem .sz=504 .pos=$9600 11 | ;,; <- scrmem .sz=504 .pos=$1e00 12 | 13 | ;,; &- framer 14 | ;,; &- loader 15 | ;,; &- irqhandler 16 | ;,; &- voice_interrupt 17 | ;,; &- player 18 | 19 | -------------------------------------------------------------------------------- /next_level/demosrc/full/fullrun.asm: -------------------------------------------------------------------------------- 1 | 2 | ;,; loader .pos=888 .sz=136 3 | !src "loader/loader_glob.inc" 4 | 5 | ;,; loader_loop .pos=879 .sz=9 6 | ; needed only before init 7 | 8 | ;,; init 9 | ;,; <- streamvars 10 | ;,; <- ibpcaablocks 11 | ;,; <- player 12 | ;,; <- irqhandler 13 | ;,; <- irqvector 14 | ;,; <- nmivector 15 | ;,; <- keyframer_mainloop 16 | ;,; <- loader_loop 17 | ;,; <- voice_vars 18 | ;,; <- SC00_000 19 | 20 | ; FRAMEWORK TODO: 21 | ; - set interrupt 22 | 23 | init: 24 | sei 25 | ldx #$ff 26 | txs 27 | lda #8 28 | sta $900F 29 | lda #$18 30 | sta $900e 31 | 32 | lda #24+128 33 | sta $9002 34 | lda #21*2 35 | sta $9003 36 | lda #10 37 | sta $9000 38 | 39 | lda #$FC+(ibpcaablocks-$1000)/1024 40 | sta $9005 41 | 42 | ldx #0 43 | stx framectr 44 | stx lastframectr 45 | stx loopctr 46 | stx lyricsptr 47 | inx 48 | stx dontloadbefore 49 | 50 | lda #SC00_000 53 | sta stream+1 54 | lda #$01 55 | sta datamode 56 | 57 | lda #$7f 58 | sta $912e ; disable all interrupts 59 | sta $912d ; 60 | sta $911e ; disable all interrupts 61 | sta $911d 62 | 63 | lda #irqhandler_start 66 | sta irqvector+1 67 | 68 | lda #voice_interrupt_start 71 | sta nmivector+1 72 | 73 | lda #<22152 ; VIA2T1 does per-frame interrupt. 74 | sta $9126 75 | lda #>22152 76 | sta $9125 77 | 78 | lda #127 79 | .w0 cmp $9004 80 | bne .w0 81 | .w1 lda $9003 82 | bpl .w1 83 | 84 | lda #$c0 85 | ldx #$40 86 | sta $912e ; enable T1 interrupts 87 | stx $912b ; continuous T1 interrupts, PB7 disable 88 | stx $911b ; continuous T1 interrupts, PB7 disable 89 | cli 90 | 91 | jmp keyframer_mainloop 92 | -------------------------------------------------------------------------------- /next_level/demosrc/ibpcaablocks.asm: -------------------------------------------------------------------------------- 1 | ;,; ibpcaablocks .align=1024 .pos=$1400 2 | ;,; -> ch0000183C3C180000 3 | ;,; -> ch000018183C3C3C3C 4 | ;,; -> ch3C3C3C3C18180000 5 | ;,; -> ch3C3C3C3C3C3C3C3C 6 | ;,; -> ch0000F0FCFCF00000 7 | ;,; -> ch0080C0E0F0F8FCFE 8 | ;,; -> chFEFCF8F0E0C08000 9 | ;,; -> chFCFCFCFCFCFCFCFC 10 | ;,; -> ch00000F3F3F0F0000 11 | ;,; -> ch000103070F1F3F7F 12 | ;,; -> ch7F3F1F0F07030100 13 | ;,; -> ch3F3F3F3F3F3F3F3F 14 | ;,; -> ch0000FFFFFFFF0000 15 | ;,; -> ch0000FFFFFFFFFFFF 16 | ;,; -> chFFFFFFFFFFFF0000 17 | ;,; -> chFFFFFFFFFFFFFFFF 18 | ;,; -> ch0000000000000000 19 | 20 | ch0000183C3C180000=0 21 | ch000018183C3C3C3C=1 22 | ch3C3C3C3C18180000=2 23 | ch3C3C3C3C3C3C3C3C=3 24 | ch0000F0FCFCF00000=4 25 | ch0080C0E0F0F8FCFE=5 ; WHY DOES NOT FIND DUPE 26 | chFEFCF8F0E0C08000=6 27 | chFCFCFCFCFCFCFCFC=7 28 | ch00000F3F3F0F0000=8 29 | ch000103070F1F3F7F=9 30 | ch7F3F1F0F07030100=10 31 | ch3F3F3F3F3F3F3F3F=11 ; !?!? 32 | ch0000FFFFFFFF0000=12 33 | ch0000FFFFFFFFFFFF=13 34 | chFFFFFFFFFFFF0000=14 35 | chFFFFFFFFFFFFFFFF=15 36 | ch0000000000000000=16 37 | 38 | !byte %00000000 ; rlud 39 | !byte %00000000 40 | !byte %00011000 41 | !byte %00111100 42 | !byte %00111100 43 | !byte %00011000 44 | !byte %00000000 45 | !byte %00000000 46 | 47 | !byte %00000000 ; rlu- 48 | !byte %00000000 49 | !byte %00011000 50 | !byte %00011000 51 | !byte %00111100 52 | !byte %00111100 53 | !byte %00111100 54 | !byte %00111100 55 | 56 | !byte %00111100 ; rl-d 57 | !byte %00111100 58 | !byte %00111100 59 | !byte %00111100 60 | !byte %00011000 61 | !byte %00011000 62 | !byte %00000000 63 | !byte %00000000 64 | 65 | !byte %00111100 ; rl-- 66 | !byte %00111100 67 | !byte %00111100 68 | !byte %00111100 69 | !byte %00111100 70 | !byte %00111100 71 | !byte %00111100 72 | !byte %00111100 73 | 74 | !byte %00000000 ; r-ud 75 | !byte %00000000 76 | !byte %11110000 77 | !byte %11111100 78 | !byte %11111100 79 | !byte %11110000 80 | !byte %00000000 81 | !byte %00000000 82 | 83 | !byte %00000000 ; r-u- 84 | !byte %10000000 85 | !byte %11000000 86 | !byte %11100000 87 | !byte %11110000 88 | !byte %11111000 89 | !byte %11111100 90 | !byte %11111110 91 | 92 | !byte %11111110 ; r--d 93 | !byte %11111100 94 | !byte %11111000 95 | !byte %11110000 96 | !byte %11100000 97 | !byte %11000000 98 | !byte %10000000 99 | !byte %00000000 100 | 101 | !byte %11111100 ; r--- 102 | !byte %11111100 103 | !byte %11111100 104 | !byte %11111100 105 | !byte %11111100 106 | !byte %11111100 107 | !byte %11111100 108 | !byte %11111100 109 | 110 | !byte %00000000 ; -lud 111 | !byte %00000000 112 | !byte %00001111 113 | !byte %00111111 114 | !byte %00111111 115 | !byte %00001111 116 | !byte %00000000 117 | !byte %00000000 118 | 119 | !byte %00000000 ; -lu- 120 | !byte %00000001 121 | !byte %00000011 122 | !byte %00000111 123 | !byte %00001111 124 | !byte %00011111 125 | !byte %00111111 126 | !byte %01111111 127 | 128 | !byte %01111111 ; -l-d 129 | !byte %00111111 130 | !byte %00011111 131 | !byte %00001111 132 | !byte %00000111 133 | !byte %00000011 134 | !byte %00000001 135 | !byte %00000000 136 | 137 | !byte %00111111 ; -l-- 138 | !byte %00111111 139 | !byte %00111111 140 | !byte %00111111 141 | !byte %00111111 142 | !byte %00111111 143 | !byte %00111111 144 | !byte %00111111 145 | 146 | !byte %00000000 ; --ud 147 | !byte %00000000 148 | !byte %11111111 149 | !byte %11111111 150 | !byte %11111111 151 | !byte %11111111 152 | !byte %00000000 153 | !byte %00000000 154 | 155 | !byte %00000000 ; --u- 156 | !byte %00000000 157 | !byte %11111111 158 | !byte %11111111 159 | !byte %11111111 160 | !byte %11111111 161 | !byte %11111111 162 | !byte %11111111 163 | 164 | !byte %11111111 ; ---d 165 | !byte %11111111 166 | !byte %11111111 167 | !byte %11111111 168 | !byte %11111111 169 | !byte %11111111 170 | !byte %00000000 171 | !byte %00000000 172 | 173 | !byte %11111111 ; ---- 174 | !byte %11111111 175 | !byte %11111111 176 | !byte %11111111 177 | !byte %11111111 178 | !byte %11111111 179 | !byte %11111111 180 | !byte %11111111 181 | 182 | !byte %00000000 183 | !byte %00000000 184 | !byte %00000000 185 | !byte %00000000 186 | !byte %00000000 187 | !byte %00000000 188 | !byte %00000000 189 | !byte %00000000 190 | 191 | 192 | -------------------------------------------------------------------------------- /next_level/demosrc/irq.asm: -------------------------------------------------------------------------------- 1 | ;,; irqhandler 2 | ;,; <- player 3 | ;,; <- streamvars 4 | 5 | irqhandler_start: 6 | ;.w0 lda $9004 7 | ; bpl .w0 8 | lda $9124 ; akn 9 | 10 | inc $900f 11 | jsr player 12 | inc framectr 13 | 14 | dec $900f 15 | pla 16 | tay 17 | pla 18 | tax 19 | pla 20 | rti 21 | -------------------------------------------------------------------------------- /next_level/demosrc/player.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/next_level/demosrc/player.asm -------------------------------------------------------------------------------- /next_level/demosrc/s_end.asm: -------------------------------------------------------------------------------- 1 | ;,; SC99_998 .waits=2 2 | ;,; <- ibpcaablocks 3 | !src "demosrc/smac.inc" 4 | +s8bpc 5 | +sAddr $900e 6 | !byte $00,$10 7 | 8 | !byte $e4,0,ch0000000000000000 9 | !byte $e1,192 10 | 11 | ;,; SC99_999 12 | 13 | !byte $ff,$ff,$ff,$ff 14 | -------------------------------------------------------------------------------- /next_level/demosrc/s_solo.asm: -------------------------------------------------------------------------------- 1 | ;,; SC40_000 .waits=4 2 | ;,; <- ibpcaablocks 3 | ;,; <- player_ivars 4 | ;;,; <- player_songdata 5 | !src "demosrc/smac.inc" 6 | 7 | +s8bpc 8 | +sAddr chptr+2 9 | !byte $02 10 | !byte shap_start-songdata 11 | !byte melo_start-songdata;muteseq-songdata 12 | !byte muteseq-songdata;muteseq-songdata 13 | 14 | !byte $e4,2,chFFFFFFFFFFFFFFFF 15 | !byte $e1,192 16 | !byte $e4,3,chFFFFFFFFFFFFFFFF 17 | !byte $e1,192 18 | !byte $e4,2,chFFFFFFFFFFFFFFFF 19 | !byte $e1,192 20 | !byte $e4,3,chFFFFFFFFFFFFFFFF 21 | !byte $e1,192 22 | -------------------------------------------------------------------------------- /next_level/demosrc/single/singlerun.asm: -------------------------------------------------------------------------------- 1 | 2 | ;,; basic .pos=$1001 3 | ;,; <- main 4 | 5 | !zone basic 6 | basic: !word .basend,2008 7 | !byte $9e 8 | !byte $30+(main/1000) 9 | !byte $30+((main/100)%10) 10 | !byte $30+((main/10)%10) 11 | !byte $30+(main%10) 12 | !byte 0 13 | .basend !word 0 14 | 15 | ;,; main 16 | ;,; &- basic 17 | ;,; <- streamdata_wheel 18 | ;,; <- streamvars 19 | ;,; <- ibpcaablocks 20 | ;,; <- player 21 | ;,; <- irqhandler 22 | ;,; <- irqvector 23 | ;,; <- nmivector 24 | ;,; <- keyframer_mainloop 25 | 26 | ; FRAMEWORK TODO: 27 | ; - set interrupt 28 | 29 | main: 30 | sei 31 | ldx #$ff 32 | txs 33 | lda #8 34 | sta $900F 35 | sta $900e 36 | 37 | lda #24+128 38 | sta $9002 39 | lda #21*2 40 | sta $9003 41 | lda #10 42 | sta $9000 43 | 44 | lda #$FC+(ibpcaablocks-$1000)/1024 45 | sta $9005 46 | 47 | ; ldx #0 48 | ;.hip lda #7 49 | ; sta $9600,x 50 | ; sta $9700,x 51 | ; lda #15 52 | ; sta $1e00,x 53 | ; sta $1f00,x 54 | ; dex 55 | ; bne .hip 56 | 57 | lda #0 58 | sta framectr 59 | sta lastframectr 60 | sta loopctr 61 | 62 | lda #streamdata_wheel 65 | sta stream+1 66 | lda #$01 67 | sta datamode 68 | 69 | lda #$7f 70 | sta $912e ; disable all interrupts 71 | sta $912d ; 72 | sta $911e ; disable all interrupts 73 | sta $911d 74 | 75 | lda #irqhandler_start 78 | sta irqvector+1 79 | 80 | lda #voice_interrupt_start 83 | sta nmivector+1 84 | 85 | lda #<(22152-71) ; VIA2T1 does per-frame interrupt. 86 | sta $9126 87 | lda #>(22152-71) 88 | sta $9125 89 | 90 | lda #127 91 | .w0 cmp $9004 92 | bne .w0 93 | .w1 lda $9003 94 | bpl .w1 95 | 96 | lda #$c0 97 | ldx #$40 98 | sta $912e ; enable T1 interrupts 99 | stx $912b ; continuous T1 interrupts, PB7 disable 100 | ; sta $911e ; enable T1 interrupts 101 | stx $911b ; continuous T1 interrupts, PB7 disable 102 | cli 103 | 104 | ; lda #3 105 | ; sta singfreq 106 | ; lda #1 107 | ; jsr voice_sing_on 108 | 109 | jmp keyframer_mainloop 110 | -------------------------------------------------------------------------------- /next_level/demosrc/smac.inc: -------------------------------------------------------------------------------- 1 | 2 | !macro sAddrHOU .a { 3 | !byte (>.a)+$d0 4 | !byte <.a 5 | } 6 | 7 | 8 | !macro sAddr .a { 9 | !if .a<=$3ff { 10 | !byte (>.a)+$d0 11 | } else { 12 | !if .a<=$1fff { 13 | !byte (>.a)-$10+$c0 14 | } else { 15 | !byte (>.a)-$90+$d4 16 | } 17 | } 18 | !byte <.a 19 | } 20 | 21 | !macro s8bpc { 22 | !byte $e2,$00 23 | } 24 | 25 | !macro s4bpc { 26 | !byte $e2,$01 27 | } 28 | 29 | !macro s1bpc { 30 | !byte $e2,$ff 31 | } 32 | 33 | !macro sGoto .a { 34 | !byte $e0,<.a,>.a 35 | } 36 | 37 | !macro sClrscr .col,.ch { 38 | !byte $e4,.col,.ch 39 | } 40 | -------------------------------------------------------------------------------- /next_level/loader/Makefile: -------------------------------------------------------------------------------- 1 | ACME=/usr/local/bin/acme 2 | 3 | all: ../bin/boot.prg 4 | 5 | # ../bin/boot_dev.prg 6 | 7 | ../bin/boot.prg: boot_real.a65 boot.a65 loader.bin drive.bin 8 | $(ACME) boot_real.a65 9 | mv boot.prg ../bin/ 10 | 11 | ../bin/boot_dev.prg: boot_dev.a65 boot.a65 loader_dev.bin drive.bin 12 | $(ACME) boot_dev.a65 13 | mv boot_dev.prg ../bin/ 14 | 15 | loader.bin: loader_real.a65 loader.a65 16 | $(ACME) loader_real.a65 17 | 18 | loader_dev.bin: loader_dev.a65 loader.a65 19 | $(ACME) loader_dev.a65 20 | 21 | drive.bin: drive.a65 22 | $(ACME) drive.a65 23 | 24 | clean: 25 | rm -f *~ boot.prg boot_dev.prg 26 | rm -f loader.bin loader_dev.bin loader_glob.inc 27 | rm -f drive.bin drive_glob.inc 28 | -------------------------------------------------------------------------------- /next_level/loader/boot.a65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/next_level/loader/boot.a65 -------------------------------------------------------------------------------- /next_level/loader/boot_dev.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=1 2 | !to "boot_dev.prg" 3 | !source "boot.a65" 4 | -------------------------------------------------------------------------------- /next_level/loader/boot_real.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=0 2 | !to "boot.prg",cbm 3 | !source "boot.a65" 4 | -------------------------------------------------------------------------------- /next_level/loader/drive.a65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/next_level/loader/drive.a65 -------------------------------------------------------------------------------- /next_level/loader/glob.inc: -------------------------------------------------------------------------------- 1 | loader_base=879 ; 800 ; MAAH 879 ; takes 145 bytes 2 | driveside_base=$0500 3 | 4 | !zone macros 5 | !macro AXSabs .axst { 6 | !byte $8f 7 | !word .axst 8 | } 9 | 10 | !macro ASO0 .asot { 11 | !byte $07,.asot 12 | } 13 | 14 | !macro wait .clocks { ; safe with 14..80 15 | jsr wait14-(.clocks-14) 16 | } 17 | 18 | !macro nocross .length { 19 | !if ((*&255)>255-.length) { 20 | !align $ff,0 21 | } 22 | } 23 | 24 | !macro ANCI .imm { 25 | !byte $0b,.imm 26 | ; and #.imm 27 | } 28 | -------------------------------------------------------------------------------- /next_level/loader/listlogo.inc: -------------------------------------------------------------------------------- 1 | !byte 34,13,145 ; quotemode, newline, crsup 2 | !byte 32,144,162,162,162,32,162,32,164,32,162,32,162,162,162,13 3 | !byte 32,28,18,32,29,32,29,32,29,32,29,32,29,32,29,32,13 4 | !byte 32,156,18,32,162,162,29,32,184,32,184,32,29,32,162,162,13 5 | !byte 32,31,184,32,32,32,184,184,184,184,184,32,184 6 | -------------------------------------------------------------------------------- /next_level/loader/loader.a65: -------------------------------------------------------------------------------- 1 | !source "glob.inc" 2 | !sl "loader_glob.inc" 3 | ;!to "loader.bin",plain 4 | 5 | ; TODO force positioning so that it ends at $3ff 6 | ; export loader symbols, !include "loader.exp" on democode side 7 | ; rukkaile positiota vasta kun ollaan optimoitu sopivaksi 8 | 9 | *=loader_base 10 | 11 | !zone loader 12 | 13 | iecport1 = $912c ;$dd00 ;$912c 14 | dato = 32 ;32 ;32 15 | clko = 2 ;16 ;2 16 | iecport2 = $911f ;$dd00 ;$911f 17 | atno = 128 ;8 ;128 18 | clki = 1 ;64 ;1 19 | dati = 2 ;128 ;2 20 | clkf=$fd 21 | clkd=$dd 22 | 23 | loader_loop ; TODO only needed before init! 24 | ; TODO relocate to screenmem or other similar area 25 | .llp jsr loader_irq 26 | stx $900f 27 | jmp .llp 28 | 29 | loader_irq: 30 | 31 | ; ainoat erot asm03-versioon on pitempi tauko ennen kuin ruvetaan 32 | ; odottamaan uutta startbittiä, ja se, että rutiinia kutsutaan vain 33 | ; n. 20 kertaa per frame. irq:ta paiskoo latauksen aikana 34 | ; (myös kesken tämän rutiinin) ihan samalla tavalla. 35 | 36 | ;;; loader_getbits -- IDENTICAL to asm03 version ;;; 37 | 38 | lda $911f ; luettaessa on oltava DAT=hi 39 | lsr ; startbit=0. jos 1 niin mennään ohi 40 | bcs .rts ; -> bmi... 41 | 42 | ldy #clkd ; akn startbit 43 | sty $912c 44 | jsr .safewait19 45 | 46 | ldx #3 ; prepare for loop 47 | 48 | lda $911f ; load d0 49 | lsr 50 | ldy #clkf 51 | 52 | sty $912c ; akn d0 53 | ror .store ; save d0 54 | ldy #clkd 55 | jsr .safewait19 56 | lda $911f ; load d1 57 | 58 | sty $912c ; 4 akn d1 59 | .l0 lsr ; 2 60 | ror .store ; 6 save d1 d3 d5 61 | ldy #clkf ; 2 62 | jsr .safewait19 ; insert 35-18 == 19 cycles of safewait 63 | lda $911f ; 4 load d2 d4 d6 64 | 65 | sty $912c ; 4 akn d2 d4 d6 66 | lsr ; 2 67 | ror .store ; 6 save d2 d4 d6 68 | ldy #clkd ; 2 69 | jsr .safewait19 ; insert 35-18 == 19 cycles of safewait 70 | lda $911f ; 4 load d3 d5 d7 71 | 72 | sty $912c ; 4 akn d3 d5 d7 73 | dex ; 2 74 | bne .l0 ; 3 75 | 76 | ;;; stopbit 77 | 78 | jsr .safewait19 ; between d7akn and stopbitakn 79 | ldy #clkf ; akn stopbit 80 | ;jsr .safewait19 ;TESTINK 81 | sty $912c 82 | 83 | lsr 84 | lda #0 85 | .store=*-1 86 | ror ; save d7 87 | 88 | ;;; loader_eatbyte ;;; 89 | 90 | ldy #3 ; if 3..1: headermode 91 | .hdrctr=*-1 92 | beq .datamode 93 | ldx .hdrptrs-1,y 94 | sta .codebase,x 95 | dec .hdrctr 96 | bne .rts 97 | lda .datactr 98 | beq .jmpcmd 99 | .rts rts 100 | .datamode 101 | .codebase 102 | ldy #$88 103 | loader_datactr=*-1 104 | .datactr=*-1 105 | sta $8888,y 106 | .database=*-2 107 | dec .datactr 108 | beq .nexthdr 109 | rts 110 | .nexthdr 111 | ldy #3 112 | sty .hdrctr 113 | rts 114 | .jmpcmd 115 | ; pla ; don't kill jsr: we may return from called routine 116 | ; pla 117 | ldy #3 ; prepare for new block 118 | sty .hdrctr 119 | jmp (.database) 120 | .hdrptrs: 121 | !byte .database -.codebase +1 122 | !byte .database -.codebase 123 | !byte .datactr -.codebase 124 | 125 | .safewait: ; 20-12 == 8, here 9 126 | .safewait16: 127 | .safewait19: 128 | pha 129 | pla 130 | rts 131 | 132 | loader_end: 133 | 134 | ;;;;;; format: 135 | 136 | ; JMP: 00 addrlo addrhi 137 | ; jump to addr 138 | 139 | ; COPY: length addrlo addrhi byte [byte]* 140 | ; copy bytes from addr+1 on (reversed order) 141 | -------------------------------------------------------------------------------- /next_level/loader/loader_dev.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=1 2 | !to "loader_dev.bin",plain 3 | !source "loader.a65" 4 | -------------------------------------------------------------------------------- /next_level/loader/loader_real.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=0 2 | !to "loader.bin",plain 3 | !source "loader.a65" 4 | -------------------------------------------------------------------------------- /next_level/loader/start_glob.inc: -------------------------------------------------------------------------------- 1 | basic =$1001; unused 2 | mcstart =$1022; ? 3 | READST =$ffb7; unused 4 | upload_drivecode =$1034; unused 5 | sctbf =$9; unused 6 | AMOUNT =$14 7 | OPEN =$ffc0 8 | mwcmd_lgt =$6; ? 9 | iddrv0 =$12; unused 10 | loader_code =$10e4; ? 11 | via1pb =$1800; unused 12 | driveside_base =$500; unused 13 | datbf =$14; unused 14 | drivecode =$1175; ? 15 | iecport1 =$912c; unused 16 | iecport2 =$911f; unused 17 | SETLFS =$ffba 18 | SECND =$ff93; unused 19 | CLRCHN =$ffcc 20 | CIOUT =$ffa8; unused 21 | loader_lgt =$91; ? 22 | mwcmd =$10de; ? 23 | drivecode_lgt =$11c; ?; unused 24 | SETNAM =$ffbd 25 | loader_base =$36f 26 | DEVMODE =$0; unused 27 | buf =$400; unused 28 | name =$613; unused 29 | iec_out =$912c; unused 30 | LISTN =$ffb1; unused 31 | send =$5b9; unused 32 | loader_loop =$36f 33 | UNLSN =$ffae; unused 34 | atno =$80; unused 35 | iec_in =$911f; unused 36 | dato =$20; unused 37 | trkbf =$8; unused 38 | dati =$2; unused 39 | CLALL =$ffe7 40 | drive_error =$1017 41 | driveside =$500 42 | clkf =$fd; unused 43 | clkd =$dd; unused 44 | clki =$1; unused 45 | NAMELGT =$6; unused 46 | clko =$2; unused 47 | loader_datactr =$3e2; unused 48 | readsect =$579; unused 49 | RETRIES =$1e; unused 50 | id =$16; unused 51 | CHKOUT =$ffc9 52 | driveside_end =$61b 53 | via2pb =$1c00; unused 54 | loader_end =$400; unused 55 | acsbf =$1; unused 56 | IOINIT =$fdf9 57 | CHROUT =$ffd2 58 | linenum =$7d8 59 | fadecolors =$100f 60 | loader_irq =$378; unused 61 | -------------------------------------------------------------------------------- /quantum_dash/Makefile: -------------------------------------------------------------------------------- 1 | # native build. 2 | CC=gcc 3 | EXE=./quantumdash 4 | FLAGS=`sdl-config --libs --cflags` 5 | 6 | # Windows build. You probably need to change the paths etc. 7 | WINCC=i586-mingw32msvc-gcc 8 | WINFLAGS=-L../SDL-1.2.14/lib -I../SDL-1.2.14/include -static -lmingw32 ../SDL-1.2.14/lib/libSDL.a ../SDL-1.2.14/lib/libSDLmain.a -mwindows -lwinmm -s 9 | 10 | all: envcheck $(EXE) 11 | 12 | devrun: $(EXE) 13 | $(EXE) 14 | 15 | package: ../quantumdash/quantumdash.exe ../quantumdash/quantumdash-src.tar.gz 16 | cd .. && zip quantumdash.zip quantumdash/* 17 | 18 | envcheck: 19 | @sdl-config --cflags >/dev/null 2>/dev/null || echo 'Cannot run sdl-config! Install SDL dev libs maybe?' 20 | 21 | clean: 22 | rm -f *.o *~ game quantumdash fontdata.i bitmaps.i winbuild/* ../quantumdash/stderr.txt ../quantumdash/stdout.txt 23 | 24 | winrun: ../quantumdash/quantumdash.exe 25 | wine ../quantumdash/quantumdash.exe 26 | 27 | $(EXE): game.o gfx.o 28 | $(CC) -Os game.o gfx.o -o $(EXE) `sdl-config --libs` -lm 29 | 30 | ../quantumdash/quantumdash.exe: winbuild/game.o winbuild/gfx.o 31 | $(WINCC) -Os -s winbuild/game.o winbuild/gfx.o -o ../quantumdash/quantumdash.exe $(WINFLAGS) -lm 32 | 33 | winbuild/game.o: game.c 34 | $(WINCC) -c -Os game.c -o winbuild/game.o $(WINFLAGS) 35 | 36 | game.o: game.c game.h 37 | $(CC) -c -Os game.c -o game.o `sdl-config --cflags` 38 | 39 | gfx.o: gfx.c fontdata.i bitmaps.i game.h 40 | $(CC) -c -Os gfx.c -o gfx.o `sdl-config --cflags` 41 | 42 | winbuild/gfx.o: gfx.c fontdata.i game.h 43 | $(WINCC) -c -Os gfx.c -o winbuild/gfx.o $(WINFLAGS) 44 | 45 | ../quantumdash/quantumdash-src.tar.gz: clean 46 | cd .. && tar czf quantumdash/quantumdash-src.tar.gz quantumdash-src/* 47 | 48 | fontdata.i: font.pl 49 | perl font.pl > fontdata.i 50 | 51 | bitmaps.i: bitmaps.pl 52 | perl bitmaps.pl > bitmaps.i 53 | -------------------------------------------------------------------------------- /quantum_dash/README.md: -------------------------------------------------------------------------------- 1 | # Quantum Dash (2014) 2 | 3 | I seldom make games, but in 2014 I decided to participate in a gamemaking 4 | competition called Ludum Dare 30. The goal was to write a game in 48 hours 5 | based on a theme, and that year's theme was "Connected Worlds". I wanted to 6 | try what I can do in a limited amount of time, and eventually I only used 7 | about 12 hours (+8 hours for sleep) for making the game. 8 | 9 | Quantum Dash is written from scratch in C/SDL. The player moves around in a 10 | set of three grid-like parallel universes (press TAB to switch between 11 | universes) with the ability to push stones and "cords" around. Unsupported 12 | stones fall like in the classic game Boulder Dash. The goal is to move cords 13 | so that they are in the same location in each parallel universe. Glitchy 14 | sprites indicate anomalies (thing that are not there in the other 15 | universes). 16 | 17 | http://ludumdare.com/compo/ludum-dare-30/comment-page-1/?action=preview&uid=41940 18 | -------------------------------------------------------------------------------- /quantum_dash/bitmaps.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | @shape0=split("\n",<@ABC... 4 | $glyphs=< 2 | #include 3 | 4 | unsigned char fontdata[]={ 5 | #include "fontdata.i" 6 | }; 7 | 8 | unsigned char bitmaps[]={ 9 | #include "bitmaps.i" 10 | }; 11 | 12 | void drawglyph(int*d,int c,int sz,int col) 13 | { 14 | int x,y,i,j; 15 | unsigned char*s=fontdata+(5*(c-'0')); 16 | for(y=0;y<5;y++) 17 | for(x=0;x<8;x++) 18 | { 19 | if((s[y]>>(7-x))&1) 20 | { 21 | for(j=0;j ../bin/liber.rle 17 | 18 | clean: 19 | rm -f *~ TEMP*.prg 20 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/animchars.inc: -------------------------------------------------------------------------------- 1 | !byte %00000000 2 | !byte %00000000 3 | !byte %00000000 4 | !byte %00000000 5 | !byte %00000000 6 | !byte %00000000 7 | !byte %00000000 8 | !byte %00000000 9 | 10 | !byte %00000000 11 | !byte %00000000 12 | !byte %00000000 13 | !byte %11000110 14 | !byte %01101100 15 | !byte %00000000 16 | !byte %00000000 17 | !byte %00000000 18 | 19 | ;!byte %00000000 ; 000 20 | ;!byte %00000000 ; 000 21 | ;!byte %11000110 ; 121 22 | ;!byte %11101110 ; 222 23 | ;!byte %11101110 ; 222 24 | ;!byte %01101100 ; 121 25 | ;!byte %00000000 ; 000 26 | ;!byte %00000000 ; --- 27 | 28 | !byte %00000000 ; 000 29 | !byte %11000110 ; 121 30 | !byte %11101110 ; 222 31 | !byte %11101110 ; 222 32 | !byte %11101110 ; 222 33 | !byte %11101110 ; 121 34 | !byte %01101100 ; 000 35 | !byte %00000000 36 | 37 | !byte %01101100 ; 121 38 | !byte %11101110 ; 222 39 | !byte %11101110 ; 222 40 | !byte %11101110 ; 222 41 | !byte %11101110 ; 222 42 | !byte %11101110 ; 222 43 | !byte %01101100 ; 121 44 | !byte %00000000 45 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/animviewer.asm: -------------------------------------------------------------------------------- 1 | !zone animframe 2 | 3 | lda #12 4 | 5 | 6 | 7 | 8 | lda animtab,x 9 | ldy #$94 10 | lsr 11 | bcs .hup 12 | ldy #$1c 13 | .hup tax 14 | 15 | lda #0 16 | sec 17 | .l00 rol 18 | dex 19 | bne .l00 20 | 21 | pha 22 | lda $9000 23 | eor #1 24 | 25 | sta $9000 26 | lsr 27 | pla 28 | 29 | jsr animdraw 30 | rts 31 | 32 | 33 | !zone animdraw 34 | animdraw: 35 | 36 | sta .selectmask0 37 | ldx #22*4 38 | lda #$1e 39 | bcs .z1 40 | iny 41 | ldx #0 42 | lda #$1f 43 | .z1 44 | sty .srcpage0 45 | sta .destpage0 46 | sta .destpage1 47 | sta .destpage2 48 | 49 | .l0 lda #0 50 | .selectmask0=*-1 51 | and $1c00,x 52 | .srcpage0=*-1 53 | 54 | bne .c0 55 | dec $1e00,x 56 | .destpage0=*-1 57 | bne .c1 58 | .c0 59 | lda $1e00,x 60 | .destpage1=*-1 61 | cmp #5 62 | beq .c1 63 | inc $1e00,x 64 | .destpage2=*-1 65 | .c1 66 | inx 67 | bne .l0 68 | 69 | rts 70 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/army.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00 ; char $ 0 HERE PREV OLD 2 | !byte $80,$c0,$e0,$f0,$f8,$fc,$fe,$ff ; char $ 1 PREV 3 | !byte $c0,$60,$38,$0e,$18,$30,$1e,$07 ; char $ 2 PREV 4 | !byte $ff,$7f,$3f,$1f,$0f,$07,$03,$01 ; char $ 3 PREV 5 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$80 ; char $ 4 PREV 6 | !byte $00,$18,$3c,$7e,$7e,$3c,$18,$00 ; char $ 5 PREV 7 | !byte $03,$06,$0c,$06,$23,$36,$7c,$c8 ; char $ 6 PREV 8 | !byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff ; char $ 7 HERE PREV 9 | !byte $80,$c0,$60,$30,$1e,$36,$72,$c9 ; char $ 8 PREV 10 | !byte $01,$03,$07,$0f,$1f,$3f,$7f,$ff ; char $ 9 PREV 11 | !byte $01,$03,$06,$2c,$7c,$86,$ca,$91 ; char $ a PREV 12 | !byte $aa,$aa,$aa,$bf,$bf,$bf,$bf,$bf ; char $ b PREV 13 | !byte $aa,$aa,$aa,$ff,$ff,$ff,$ff,$ff ; char $ c PREV 14 | !byte $a9,$a9,$a9,$fd,$fd,$fd,$fd,$fd ; char $ d PREV 15 | !byte $bf,$bf,$bf,$bf,$bf,$bf,$bf,$bf ; char $ e PREV 16 | !byte $aa,$aa,$aa,$80,$80,$80,$80,$80 ; char $ f PREV 17 | !byte $aa,$aa,$aa,$00,$00,$00,$00,$00 ; char $10 PREV 18 | !byte $5f,$6f,$6f,$2f,$2f,$2f,$2f,$2f ; char $11 PREV 19 | !byte $55,$56,$56,$42,$42,$42,$42,$42 ; char $12 PREV 20 | !byte $fa,$fa,$fa,$f8,$f8,$f8,$f8,$f8 ; char $13 PREV 21 | !byte $55,$56,$56,$02,$02,$02,$02,$02 ; char $14 PREV 22 | !byte $fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe ; char $15 PREV 23 | !byte $80,$80,$80,$80,$80,$80,$80,$80 ; char $16 PREV 24 | !byte $af,$af,$af,$ff,$ff,$ff,$ff,$ff ; char $17 PREV 25 | !byte $2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f ; char $18 PREV 26 | !byte $bf,$bf,$bf,$bf,$bf,$aa,$aa,$aa ; char $19 PREV 27 | !byte $ff,$ff,$ff,$ff,$ff,$5f,$6f,$6f ; char $1a PREV 28 | !byte $40,$40,$40,$40,$40,$5a,$6a,$aa ; char $1b PREV 29 | !byte $00,$00,$00,$00,$00,$02,$02,$02 ; char $1c PREV 30 | !byte $2f,$2f,$2f,$2f,$2f,$af,$af,$af ; char $1d PREV 31 | !byte $42,$42,$42,$42,$42,$42,$42,$42 ; char $1e PREV 32 | !byte $f8,$f8,$f8,$f8,$f8,$f8,$f8,$f8 ; char $1f PREV 33 | !byte $00,$00,$00,$00,$00,$0a,$0a,$0a ; char $20 PREV 34 | !byte $02,$02,$02,$02,$02,$aa,$aa,$aa ; char $21 PREV 35 | !byte $00,$00,$00,$00,$00,$a9,$a5,$95 ; char $22 PREV 36 | !byte $02,$02,$02,$02,$02,$02,$02,$02 ; char $23 PREV 37 | !byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b ; char $24 PREV 38 | !byte $bd,$bd,$bd,$bd,$bd,$bd,$bd,$bd ; char $25 PREV 39 | !byte $bd,$bd,$bd,$bd,$bd,$a5,$95,$55 ; char $26 PREV 40 | !byte $fe,$fe,$fe,$fe,$fe,$aa,$aa,$aa ; char $27 PREV 41 | !byte $0b,$0b,$0b,$0b,$0b,$0a,$09,$05 ; char $28 PREV 42 | !byte $ff,$ff,$ff,$ff,$ff,$55,$56,$56 ; char $29 PREV 43 | !byte $40,$40,$40,$40,$40,$6a,$6a,$aa ; char $2a PREV 44 | !byte $00,$00,$00,$00,$00,$aa,$aa,$aa ; char $2b PREV 45 | !byte $42,$42,$42,$42,$42,$6a,$6a,$aa ; char $2c PREV 46 | !byte $f4,$f4,$f4,$f4,$f4,$f6,$f6,$fa ; char $2d PREV 47 | !byte $bf,$bf,$bf,$bf,$bf,$55,$55,$55 ; char $2e PREV 48 | !byte $ff,$ff,$ff,$ff,$ff,$aa,$aa,$aa ; char $2f PREV 49 | !byte $00,$01,$03,$07,$0f,$1f,$3f,$7f ; char $30 PREV 50 | !byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f ; char $31 PREV 51 | !byte $7f,$3f,$1f,$0f,$0f,$1f,$3f,$7f ; char $32 PREV 52 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f ; char $33 PREV 53 | !byte $80,$c0,$e0,$f0,$f0,$e0,$c0,$80 ; char $34 PREV 54 | !byte $ff,$ff,$ff,$ff,$ff,$ef,$cf,$8f ; char $35 PREV 55 | !byte $7f,$3f,$1f,$0f,$07,$03,$01,$00 ; char $36 HERE PREV 56 | !byte $7f,$7f,$7e,$7c,$78,$70,$60,$40 ; char $37 PREV 57 | !byte $ff,$ff,$7f,$3f,$1f,$0f,$07,$03 ; char $38 PREV 58 | !byte $0f,$0f,$0f,$0f,$0f,$0e,$0c,$08 ; char $39 PREV 59 | !byte $fe,$fc,$f8,$f0,$e0,$c0,$80,$00 ; char $3a PREV 60 | !byte $55,$55,$55,$55,$55,$55,$55,$55 ; char $3b HERE 61 | !byte $55,$55,$55,$55,$57,$5f,$7f,$ff ; char $3c HERE 62 | !byte $57,$5f,$7f,$ff,$ff,$ff,$ff,$ff ; char $3d HERE 63 | !byte $f5,$fd,$fb,$d8,$e8,$d8,$ea,$da ; char $3e HERE 64 | !byte $55,$55,$55,$55,$d5,$f5,$fd,$ff ; char $3f HERE 65 | !byte $d5,$f5,$fd,$ff,$ff,$ff,$ff,$ff ; char $40 HERE 66 | !byte $ea,$da,$ea,$da,$ea,$da,$ea,$da ; char $41 HERE 67 | !byte $00,$00,$24,$18,$18,$24,$00,$00 ; char $42 HERE 68 | !byte $00,$00,$00,$00,$00,$00,$00,$01 ; char $43 HERE 69 | !byte $00,$00,$00,$00,$00,$00,$7c,$fe ; char $44 HERE 70 | !byte $03,$07,$0e,$1c,$38,$33,$71,$60 ; char $45 HERE 71 | !byte $e7,$99,$3c,$3c,$3c,$18,$81,$db ; char $46 HERE 72 | !byte $80,$c0,$e0,$70,$78,$fc,$ee,$c6 ; char $47 HERE 73 | !byte $60,$e0,$c0,$c0,$c0,$c0,$e1,$63 ; char $48 HERE 74 | !byte $7f,$3f,$2e,$3c,$7c,$fc,$e6,$c3 ; char $49 HERE 75 | !byte $86,$07,$03,$03,$03,$03,$06,$06 ; char $4a HERE 76 | !byte $67,$3f,$3e,$1c,$0e,$07,$03,$00 ; char $4b HERE 77 | !byte $c3,$c3,$c3,$c3,$c3,$00,$c3,$ff ; char $4c HERE 78 | !byte $06,$0c,$1c,$38,$70,$e0,$c0,$00 ; char $4d HERE 79 | !byte $3c,$00,$00,$00,$00,$00,$00,$00 ; char $4e HERE 80 | !byte $fd,$dd,$d5,$d0,$58,$aa,$a8,$a0 ; char $4f HERE 81 | !byte $ff,$7f,$5d,$00,$00,$00,$00,$00 ; char $50 HERE 82 | !byte $ff,$ff,$55,$02,$01,$02,$01,$02 ; char $51 HERE 83 | !byte $fd,$dd,$d5,$d1,$51,$00,$00,$00 ; char $52 HERE 84 | !byte $00,$00,$ab,$ab,$ab,$ab,$00,$00 ; char $53 HERE 85 | !byte $3f,$0f,$0f,$0f,$1f,$0b,$00,$02 ; char $54 HERE 86 | !byte $00,$3e,$73,$61,$61,$73,$3e,$00 ; char $55 HERE 87 | !byte $ff,$ff,$ff,$ff,$bf,$af,$ab,$aa ; char $56 HERE 88 | !byte $ff,$ff,$ff,$ff,$fe,$fa,$ea,$aa ; char $57 HERE 89 | !byte $00,$c0,$f0,$fc,$ff,$ff,$ff,$ff ; char $58 HERE 90 | !byte $80,$41,$80,$41,$80,$41,$80,$41 ; char $59 HERE 91 | !byte $ff,$ff,$ff,$ff,$ff,$fd,$f4,$d0 ; char $5a HERE 92 | !byte $ff,$ff,$ff,$ff,$55,$01,$05,$01 ; char $5b HERE 93 | !byte $3f,$0f,$0f,$0f,$1f,$09,$00,$02 ; char $5c HERE 94 | !byte $ff,$fd,$f4,$d0,$40,$00,$00,$00 ; char $5d HERE 95 | !byte $40,$00,$00,$00,$01,$07,$1f,$7f ; char $5e HERE 96 | !byte $01,$07,$1f,$7f,$ff,$ff,$ff,$ff ; char $5f HERE 97 | !byte $38,$44,$9a,$ad,$bd,$9a,$82,$82 ; char $60 HERE 98 | !byte $3f,$40,$98,$ac,$bc,$98,$40,$3f ; char $61 HERE 99 | !byte $ff,$00,$00,$00,$00,$00,$00,$ff ; char $62 HERE 100 | !byte $ff,$08,$08,$0f,$04,$07,$04,$ff ; char $63 HERE 101 | !byte $82,$82,$82,$82,$82,$82,$82,$82 ; char $64 HERE 102 | !byte $c0,$d5,$c0,$d9,$d9,$c0,$d5,$c0 ; char $65 HERE 103 | !byte $00,$ff,$00,$6d,$6d,$00,$ff,$00 ; char $66 HERE 104 | !byte $00,$ff,$00,$db,$db,$00,$ff,$00 ; char $67 HERE 105 | !byte $82,$82,$92,$92,$ba,$aa,$aa,$ee ; char $68 HERE 106 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/army.col.inc: -------------------------------------------------------------------------------- 1 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 2 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 3 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 4 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$0f,$09,$09,$09,$09,$0e 5 | !byte $09,$09,$09,$09,$09,$09,$09,$0f,$0f,$09,$09,$09,$09,$09,$09 6 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 7 | !byte $09,$09,$09,$0f,$01,$07,$07,$07,$01,$00,$09,$09,$09,$09,$09 8 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$0f,$01 9 | !byte $07,$07,$07,$01,$00,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b 10 | !byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0f,$01,$07,$07,$07,$01,$00 11 | !byte $09,$0b,$0b,$0b,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 12 | !byte $09,$0f,$09,$0f,$0f,$07,$07,$07,$01,$00,$09,$09,$09,$09,$09 13 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$0f,$01 14 | !byte $01,$07,$09,$01,$00,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 15 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$0f,$09,$09,$09,$09,$09,$00 16 | !byte $09,$02,$09,$09,$09,$09,$09,$09,$02,$09,$09,$09,$09,$09,$09 17 | !byte $02,$09,$09,$0f,$09,$09,$09,$09,$09,$09,$09,$02,$00,$09,$09 18 | !byte $09,$09,$02,$02,$00,$09,$09,$09,$09,$02,$02,$00,$09,$0f,$09 19 | !byte $09,$09,$09,$0a,$0a,$09,$09,$09,$09,$09,$09,$09,$00,$00,$00 20 | !byte $09,$09,$09,$09,$00,$02,$09,$09,$0f,$09,$09,$09,$09,$09,$09 21 | !byte $09,$09,$00,$09,$09,$09,$09,$09,$00,$00,$09,$09,$09,$09,$09 22 | !byte $09,$00,$09,$0f,$09,$09,$09,$09,$09,$09,$0f,$00,$09,$0f,$09 23 | !byte $09,$09,$09,$00,$09,$09,$09,$09,$09,$0f,$00,$09,$09,$0f,$09 24 | !byte $09,$09,$09,$09,$09,$09,$00,$09,$09,$09,$09,$09,$09,$09,$09 25 | !byte $09,$09,$09,$0f,$09,$09,$09,$09,$0f,$09,$09,$09,$09,$09,$09 26 | !byte $00,$00,$09,$09,$09,$09,$09,$00,$00,$09,$09,$09,$09,$09,$09 27 | !byte $00,$00,$00,$00,$09,$09,$09,$09,$09,$09,$00,$00,$00,$09,$09 28 | !byte $09,$09,$09,$00,$00,$09,$09,$09,$09,$09,$09,$09,$09,$0f,$09 29 | !byte $09,$09,$09,$09,$09,$09,$00,$00,$09,$09,$09,$09,$09,$00,$00 30 | !byte $09,$09,$09,$09,$09,$00,$00,$09,$0f,$09,$09,$09,$09,$09,$09 31 | !byte $00,$00,$00,$09,$09,$09,$09,$00,$00,$00,$09,$09,$09,$09,$00 32 | !byte $00,$07,$09,$09,$09,$09,$09,$09,$09,$09,$09,$00,$00,$09,$09 33 | !byte $09,$09,$09,$00,$00,$09,$09,$09,$09,$09,$00,$00,$09,$09,$09 34 | !byte $09,$09,$09,$09,$09 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/army.ras.inc: -------------------------------------------------------------------------------- 1 | !byte $66,$6e,$61,$6e,$66,$6e,$6e,$66,$6e,$6e,$61,$6e,$6e,$6b,$63 2 | !byte $6e,$66,$e6,$ee,$ee,$66,$6e,$6e,$6e,$63,$eb,$e1,$e1,$eb,$e1 3 | !byte $e1,$61,$2b,$23,$2e,$26,$2e,$26,$2e,$2b,$2b,$2f,$21,$2b,$2e 4 | !byte $2b,$21,$21,$2b,$21,$2b,$2b,$3e,$2e,$2e,$bc,$6e,$e6,$e4,$ec 5 | !byte $ee,$e6,$ee,$6e,$be,$b6,$e0,$36,$be,$10,$36,$6e,$8e,$96,$76 6 | !byte $fe,$16,$f6,$7e,$16,$f6,$96,$8e,$ac,$a4,$84,$92,$f2,$7f,$f1 7 | !byte $1f,$1d,$f5,$15,$70,$7d,$95,$f0,$7d,$f5,$75,$75,$f0,$7d,$a5 8 | !byte $25,$a5,$e5,$b0,$ed,$b5,$e5,$e5,$b5,$e5,$bd,$e0,$bd,$e0,$b0 9 | !byte $e0,$e0,$b0,$e0,$b0,$e0,$e0,$b0,$e0,$e0,$b0,$e0,$60,$b0,$e7 10 | !byte $ef,$61,$e7,$30,$bf,$17,$30,$30,$10,$f0,$70,$f0,$a0,$a0,$20 11 | !byte $20,$a0,$a0,$b0,$b0,$30,$30,$1a,$1a,$1a 12 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/army.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b 2 | !byte $3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b 3 | !byte $3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b 4 | !byte $3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b 5 | !byte $3b,$3b,$3b,$3b,$3b,$3b,$3c,$3d,$3e,$3f,$3b,$3b,$3b,$3b,$3b 6 | !byte $3b,$3b,$3b,$3b,$3b,$3b,$3b,$3b,$3c,$3d,$40,$3f,$3b,$3b,$3c 7 | !byte $3d,$07,$07,$41,$42,$43,$44,$00,$42,$36,$3b,$3b,$3b,$3b,$3b 8 | !byte $3b,$3c,$3d,$07,$07,$07,$07,$40,$3d,$07,$07,$07,$07,$41,$00 9 | !byte $45,$46,$47,$00,$36,$3b,$3b,$3b,$3b,$3c,$3d,$07,$07,$07,$07 10 | !byte $07,$07,$07,$07,$07,$07,$07,$07,$41,$00,$48,$49,$4a,$00,$36 11 | !byte $3b,$3b,$3c,$3d,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07 12 | !byte $07,$07,$07,$41,$00,$4b,$4c,$4d,$00,$36,$3c,$3d,$07,$07,$07 13 | !byte $07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$41,$42 14 | !byte $00,$4e,$00,$42,$36,$4f,$50,$51,$07,$07,$07,$07,$4f,$50,$51 15 | !byte $07,$07,$07,$07,$52,$50,$51,$07,$41,$07,$07,$07,$40,$3f,$07 16 | !byte $00,$53,$54,$07,$07,$07,$07,$00,$53,$54,$07,$07,$07,$07,$00 17 | !byte $53,$54,$07,$41,$07,$07,$07,$07,$07,$40,$00,$55,$53,$56,$57 18 | !byte $56,$57,$00,$55,$53,$57,$56,$57,$56,$00,$55,$53,$56,$41,$57 19 | !byte $56,$57,$56,$07,$07,$00,$00,$00,$07,$07,$07,$07,$00,$00,$00 20 | !byte $07,$07,$07,$07,$00,$00,$00,$07,$41,$07,$07,$07,$07,$07,$07 21 | !byte $58,$00,$53,$07,$07,$07,$07,$58,$00,$53,$07,$07,$07,$07,$58 22 | !byte $00,$53,$07,$41,$07,$07,$07,$07,$07,$07,$07,$59,$07,$07,$5a 23 | !byte $5b,$07,$07,$59,$07,$07,$5a,$5b,$07,$07,$59,$07,$07,$41,$07 24 | !byte $07,$07,$07,$07,$07,$52,$00,$5c,$5d,$5e,$5f,$07,$52,$00,$5c 25 | !byte $5d,$5e,$5f,$07,$52,$00,$54,$07,$41,$07,$07,$07,$07,$07,$07 26 | !byte $00,$60,$00,$5f,$07,$07,$07,$00,$60,$00,$5f,$07,$07,$07,$00 27 | !byte $61,$62,$62,$63,$07,$07,$07,$07,$07,$07,$00,$64,$00,$07,$07 28 | !byte $07,$07,$00,$64,$00,$07,$07,$07,$07,$00,$00,$00,$07,$41,$07 29 | !byte $07,$07,$07,$07,$07,$65,$64,$66,$07,$07,$07,$07,$65,$64,$66 30 | !byte $07,$07,$07,$07,$65,$67,$66,$07,$41,$07,$07,$07,$07,$07,$07 31 | !byte $00,$64,$00,$07,$07,$07,$07,$00,$64,$00,$07,$07,$07,$07,$00 32 | !byte $00,$00,$07,$07,$07,$07,$07,$07,$07,$07,$65,$68,$66,$07,$07 33 | !byte $07,$07,$65,$68,$66,$07,$07,$07,$07,$65,$67,$66,$07,$07,$07 34 | !byte $07,$07,$07,$07,$07 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/bytecow.col.inc: -------------------------------------------------------------------------------- 1 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 2 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 3 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 4 | !byte $02,$02,$02,$02,$02,$02,$02,$07,$02,$02,$01,$07,$02,$02,$02 5 | !byte $02,$07,$03,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$03 6 | !byte $03,$02,$07,$03,$01,$02,$02,$02,$03,$03,$03,$03,$07,$02,$02 7 | !byte $03,$03,$03,$03,$03,$03,$01,$01,$07,$01,$01,$07,$07,$07,$03 8 | !byte $03,$03,$03,$03,$03,$02,$01,$03,$03,$03,$03,$03,$03,$03,$07 9 | !byte $01,$01,$01,$07,$07,$07,$03,$03,$03,$03,$03,$03,$02,$0f,$03 10 | !byte $03,$03,$03,$03,$03,$02,$01,$07,$03,$07,$03,$05,$03,$03,$03 11 | !byte $03,$03,$03,$03,$02,$0f,$03,$03,$03,$03,$03,$03,$02,$02,$07 12 | !byte $07,$07,$03,$03,$03,$03,$03,$03,$03,$03,$03,$02,$01,$03,$03 13 | !byte $03,$03,$03,$03,$02,$01,$01,$07,$01,$03,$01,$03,$03,$03,$03 14 | !byte $03,$03,$03,$02,$0f,$01,$03,$03,$03,$03,$03,$03,$01,$03,$07 15 | !byte $03,$03,$01,$03,$03,$03,$03,$03,$03,$03,$01,$01,$01,$01,$01 16 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 17 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 18 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 19 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 20 | !byte $09,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 21 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 22 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 23 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 24 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 25 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 26 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 27 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 28 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 29 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 30 | !byte $01,$01,$01,$01,$01 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/bytecow.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$20,$21,$0f,$0f,$0f,$0f,$0f,$0f,$0f 2 | !byte $0f,$20,$21,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$03 3 | !byte $21,$0f,$0f,$20,$21,$0f,$0f,$20,$03,$03,$21,$0f,$0f,$20,$0f 4 | !byte $0f,$20,$21,$20,$03,$03,$03,$03,$21,$20,$03,$03,$21,$20,$03 5 | !byte $03,$03,$03,$21,$20,$03,$0f,$20,$03,$03,$03,$03,$03,$03,$03 6 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$20,$03 7 | !byte $22,$0f,$0f,$0f,$0f,$23,$03,$03,$03,$24,$03,$03,$25,$03,$22 8 | !byte $0f,$0f,$0f,$0f,$23,$03,$03,$0f,$26,$0f,$0f,$0f,$0f,$03,$03 9 | !byte $03,$27,$03,$03,$27,$03,$0f,$26,$0f,$0f,$0f,$0f,$03,$03,$0f 10 | !byte $0f,$0f,$0f,$0f,$0f,$03,$03,$28,$29,$2a,$28,$29,$2a,$0f,$0f 11 | !byte $0f,$0f,$0f,$0f,$03,$03,$0f,$0f,$0f,$0f,$0f,$0f,$03,$03,$2b 12 | !byte $25,$2c,$2b,$25,$2c,$0f,$0f,$0f,$0f,$0f,$0f,$03,$03,$0f,$0f 13 | !byte $0f,$0f,$0f,$0f,$03,$03,$03,$03,$03,$03,$03,$03,$0f,$0f,$0f 14 | !byte $0f,$0f,$0f,$03,$03,$03,$2d,$2d,$2d,$2d,$03,$03,$03,$03,$03 15 | !byte $03,$03,$03,$03,$03,$2d,$2d,$2d,$2d,$03,$2d,$2d,$2d,$2d,$2d 16 | !byte $2d,$2d,$2d,$2e,$03,$22,$2f,$03,$2d,$2d,$2d,$2d,$2d,$2d,$2d 17 | !byte $2d,$2d,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03 18 | !byte $30,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$32,$33,$34 19 | !byte $35,$0f,$0f,$0f,$20,$03,$03,$30,$0f,$0f,$0f,$32,$33,$34,$35 20 | !byte $36,$0f,$0f,$0f,$37,$38,$39,$3a,$31,$21,$20,$03,$03,$03,$30 21 | !byte $0f,$0f,$0f,$37,$38,$39,$3a,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 22 | !byte $31,$03,$03,$03,$03,$03,$30,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 23 | !byte $2d,$03,$0f,$3b,$0f,$0f,$3b,$31,$03,$03,$03,$03,$03,$2d,$2d 24 | !byte $03,$30,$3b,$0f,$0f,$3b,$31,$31,$03,$0f,$3c,$0f,$0f,$3c,$31 25 | !byte $03,$03,$03,$03,$03,$30,$31,$03,$30,$3c,$0f,$0f,$3c,$31,$31 26 | !byte $03,$0f,$0f,$0f,$0f,$0f,$31,$03,$03,$03,$03,$03,$30,$31,$03 27 | !byte $30,$0f,$0f,$0f,$0f,$31,$31,$03,$2d,$2d,$03,$03,$2d,$2d,$03 28 | !byte $03,$03,$03,$03,$30,$31,$03,$2d,$2d,$03,$03,$2d,$2d,$31,$03 29 | !byte $30,$31,$03,$03,$30,$31,$03,$03,$03,$03,$03,$30,$31,$03,$30 30 | !byte $31,$03,$03,$30,$0f 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/bytepow.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$80 ; char $20 HERE 2 | !byte $ff,$7f,$3f,$1f,$0f,$07,$03,$01 ; char $21 HERE 3 | !byte $01,$03,$07,$0f,$1f,$3f,$7f,$ff ; char $22 HERE 4 | !byte $80,$c0,$e0,$f0,$f8,$fc,$fe,$ff ; char $23 HERE 5 | !byte $00,$00,$ff,$bd,$99,$81,$ff,$ff ; char $24 HERE 6 | !byte $c3,$ff,$81,$00,$00,$81,$c3,$e7 ; char $25 HERE 7 | !byte $ff,$99,$99,$9f,$9f,$99,$99,$ff ; char $26 HERE 8 | !byte $e7,$ff,$a5,$bd,$18,$18,$ff,$81 ; char $27 HERE 9 | !byte $07,$06,$06,$06,$06,$06,$06,$07 ; char $28 HERE 10 | !byte $24,$66,$e7,$e7,$c3,$99,$3c,$00 ; char $29 HERE 11 | !byte $e0,$60,$60,$60,$60,$60,$60,$e0 ; char $2a HERE 12 | !byte $07,$07,$07,$07,$07,$07,$0f,$1f ; char $2b HERE 13 | !byte $c0,$c0,$c0,$c0,$c0,$e0,$f0,$f8 ; char $2c HERE 14 | !byte $00,$ff,$00,$bb,$00,$bb,$00,$ff ; char $2d HERE 15 | !byte $00,$c0,$60,$b0,$58,$bc,$7e,$ff ; char $2e HERE 16 | !byte $df,$07,$cf,$1d,$39,$f0,$e5,$e5 ; char $2f HERE 17 | !byte $7f,$7f,$7f,$ff,$ff,$7f,$7f,$7f ; char $30 HERE 18 | !byte $fe,$fe,$fe,$ff,$ff,$ff,$fe,$fe ; char $31 HERE 19 | !byte $ff,$81,$9c,$81,$9c,$81,$ff,$ff ; char $32 HERE 20 | !byte $ff,$9c,$9c,$9c,$9c,$c0,$fc,$80 ; char $33 HERE 21 | !byte $ff,$80,$f3,$f3,$f3,$f3,$f3,$83 ; char $34 HERE 22 | !byte $ff,$80,$9c,$80,$9f,$80,$ff,$ff ; char $35 HERE 23 | !byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa ; char $36 HERE 24 | !byte $ff,$e3,$eb,$eb,$e3,$ef,$ef,$ef ; char $37 HERE 25 | !byte $ff,$1b,$5b,$5b,$5a,$5a,$5a,$18 ; char $38 HERE 26 | !byte $ff,$b0,$b7,$b7,$b3,$b7,$b7,$30 ; char $39 HERE 27 | !byte $ff,$c3,$df,$df,$df,$df,$df,$df ; char $3a HERE 28 | !byte $e7,$e7,$81,$81,$e7,$e7,$e7,$e7 ; char $3b HERE 29 | !byte $e7,$e7,$e7,$e7,$e7,$ff,$ff,$ff ; char $3c HERE 30 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/bytepow.col.inc: -------------------------------------------------------------------------------- 1 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 2 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 3 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 4 | !byte $02,$02,$02,$02,$02,$02,$02,$07,$02,$02,$01,$07,$02,$02,$02 5 | !byte $02,$07,$03,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$03 6 | !byte $03,$02,$07,$03,$01,$02,$02,$02,$03,$03,$03,$03,$07,$02,$02 7 | !byte $03,$03,$03,$03,$03,$03,$01,$01,$07,$01,$01,$07,$07,$07,$03 8 | !byte $03,$03,$03,$03,$03,$02,$01,$03,$03,$03,$03,$03,$03,$03,$07 9 | !byte $01,$01,$01,$07,$07,$07,$03,$03,$03,$03,$03,$03,$02,$0f,$03 10 | !byte $03,$03,$03,$03,$03,$02,$01,$07,$03,$07,$03,$05,$03,$03,$03 11 | !byte $03,$03,$03,$03,$02,$0f,$03,$03,$03,$03,$03,$03,$02,$02,$07 12 | !byte $07,$07,$03,$03,$03,$03,$03,$03,$03,$03,$03,$02,$01,$03,$03 13 | !byte $03,$03,$03,$03,$02,$01,$01,$07,$01,$03,$01,$03,$03,$03,$03 14 | !byte $03,$03,$03,$02,$0f,$01,$03,$03,$03,$03,$03,$03,$01,$03,$07 15 | !byte $03,$03,$01,$03,$03,$03,$03,$03,$03,$03,$01,$01,$01,$01,$01 16 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 17 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 18 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 19 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 20 | !byte $09,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 21 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 22 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 23 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 24 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 25 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 26 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 27 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 28 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 29 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 30 | !byte $01,$01,$01,$01,$01 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/bytepow.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$20,$21,$0f,$0f,$0f,$0f,$0f,$0f,$0f 2 | !byte $0f,$20,$21,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$03 3 | !byte $21,$0f,$0f,$20,$21,$0f,$0f,$20,$03,$03,$21,$0f,$0f,$20,$0f 4 | !byte $0f,$20,$21,$20,$03,$03,$03,$03,$21,$20,$03,$03,$21,$20,$03 5 | !byte $03,$03,$03,$21,$20,$03,$0f,$20,$03,$03,$03,$03,$03,$03,$03 6 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$20,$03 7 | !byte $22,$0f,$0f,$0f,$0f,$23,$03,$03,$03,$24,$03,$03,$25,$03,$22 8 | !byte $0f,$0f,$0f,$0f,$23,$03,$03,$0f,$26,$0f,$0f,$0f,$0f,$03,$03 9 | !byte $03,$27,$03,$03,$27,$03,$0f,$26,$0f,$0f,$0f,$0f,$03,$03,$0f 10 | !byte $0f,$0f,$0f,$0f,$0f,$03,$03,$28,$29,$2a,$28,$29,$2a,$0f,$0f 11 | !byte $0f,$0f,$0f,$0f,$03,$03,$0f,$0f,$0f,$0f,$0f,$0f,$03,$03,$2b 12 | !byte $25,$2c,$2b,$25,$2c,$0f,$0f,$0f,$0f,$0f,$0f,$03,$03,$0f,$0f 13 | !byte $0f,$0f,$0f,$0f,$03,$03,$03,$03,$03,$03,$03,$03,$0f,$0f,$0f 14 | !byte $0f,$0f,$0f,$03,$03,$03,$2d,$2d,$2d,$2d,$03,$03,$03,$03,$03 15 | !byte $03,$03,$03,$03,$03,$2d,$2d,$2d,$2d,$03,$2d,$2d,$2d,$2d,$2d 16 | !byte $2d,$2d,$2d,$2e,$03,$22,$2f,$03,$2d,$2d,$2d,$2d,$2d,$2d,$2d 17 | !byte $2d,$2d,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03 18 | !byte $30,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$32,$33,$34 19 | !byte $35,$0f,$0f,$0f,$20,$03,$03,$30,$0f,$0f,$0f,$32,$33,$34,$35 20 | !byte $36,$0f,$0f,$0f,$37,$38,$39,$3a,$31,$21,$20,$03,$03,$03,$30 21 | !byte $0f,$0f,$0f,$37,$38,$39,$3a,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 22 | !byte $31,$03,$03,$03,$03,$03,$30,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 23 | !byte $2d,$03,$0f,$3b,$0f,$0f,$3b,$31,$03,$03,$03,$03,$03,$2d,$2d 24 | !byte $03,$30,$3b,$0f,$0f,$3b,$31,$31,$03,$0f,$3c,$0f,$0f,$3c,$31 25 | !byte $03,$03,$03,$03,$03,$30,$31,$03,$30,$3c,$0f,$0f,$3c,$31,$31 26 | !byte $03,$0f,$0f,$0f,$0f,$0f,$31,$03,$03,$03,$03,$03,$30,$31,$03 27 | !byte $30,$0f,$0f,$0f,$0f,$31,$31,$03,$2d,$2d,$03,$03,$2d,$2d,$03 28 | !byte $03,$03,$03,$03,$30,$31,$03,$2d,$2d,$03,$03,$2d,$2d,$31,$03 29 | !byte $30,$31,$03,$03,$30,$31,$03,$03,$03,$03,$03,$30,$31,$03,$30 30 | !byte $31,$03,$03,$30,$0f 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/chars.inc: -------------------------------------------------------------------------------- 1 | 2 | 3 | !fill 8,%00000111 ; 0 4 | !fill 8,%00000011 ; 1 5 | !fill 8,%00000001 ; 2 6 | !fill 8,%00000000 ; 3 7 | 8 | !byte %00000000 ;5 9 | !byte %00000000 10 | !byte %01111110 11 | !byte %01011010 12 | !byte %01100110 13 | !byte %01100110 14 | !byte %00111110 15 | !byte %01111100 16 | 17 | !byte %00000000 ;4 18 | !byte %00000000 19 | !byte %01111110 20 | !byte %01011100 21 | !byte %01100000 22 | !byte %01100000 23 | !byte %01111000 24 | !byte %01111100 25 | 26 | !byte %00000000 ;6 27 | !byte %00000000 28 | !byte %01111110 29 | !byte %01011100 30 | !byte %01100000 31 | !byte %01100000 32 | !byte %01100000 33 | !byte %01100000 34 | 35 | !byte %00000000 ;7 36 | !byte %00000000 37 | !byte %01000010 38 | !byte %01100110 39 | !byte %01100110 40 | !byte %01100110 41 | !byte %01100110 42 | !byte %01100110 43 | 44 | !byte %00000000 ;8 45 | !byte %00000000 46 | !byte %01111110 47 | !byte %00111010 48 | !byte %00000110 49 | !byte %00000110 50 | !byte %00000110 51 | !byte %00000110 52 | 53 | !byte %00000000 ;10 54 | !byte %00000000 55 | !byte %01000010 56 | !byte %01100110 57 | !byte %01100110 58 | !byte %01100110 59 | !byte %01011010 60 | !byte %01111110 61 | 62 | !byte %00000000 ;9 63 | !byte %00000000 64 | !byte %01111110 65 | !byte %01011010 66 | !byte %01100110 67 | !byte %01100110 68 | !byte %01100110 69 | !byte %01100110 70 | 71 | !byte %00000000 ;11 72 | !byte %00000000 73 | !byte %10111010 74 | !byte %11110110 75 | !byte %11010110 76 | !byte %11010110 77 | !byte %11010110 78 | !byte %11000110 79 | 80 | !byte %00000000 ;12 81 | !byte %00000000 82 | !byte %00000010 83 | !byte %00000110 84 | !byte %00000110 85 | !byte %00000110 86 | !byte %00000110 87 | !byte %00000110 88 | 89 | !byte %00000000 ;13 90 | !byte %00000000 91 | !byte %01000000 92 | !byte %01100000 93 | !byte %01100000 94 | !byte %01100000 95 | !byte %01100000 96 | !byte %01100000 97 | 98 | !byte %00000000 ;14 99 | !byte %00000000 100 | !byte %01011000 101 | !byte %01101100 102 | !byte %01100110 103 | !byte %01100110 104 | !byte %01100110 105 | !byte %01100100 106 | 107 | !fill 8,%11111111 ;15 UNUSED 108 | 109 | ;;;;;;;;;;;;;;;;; 110 | ; 111 | ;;; ZTUFFZ 112 | ; 113 | ;;; 114 | 115 | !byte %11001100 ;16 116 | !byte %11001100 117 | !byte %11001100 118 | !byte %11001100 119 | !byte %11001100 120 | !byte %10000100 121 | !byte %00000000 122 | !byte %00000000 123 | 124 | !byte %11000110 ;17 125 | !byte %11000110 126 | !byte %11000110 127 | !byte %11000110 128 | !byte %10111010 129 | !byte %11111100 130 | !byte %00000000 131 | !byte %00000000 132 | 133 | !byte %11000000 ;18 134 | !byte %11000000 135 | !byte %11000000 136 | !byte %11000000 137 | !byte %11000000 138 | !byte %10000000 139 | !byte %00000000 140 | !byte %00000000 141 | 142 | !byte %00001100 ;19 143 | !byte %00001100 144 | !byte %00001100 145 | !byte %00001100 146 | !byte %01110100 147 | !byte %11111100 148 | !byte %00000000 149 | !byte %00000000 150 | 151 | !byte %11000000 ;20 152 | !byte %11000000 153 | !byte %11000000 154 | !byte %11000000 155 | !byte %10111000 156 | !byte %11111100 157 | !byte %00000000 158 | !byte %00000000 159 | 160 | !byte %00001100 ;21 161 | !byte %00001100 162 | !byte %00001100 163 | !byte %00001100 164 | !byte %00001100 165 | !byte %00000100 166 | !byte %00000000 167 | !byte %00000000 168 | 169 | !byte %11000110 ;22 170 | !byte %11010110 171 | !byte %11010110 172 | !byte %10011010 173 | !byte %01111100 174 | !byte %11111110 175 | !byte %00000000 176 | !byte %00000000 177 | 178 | !byte %11001100 ;23 179 | !byte %11001100 180 | !byte %11011000 181 | !byte %11110000 182 | !byte %11100000 183 | !byte %11000000 184 | !byte %00000000 185 | !byte %00000000 186 | 187 | !fill 8,%00000000 ;24 188 | !fill 8,%10000000 ;25 189 | !fill 8,%11000000 ;26 190 | !fill 8,%11100000 ;27 191 | !fill 8,%11110000 ;28 192 | !fill 8,%11111000 ;29 193 | !fill 8,%11111100 ;30 194 | !fill 8,%11111110 ;31 195 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/charview.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/allparts/charview.asm -------------------------------------------------------------------------------- /robotic_liberation/allparts/city.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00 ; char $ 0 HERE PREV OLD 2 | !byte $80,$c0,$e0,$f0,$f8,$fc,$fe,$ff ; char $ 1 HERE OLD 3 | !byte $bb,$99,$99,$ff,$bb,$99,$99,$ff ; char $ 2 HERE OLD 4 | !byte $01,$02,$04,$08,$10,$20,$40,$80 ; char $ 3 HERE OLD 5 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$80 ; char $ 4 HERE OLD 6 | !byte $ab,$af,$bf,$ff,$bf,$af,$ab,$aa ; char $ 5 HERE OLD 7 | !byte $ff,$ff,$fe,$fb,$be,$bb,$ee,$ba ; char $ 6 HERE OLD 8 | !byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff ; char $ 7 HERE PREV OLD 9 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$ff ; char $ 8 HERE OLD 10 | !byte $01,$03,$07,$0f,$1f,$3f,$7f,$ff ; char $ 9 HERE OLD 11 | !byte $00,$00,$00,$00,$00,$00,$00,$ff ; char $ a HERE OLD 12 | !byte $01,$03,$03,$13,$32,$30,$30,$20 ; char $ b HERE OLD 13 | !byte $aa,$ea,$fa,$fe,$ff,$fe,$fa,$ea ; char $ c HERE OLD 14 | !byte $80,$80,$80,$80,$be,$9c,$9c,$9c ; char $ d HERE OLD 15 | !byte $00,$00,$00,$00,$3e,$1c,$1c,$1c ; char $ e HERE OLD 16 | !byte $81,$83,$83,$93,$b2,$b0,$b0,$a0 ; char $ f HERE OLD 17 | !byte $9a,$9a,$9a,$5a,$5a,$5a,$5a,$5a ; char $10 HERE OLD 18 | !byte $9a,$9a,$5a,$5a,$5a,$5a,$5a,$5a ; char $11 HERE OLD 19 | !byte $aa,$aa,$aa,$aa,$aa,$ab,$af,$bf ; char $12 HERE OLD 20 | !byte $aa,$ab,$af,$bf,$ff,$ff,$ff,$ff ; char $13 HERE OLD 21 | !byte $01,$02,$04,$08,$10,$20,$40,$ff ; char $14 HERE OLD 22 | !byte $ff,$80,$80,$80,$80,$80,$80,$80 ; char $15 HERE OLD 23 | !byte $80,$80,$80,$80,$80,$80,$80,$80 ; char $16 HERE OLD 24 | !byte $5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a ; char $17 HERE OLD 25 | !byte $80,$80,$80,$80,$80,$80,$80,$ff ; char $18 HERE OLD 26 | !byte $55,$55,$15,$15,$15,$51,$51,$51 ; char $19 HERE OLD 27 | !byte $76,$25,$25,$04,$04,$54,$55,$75 ; char $1a HERE OLD 28 | !byte $db,$4b,$4b,$43,$43,$53,$53,$5b ; char $1b HERE OLD 29 | !byte $ff,$af,$2f,$5f,$af,$9f,$af,$bf ; char $1c HERE OLD 30 | !byte $ab,$8b,$97,$ab,$a3,$eb,$8b,$ab ; char $1d HERE OLD 31 | !byte $ff,$ea,$e2,$e5,$ea,$f8,$e2,$ea ; char $1e HERE OLD 32 | !byte $ff,$fa,$f8,$f9,$fa,$fa,$fe,$fa ; char $1f HERE OLD 33 | !byte $ff,$be,$be,$7e,$bf,$3e,$be,$be ; char $20 HERE OLD 34 | !byte $ff,$bf,$bf,$8f,$cf,$ef,$ef,$eb ; char $21 HERE OLD 35 | !byte $ab,$ab,$ef,$ef,$ef,$ef,$ef,$eb ; char $22 HERE OLD 36 | !byte $ea,$ea,$ea,$fb,$fb,$ce,$ef,$eb ; char $23 HERE OLD 37 | !byte $f8,$fa,$fa,$fa,$ee,$ce,$ef,$eb ; char $24 HERE OLD 38 | !byte $be,$be,$bb,$fb,$fb,$ba,$ff,$ff ; char $25 HERE OLD 39 | !byte $84,$3c,$3c,$3c,$3c,$3c,$3c,$84 ; char $26 HERE OLD 40 | !byte $81,$e7,$e7,$e7,$e7,$e7,$e7,$e7 ; char $27 HERE OLD 41 | !byte $33,$33,$33,$83,$f3,$33,$33,$87 ; char $28 HERE OLD 42 | !byte $ff,$03,$05,$09,$11,$21,$41,$81 ; char $29 HERE OLD 43 | !byte $bf,$af,$ab,$aa,$aa,$aa,$aa,$aa ; char $2a HERE OLD 44 | !byte $fe,$fa,$ea,$aa,$aa,$aa,$aa,$aa ; char $2b HERE OLD 45 | !byte $81,$81,$81,$81,$81,$81,$81,$81 ; char $2c HERE OLD 46 | !byte $80,$00,$be,$be,$9c,$9c,$9c,$80 ; char $2d HERE OLD 47 | !byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa ; char $2e HERE OLD 48 | !byte $ff,$00,$00,$00,$00,$00,$00,$00 ; char $2f HERE OLD 49 | !byte $01,$01,$01,$01,$01,$01,$01,$01 ; char $30 HERE OLD 50 | !byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f ; char $31 OLD 51 | !byte $7f,$3f,$1f,$0f,$0f,$1f,$3f,$7f ; char $32 OLD 52 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f ; char $33 OLD 53 | !byte $80,$c0,$e0,$f0,$f0,$e0,$c0,$80 ; char $34 OLD 54 | !byte $ff,$ff,$ff,$ff,$ff,$ef,$cf,$8f ; char $35 OLD 55 | !byte $7f,$3f,$1f,$0f,$07,$03,$01,$00 ; char $36 PREV OLD 56 | !byte $7f,$7f,$7e,$7c,$78,$70,$60,$40 ; char $37 OLD 57 | !byte $ff,$ff,$7f,$3f,$1f,$0f,$07,$03 ; char $38 OLD 58 | !byte $0f,$0f,$0f,$0f,$0f,$0e,$0c,$08 ; char $39 OLD 59 | !byte $fe,$fc,$f8,$f0,$e0,$c0,$80,$00 ; char $3a OLD 60 | !byte $55,$55,$55,$55,$55,$55,$55,$55 ; char $3b PREV 61 | !byte $55,$55,$55,$55,$57,$5f,$7f,$ff ; char $3c PREV 62 | !byte $57,$5f,$7f,$ff,$ff,$ff,$ff,$ff ; char $3d PREV 63 | !byte $f5,$fd,$fb,$d8,$e8,$d8,$ea,$da ; char $3e PREV 64 | !byte $55,$55,$55,$55,$d5,$f5,$fd,$ff ; char $3f PREV 65 | !byte $d5,$f5,$fd,$ff,$ff,$ff,$ff,$ff ; char $40 PREV 66 | !byte $ea,$da,$ea,$da,$ea,$da,$ea,$da ; char $41 PREV 67 | !byte $00,$00,$24,$18,$18,$24,$00,$00 ; char $42 PREV 68 | !byte $00,$00,$00,$00,$00,$00,$00,$01 ; char $43 PREV 69 | !byte $00,$00,$00,$00,$00,$00,$7c,$fe ; char $44 PREV 70 | !byte $03,$07,$0e,$1c,$38,$33,$71,$60 ; char $45 PREV 71 | !byte $e7,$99,$3c,$3c,$3c,$18,$81,$db ; char $46 PREV 72 | !byte $80,$c0,$e0,$70,$78,$fc,$ee,$c6 ; char $47 PREV 73 | !byte $60,$e0,$c0,$c0,$c0,$c0,$e1,$63 ; char $48 PREV 74 | !byte $7f,$3f,$2e,$3c,$7c,$fc,$e6,$c3 ; char $49 PREV 75 | !byte $86,$07,$03,$03,$03,$03,$06,$06 ; char $4a PREV 76 | !byte $67,$3f,$3e,$1c,$0e,$07,$03,$00 ; char $4b PREV 77 | !byte $c3,$c3,$c3,$c3,$c3,$00,$c3,$ff ; char $4c PREV 78 | !byte $06,$0c,$1c,$38,$70,$e0,$c0,$00 ; char $4d PREV 79 | !byte $3c,$00,$00,$00,$00,$00,$00,$00 ; char $4e PREV 80 | !byte $fd,$dd,$d5,$d0,$58,$aa,$a8,$a0 ; char $4f PREV 81 | !byte $ff,$7f,$5d,$00,$00,$00,$00,$00 ; char $50 PREV 82 | !byte $ff,$ff,$55,$02,$01,$02,$01,$02 ; char $51 PREV 83 | !byte $fd,$dd,$d5,$d1,$51,$00,$00,$00 ; char $52 PREV 84 | !byte $00,$00,$ab,$ab,$ab,$ab,$00,$00 ; char $53 PREV 85 | !byte $3f,$0f,$0f,$0f,$1f,$0b,$00,$02 ; char $54 PREV 86 | !byte $00,$3e,$73,$61,$61,$73,$3e,$00 ; char $55 PREV 87 | !byte $ff,$ff,$ff,$ff,$bf,$af,$ab,$aa ; char $56 PREV 88 | !byte $ff,$ff,$ff,$ff,$fe,$fa,$ea,$aa ; char $57 PREV 89 | !byte $00,$c0,$f0,$fc,$ff,$ff,$ff,$ff ; char $58 PREV 90 | !byte $80,$41,$80,$41,$80,$41,$80,$41 ; char $59 PREV 91 | !byte $ff,$ff,$ff,$ff,$ff,$fd,$f4,$d0 ; char $5a PREV 92 | !byte $ff,$ff,$ff,$ff,$55,$01,$05,$01 ; char $5b PREV 93 | !byte $3f,$0f,$0f,$0f,$1f,$09,$00,$02 ; char $5c PREV 94 | !byte $ff,$fd,$f4,$d0,$40,$00,$00,$00 ; char $5d PREV 95 | !byte $40,$00,$00,$00,$01,$07,$1f,$7f ; char $5e PREV 96 | !byte $01,$07,$1f,$7f,$ff,$ff,$ff,$ff ; char $5f PREV 97 | !byte $38,$44,$9a,$ad,$bd,$9a,$82,$82 ; char $60 PREV 98 | !byte $3f,$40,$98,$ac,$bc,$98,$40,$3f ; char $61 PREV 99 | !byte $ff,$00,$00,$00,$00,$00,$00,$ff ; char $62 HERE PREV 100 | !byte $ff,$08,$08,$0f,$04,$07,$04,$ff ; char $63 PREV 101 | !byte $82,$82,$82,$82,$82,$82,$82,$82 ; char $64 PREV 102 | !byte $c0,$d5,$c0,$d9,$d9,$c0,$d5,$c0 ; char $65 PREV 103 | !byte $00,$ff,$00,$6d,$6d,$00,$ff,$00 ; char $66 PREV 104 | !byte $00,$ff,$00,$db,$db,$00,$ff,$00 ; char $67 PREV 105 | !byte $82,$82,$92,$92,$ba,$aa,$aa,$ee ; char $68 PREV 106 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/city.col.inc: -------------------------------------------------------------------------------- 1 | !byte $06,$08,$08,$08,$00,$08,$08,$07,$08,$00,$00,$00,$00,$00,$00 2 | !byte $06,$06,$06,$06,$01,$01,$01,$01,$01,$01,$06,$02,$01,$01,$06 3 | !byte $00,$00,$07,$00,$00,$01,$01,$01,$06,$06,$06,$01,$01,$06,$01 4 | !byte $01,$00,$01,$00,$00,$06,$02,$00,$00,$06,$00,$00,$07,$00,$00 5 | !byte $00,$00,$06,$06,$06,$06,$01,$01,$06,$01,$01,$00,$01,$01,$02 6 | !byte $06,$02,$00,$00,$06,$00,$00,$07,$01,$00,$01,$00,$00,$00,$00 7 | !byte $06,$04,$04,$06,$01,$01,$00,$01,$01,$02,$02,$02,$00,$00,$06 8 | !byte $00,$00,$07,$00,$02,$02,$00,$00,$00,$06,$06,$00,$00,$06,$01 9 | !byte $00,$00,$02,$02,$02,$02,$02,$0f,$0f,$06,$02,$0f,$07,$0f,$02 10 | !byte $02,$02,$00,$00,$01,$01,$00,$00,$06,$00,$00,$02,$02,$02,$02 11 | !byte $02,$02,$01,$01,$02,$02,$02,$07,$02,$02,$02,$02,$00,$00,$01 12 | !byte $01,$00,$00,$06,$06,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 13 | !byte $02,$02,$02,$02,$02,$00,$00,$00,$00,$01,$01,$00,$00,$06,$06 14 | !byte $02,$02,$02,$02,$0a,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$06,$00 15 | !byte $00,$00,$00,$00,$01,$01,$01,$01,$00,$06,$02,$0a,$0a,$02,$02 16 | !byte $06,$06,$06,$06,$06,$06,$06,$06,$00,$00,$00,$00,$00,$00,$00 17 | !byte $06,$00,$00,$00,$06,$0a,$02,$02,$02,$0a,$06,$06,$06,$06,$06 18 | !byte $06,$0e,$0e,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 19 | !byte $0e,$06,$06,$06,$0a,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$00,$00 20 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0e,$06,$06,$06,$0a 21 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$00,$00,$00,$00,$00,$00,$00 22 | !byte $00,$00,$00,$00,$00,$0e,$06,$06,$06,$0a,$09,$09,$09,$09,$09 23 | !byte $09,$09,$09,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 24 | !byte $0e,$06,$06,$06,$0a,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$00,$00 25 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0e,$06,$06,$06,$0a 26 | !byte $0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a,$02,$00,$00,$00,$00,$00,$00 27 | !byte $00,$00,$00,$00,$00,$0a,$02,$02,$02,$0a,$0a,$0a,$02,$0a,$02 28 | !byte $02,$0a,$0a,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 29 | !byte $0a,$02,$02,$02,$0a,$0a,$0a,$02,$0a,$0a,$02,$02,$02,$02,$02 30 | !byte $02,$00,$00,$00,$00,$00,$00,$02,$02,$02,$0a,$0a,$0a,$02,$0a 31 | !byte $02,$02,$02,$02,$02,$02,$02,$0a,$0a,$02,$02,$02,$00,$00,$00 32 | !byte $00,$02,$02,$02,$02,$0a,$02,$02,$02,$0a,$02,$0a,$0a,$02,$02 33 | !byte $02,$02,$02,$02,$02,$02,$02,$02,$00,$00,$02,$02,$0a,$0a,$02 34 | !byte $0a,$02,$02,$02,$0a 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/city.ras.inc: -------------------------------------------------------------------------------- 1 | !byte $4e,$20,$20,$a0,$2e,$ae,$7e,$fe,$1e,$fe,$fe,$70,$7e,$a0,$2e 2 | !byte $2e,$ae,$ae,$2e,$4e,$6e,$6e,$4e,$6e,$6e,$ee,$ee,$3e,$3e,$3e 3 | !byte $be,$be,$1e,$1e,$1e,$ce,$1e,$ce,$4e,$ce,$1e,$ce,$4e,$4e,$4e 4 | !byte $ce,$4e,$4e,$ce,$6e,$ee,$ee,$6e,$ee,$ce,$45,$a8,$a5,$28,$25 5 | !byte $a8,$25,$78,$2e,$7a,$72,$f2,$72,$fc,$f4,$a4,$f4,$ae,$fe,$ee 6 | !byte $de,$5e,$de,$5e,$5e,$52,$32,$b2,$b2,$3a,$b2,$3a,$f2,$1a,$f7 7 | !byte $7a,$fa,$7c,$a0,$7e,$f6,$70,$90,$80,$80,$90,$90,$90,$12,$70 8 | !byte $f0,$10,$70,$f0,$10,$c0,$a0,$f0,$de,$56,$50,$b4,$5c,$31,$3c 9 | !byte $3c,$b1,$11,$31,$11,$3a,$1a,$1a,$da,$59,$d7,$df,$51,$df,$57 10 | !byte $fa,$70,$7a,$fa,$77,$7f,$77,$9a,$92,$9a,$f2,$7a,$97,$7a,$f7 11 | !byte $f2,$b7,$fe,$f2,$f4,$7c,$71,$74,$74,$b4 12 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/city.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 2 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 3 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 4 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 5 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 6 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$09,$01,$00 7 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 8 | !byte $00,$00,$00,$00,$00,$00,$00,$02,$02,$00,$00,$09,$01,$00,$00 9 | !byte $00,$00,$00,$09,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$09 10 | !byte $01,$09,$02,$02,$09,$01,$02,$02,$00,$00,$00,$00,$09,$07,$07 11 | !byte $00,$00,$00,$00,$09,$01,$00,$00,$09,$07,$07,$07,$02,$02,$02 12 | !byte $02,$02,$02,$09,$01,$00,$09,$07,$07,$07,$01,$09,$01,$09,$07 13 | !byte $07,$01,$09,$07,$04,$00,$00,$03,$02,$02,$02,$02,$02,$02,$02 14 | !byte $09,$07,$07,$07,$05,$06,$06,$06,$06,$06,$06,$06,$06,$08,$0a 15 | !byte $0a,$03,$0b,$02,$04,$00,$00,$00,$03,$02,$07,$05,$0c,$07,$07 16 | !byte $07,$07,$07,$07,$07,$07,$07,$07,$0d,$0e,$0e,$0f,$0b,$04,$00 17 | !byte $00,$00,$03,$0b,$02,$10,$07,$07,$07,$11,$07,$07,$07,$07,$07 18 | !byte $07,$12,$13,$0d,$0e,$0e,$0f,$14,$0a,$0a,$0a,$03,$0b,$0b,$15 19 | !byte $17,$07,$07,$07,$17,$07,$07,$07,$07,$07,$07,$07,$07,$0d,$0e 20 | !byte $0e,$0f,$0d,$0e,$0e,$0e,$0f,$0b,$0b,$18,$17,$19,$1a,$1b,$17 21 | !byte $1c,$1d,$1e,$1f,$20,$1c,$1d,$1e,$0d,$0e,$0e,$0f,$0d,$0e,$0e 22 | !byte $0e,$0f,$0b,$0b,$0d,$17,$07,$07,$07,$17,$21,$22,$23,$24,$25 23 | !byte $21,$22,$23,$0d,$0e,$0e,$0f,$0d,$0e,$0e,$0e,$0f,$0b,$14,$62 24 | !byte $17,$26,$27,$28,$17,$07,$07,$07,$07,$07,$07,$07,$07,$0d,$14 25 | !byte $62,$62,$62,$29,$0e,$0e,$0f,$0b,$0d,$0e,$17,$07,$07,$07,$17 26 | !byte $2a,$2b,$2a,$2b,$2a,$2b,$2a,$2b,$01,$0d,$0e,$0e,$0e,$2c,$0e 27 | !byte $0e,$0f,$0b,$2d,$0e,$17,$07,$07,$07,$17,$05,$0c,$07,$2e,$07 28 | !byte $07,$05,$0c,$07,$01,$0e,$0e,$0e,$2c,$0e,$0e,$0f,$0b,$0d,$0e 29 | !byte $17,$07,$07,$07,$17,$2e,$2e,$07,$05,$0c,$07,$07,$07,$07,$07 30 | !byte $01,$2f,$2f,$2f,$29,$0e,$0f,$09,$01,$09,$17,$05,$0c,$07,$17 31 | !byte $07,$07,$07,$07,$07,$07,$07,$05,$0c,$07,$07,$01,$0a,$03,$30 32 | !byte $0e,$09,$07,$07,$07,$17,$07,$07,$07,$17,$07,$05,$0c,$07,$07 33 | !byte $07,$07,$07,$07,$07,$07,$07,$01,$16,$30,$09,$07,$05,$0c,$07 34 | !byte $17,$07,$07,$07,$17 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/cube.asm: -------------------------------------------------------------------------------- 1 | cube_angle=209 2 | cube_zoom=208 3 | cube_col0=207 4 | cube_col1=206 5 | 6 | cube_exptab = $1b00-168 7 | cube_logx = $16d0 8 | cube_logy = $1b00-168-80 9 | cube_dxlo = $1b00 10 | cube_dxhi = $1b30 11 | 12 | !zone drawcube 13 | 14 | .y0=251 15 | .xlo=255 16 | .xhi=254 17 | .tmp=253 18 | 19 | drawcube: 20 | 21 | lda #0 ; angle+0 22 | .nx sta .tmp 23 | 24 | ;;; get angle 25 | 26 | lda cube_angle 27 | and #31 28 | ora .tmp 29 | cmp #17+32 30 | bpl .rts 31 | tax 32 | 33 | ;;; get parms 34 | 35 | lda cube_logy+32,x ; y1 36 | jsr .gety 37 | sta .y1 38 | 39 | lda cube_logx,x ; x 40 | clc 41 | adc cube_zoom 42 | tay 43 | lda cube_exptab,y 44 | sta .xhi 45 | 46 | lda cube_dxlo,x ; dx 47 | sta .dxlo 48 | lda cube_dxhi,x 49 | sta .dxhi 50 | 51 | ;;; get color 52 | 53 | ldy cube_col0 54 | lda .tmp 55 | clc 56 | adc cube_angle 57 | and #32 58 | bne .tsu2 59 | ldy cube_col1 60 | .tsu2 sty .color 61 | 62 | lda cube_logy,x ; y0 63 | jsr .gety 64 | tax 65 | 66 | ;;; drawside 67 | 68 | cpx #0 69 | bmi .nodraw 70 | cpx .y1 71 | bcs .nodraw 72 | 73 | .l1 clc 74 | lda .xlo 75 | adc #0 76 | .dxlo=*-1 77 | sta .xlo 78 | lda .xhi 79 | adc #0 80 | .dxhi=*-1 81 | sta .xhi 82 | 83 | sta segw,x 84 | lsr 85 | eor #$ff 86 | clc 87 | adc #128 ;128 88 | cube_xmiddle=*-1 89 | sta segs,x 90 | 91 | lda #$f0 92 | .color=*-1 93 | sta segc,x 94 | 95 | inx 96 | bmi .rts ; da final rts, no more sides after this 97 | cpx #50 98 | .y1=*-1 99 | bne .l1 100 | 101 | ;;; 102 | 103 | .nodraw ;lda .y1 104 | ;sta .y0 105 | 106 | lda .tmp ; redo, angle+32 107 | eor #32 108 | beq .rts 109 | jmp .nx 110 | .rts rts 111 | 112 | .gety 113 | lsr 114 | php 115 | clc 116 | adc cube_zoom 117 | tay 118 | lda cube_exptab,y 119 | lsr 120 | lsr 121 | plp 122 | bcc .c1 123 | eor #$ff 124 | .c1 clc 125 | adc #80 126 | cube_ymiddle=*-1 127 | rts 128 | 129 | cube_end: 130 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/endbot.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00 ; char $ 0 HERE OLD 2 | !byte $00,$00,$00,$00,$00,$00,$00,$80 ; char $ 1 HERE 3 | !byte $20,$20,$b8,$20,$20,$30,$30,$30 ; char $ 2 HERE 4 | !byte $00,$00,$00,$00,$00,$00,$80,$aa ; char $ 3 HERE 5 | !byte $00,$02,$02,$0a,$02,$02,$03,$03 ; char $ 4 HERE 6 | !byte $00,$00,$0e,$0f,$0e,$0e,$0e,$0f ; char $ 5 HERE 7 | !byte $0a,$aa,$aa,$aa,$aa,$aa,$aa,$aa ; char $ 6 HERE 8 | !byte $80,$80,$80,$80,$80,$80,$80,$80 ; char $ 7 HERE 9 | !byte $32,$32,$38,$3a,$38,$3a,$38,$3a ; char $ 8 HERE 10 | !byte $aa,$aa,$aa,$aa,$a5,$a5,$a9,$aa ; char $ 9 HERE 11 | !byte $a0,$aa,$aa,$aa,$aa,$6a,$69,$a5 ; char $ a HERE 12 | !byte $00,$00,$a0,$a0,$a0,$a0,$60,$a0 ; char $ b HERE 13 | !byte $0e,$0e,$0e,$0f,$0e,$0e,$0e,$0f ; char $ c HERE 14 | !byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa ; char $ d HERE 15 | !byte $b8,$ba,$b8,$ba,$b8,$ba,$b8,$ba ; char $ e HERE 16 | !byte $af,$a7,$a7,$a7,$a7,$a7,$a7,$27 ; char $ f HERE 17 | !byte $aa,$eb,$e7,$a7,$a7,$a7,$e7,$e7 ; char $10 HERE 18 | !byte $a0,$e0,$e0,$a0,$a0,$a0,$e0,$e0 ; char $11 HERE 19 | !byte $0e,$0f,$0e,$0e,$0e,$0f,$0f,$03 ; char $12 HERE 20 | !byte $aa,$aa,$aa,$aa,$aa,$0a,$00,$00 ; char $13 HERE 21 | !byte $80,$80,$80,$80,$80,$80,$00,$00 ; char $14 HERE 22 | !byte $9a,$9a,$96,$96,$96,$96,$a6,$9a ; char $15 HERE 23 | !byte $a5,$25,$aa,$2a,$aa,$2a,$a9,$29 ; char $16 HERE 24 | !byte $65,$65,$aa,$aa,$aa,$9a,$99,$99 ; char $17 HERE 25 | !byte $60,$60,$a0,$a0,$a0,$a0,$a0,$a0 ; char $18 HERE 26 | !byte $3b,$2b,$2b,$2b,$ea,$ea,$fa,$fe ; char $19 HERE 27 | !byte $96,$aa,$a6,$aa,$aa,$aa,$aa,$aa ; char $1a HERE 28 | !byte $a9,$29,$a9,$29,$aa,$2a,$aa,$2a ; char $1b HERE 29 | !byte $99,$99,$99,$aa,$aa,$aa,$aa,$a5 ; char $1c HERE 30 | !byte $a0,$a0,$a0,$a0,$a0,$a0,$a0,$50 ; char $1d HERE 31 | !byte $00,$02,$02,$0a,$0a,$2a,$2a,$aa ; char $1e HERE 32 | !byte $af,$aa,$aa,$aa,$ae,$af,$af,$be ; char $1f HERE 33 | !byte $2a,$29,$29,$29,$25,$25,$15,$15 ; char $20 HERE 34 | !byte $55,$55,$55,$55,$55,$57,$5d,$77 ; char $21 HERE 35 | !byte $55,$55,$55,$55,$55,$55,$d4,$40 ; char $22 HERE 36 | !byte $50,$52,$52,$5a,$5a,$6a,$2a,$aa ; char $23 HERE 37 | !byte $aa,$aa,$aa,$aa,$ab,$ab,$af,$af ; char $24 HERE 38 | !byte $b2,$b2,$f2,$f2,$c2,$c2,$02,$02 ; char $25 HERE 39 | !byte $00,$00,$00,$00,$00,$00,$0a,$aa ; char $26 HERE 40 | !byte $5d,$77,$5f,$7f,$5f,$7f,$5f,$7f ; char $27 HERE 41 | !byte $c0,$c2,$c2,$c2,$ea,$ea,$ea,$ea ; char $28 HERE 42 | !byte $aa,$aa,$aa,$aa,$aa,$aa,$ab,$ab ; char $29 HERE 43 | !byte $af,$bc,$bc,$bc,$f0,$f0,$f0,$c0 ; char $2a HERE 44 | !byte $02,$02,$02,$02,$02,$02,$02,$02 ; char $2b HERE 45 | !byte $00,$00,$00,$02,$02,$0a,$0a,$0a ; char $2c HERE 46 | !byte $aa,$aa,$aa,$6a,$6a,$9a,$9a,$9a ; char $2d HERE 47 | !byte $bf,$af,$aa,$aa,$aa,$aa,$aa,$aa ; char $2e HERE 48 | !byte $ea,$aa,$aa,$aa,$aa,$aa,$aa,$aa ; char $2f HERE 49 | !byte $ab,$af,$af,$bf,$bc,$bc,$fc,$f0 ; char $30 HERE 50 | !byte $c0,$00,$00,$00,$00,$00,$00,$00 ; char $31 HERE 51 | !byte $02,$02,$02,$02,$00,$03,$00,$00 ; char $32 HERE 52 | !byte $00,$c0,$00,$80,$80,$80,$80,$80 ; char $33 HERE 53 | !byte $2a,$2a,$2a,$aa,$aa,$aa,$a9,$a9 ; char $34 HERE 54 | !byte $ae,$af,$af,$af,$6f,$5e,$7e,$9e ; char $35 HERE 55 | !byte $aa,$aa,$fa,$bf,$bb,$fb,$fb,$ef ; char $36 HERE 56 | !byte $ab,$af,$bb,$fb,$be,$be,$bf,$ef ; char $37 HERE 57 | !byte $f0,$c0,$c0,$c0,$c0,$c0,$c0,$c0 ; char $38 HERE 58 | !byte $a9,$a9,$a5,$a6,$a5,$a6,$99,$96 ; char $39 HERE 59 | !byte $7f,$9f,$7f,$df,$7f,$df,$7f,$df ; char $3a HERE 60 | !byte $ef,$ff,$ff,$ff,$ff,$ff,$ff,$ff ; char $3b HERE 61 | !byte $c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0 ; char $3c HERE 62 | !byte $58,$54,$a4,$a8,$a8,$a8,$a8,$aa ; char $3d HERE 63 | !byte $7f,$df,$7f,$df,$7f,$df,$7f,$df ; char $3e HERE 64 | !byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff ; char $3f HERE 65 | !byte $c0,$c0,$c0,$c0,$c0,$00,$00,$00 ; char $40 HERE 66 | !byte $aa,$aa,$aa,$aa,$6a,$6a,$2a,$2a ; char $41 HERE 67 | !byte $3f,$1f,$3f,$9f,$bf,$9f,$bd,$ad ; char $42 HERE 68 | !byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f ; char $43 HERE 69 | !byte $1a,$1a,$0a,$0a,$0a,$06,$06,$02 ; char $44 HERE 70 | !byte $a5,$a5,$a5,$a7,$a7,$97,$97,$95 ; char $45 HERE 71 | !byte $7f,$7f,$7f,$ff,$ff,$ff,$ff,$7f ; char $46 HERE 72 | !byte $02,$01,$01,$00,$00,$00,$00,$00 ; char $47 HERE 73 | !byte $95,$95,$95,$b5,$3f,$3f,$3f,$3f ; char $48 HERE 74 | !byte $7f,$7f,$7f,$7f,$ff,$ff,$ff,$ff ; char $49 HERE 75 | !byte $ea,$fa,$fa,$fa,$fa,$fa,$fa,$fa ; char $4a HERE 76 | !byte $ff,$af,$a2,$ae,$af,$af,$af,$af ; char $4b HERE 77 | !byte $fa,$aa,$aa,$aa,$aa,$ea,$fa,$fe ; char $4c HERE 78 | !byte $00,$80,$a0,$a8,$aa,$aa,$aa,$aa ; char $4d HERE 79 | !byte $00,$00,$00,$00,$00,$80,$a0,$a8 ; char $4e HERE 80 | !byte $fa,$fa,$fa,$fa,$fa,$3a,$3a,$3a ; char $4f HERE 81 | !byte $af,$af,$a3,$a0,$a0,$a0,$a0,$a0 ; char $50 HERE 82 | !byte $ff,$ff,$ff,$ff,$3f,$0f,$0f,$03 ; char $51 HERE 83 | !byte $aa,$ea,$fa,$fe,$ff,$ff,$fd,$fd ; char $52 HERE 84 | !byte $aa,$aa,$aa,$a5,$95,$5f,$7f,$5f ; char $53 HERE 85 | !byte $00,$80,$40,$40,$c0,$c0,$c0,$c0 ; char $54 HERE 86 | !byte $3a,$3e,$3e,$3e,$3e,$3e,$0e,$0e ; char $55 HERE 87 | !byte $a0,$a8,$a8,$a8,$a8,$a8,$a8,$a8 ; char $56 HERE 88 | !byte $03,$00,$00,$00,$00,$00,$00,$00 ; char $57 HERE 89 | !byte $fd,$fd,$fd,$3d,$3f,$0f,$0f,$03 ; char $58 HERE 90 | !byte $5f,$55,$55,$5a,$6a,$ea,$ea,$ea ; char $59 HERE 91 | !byte $40,$40,$80,$80,$80,$80,$80,$80 ; char $5a HERE 92 | !byte $0e,$0e,$0e,$0e,$0e,$0e,$3e,$3e ; char $5b HERE 93 | !byte $a8,$a8,$a8,$a8,$a8,$a8,$a8,$a8 ; char $5c HERE 94 | !byte $03,$00,$03,$03,$03,$03,$03,$03 ; char $5d HERE 95 | !byte $ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea ; char $5e HERE 96 | !byte $00,$00,$03,$03,$0f,$0f,$3f,$3f ; char $5f HERE 97 | !byte $fe,$fe,$fd,$fd,$fe,$f6,$e5,$a9 ; char $60 HERE 98 | !byte $a8,$a8,$68,$58,$94,$a4,$a8,$68 ; char $61 HERE 99 | !byte $03,$03,$03,$03,$0f,$0f,$0f,$0f ; char $62 HERE 100 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/endbot.col.inc: -------------------------------------------------------------------------------- 1 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0a,$0f,$0f,$0f,$0f,$0f,$0f 2 | !byte $0f,$0f,$0f,$00,$00,$00,$00,$0f,$09,$09,$0f,$0f,$0f,$09,$09 3 | !byte $09,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$00,$00,$00,$00,$0f 4 | !byte $0b,$09,$09,$09,$0f,$09,$09,$09,$0f,$0f,$0f,$0f,$0f,$0f,$0f 5 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0b,$09,$09,$09,$0f,$09,$09,$09 6 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0b,$0b 7 | !byte $09,$09,$09,$0b,$0f,$09,$09,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 8 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0b,$09,$09,$09,$0b,$0b,$09,$0f,$0f 9 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$00,$00,$00,$00,$0f,$0b,$0f 10 | !byte $0f,$0b,$0b,$0b,$09,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 11 | !byte $00,$00,$00,$00,$0f,$0b,$0f,$0b,$0b,$0b,$0b,$09,$0f,$0f,$0f 12 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0b,$0b,$0b,$0b 13 | !byte $0b,$0b,$0b,$0b,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 14 | !byte $0f,$0f,$0f,$0b,$0b,$0b,$0b,$0b,$0b,$0f,$0b,$0f,$0f,$0f,$0f 15 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0b,$0b,$0f,$0f,$0b 16 | !byte $0f,$0f,$0b,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$01,$01 17 | !byte $01,$01,$0b,$0b,$0f,$0f,$0b,$0b,$0b,$0b,$01,$0f,$0f,$0f,$0f 18 | !byte $0f,$0f,$0f,$01,$01,$01,$01,$01,$01,$0b,$0b,$0f,$0f,$0b,$0b 19 | !byte $0f,$0b,$0b,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 20 | !byte $01,$0b,$0b,$0f,$0f,$0b,$0b,$0f,$0b,$0b,$01,$01,$01,$01,$01 21 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$0b,$0b,$0f,$0f,$0b,$0b,$0f 22 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 23 | !byte $01,$0f,$0f,$0f,$0f,$0f,$0f,$01,$01,$01,$01,$01,$01,$01,$01 24 | !byte $01,$01,$01,$01,$01,$01,$01,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$01 25 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0f 26 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$01,$01,$01,$01,$01,$01,$01,$01,$01 27 | !byte $01,$01,$01,$01,$01,$01,$01,$0f,$0f,$0f,$0f,$0f,$0f,$01,$01 28 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0f,$0f 29 | !byte $0f,$0f,$0f,$0f,$0f,$01,$01,1,1,1,1,1,1,1 30 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/endbot.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$00 2 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$02,$03,$04,$00,$00,$05,$06 3 | !byte $07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 4 | !byte $08,$09,$0a,$0b,$00,$0c,$0d,$07,$00,$00,$00,$00,$00,$00,$00 5 | !byte $00,$00,$00,$00,$00,$00,$00,$0e,$0f,$10,$11,$00,$12,$13,$14 6 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$15 7 | !byte $16,$17,$18,$00,$19,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 8 | !byte $00,$00,$00,$00,$00,$00,$1a,$1b,$1c,$1d,$1e,$1f,$00,$00,$00 9 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20,$21 10 | !byte $22,$23,$24,$25,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 11 | !byte $00,$00,$00,$00,$00,$26,$27,$28,$29,$2a,$2b,$00,$00,$00,$00 12 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$2c,$2d,$2e,$2f 13 | !byte $30,$31,$32,$33,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 14 | !byte $00,$00,$00,$34,$35,$36,$37,$38,$00,$00,$07,$00,$00,$00,$00 15 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$39,$3a,$3b,$3b,$3c 16 | !byte $00,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 17 | !byte $00,$00,$3d,$3e,$3f,$3f,$40,$00,$00,$07,$00,$00,$00,$00,$00 18 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$41,$42,$43,$3f,$00,$00 19 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 20 | !byte $00,$44,$45,$46,$3f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 21 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$47,$48,$49,$3f,$00,$00,$00 22 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 23 | !byte $00,$4a,$4b,$4c,$4d,$4e,$00,$00,$00,$00,$00,$00,$00,$00,$00 24 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$4f,$50,$51,$52,$53,$54,$00 25 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 26 | !byte $55,$56,$57,$58,$59,$5a,$00,$00,$00,$00,$00,$00,$00,$00,$00 27 | !byte $00,$00,$00,$00,$00,$00,$00,$5b,$5c,$00,$5d,$5e,$07,$00,$00 28 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5f,$60 29 | !byte $61,$00,$62,$5e,$07,$00,$00,$00,0,0,0,0,0,0,0 30 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/king.col.inc: -------------------------------------------------------------------------------- 1 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$00,$00,$00 2 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0f,$00,$00,$00,$00 3 | !byte $00,$0b,$00,$00,$00,$0b,$0b,$0b,$0b,$00,$00,$00,$00,$00,$00 4 | !byte $00,$00,$00,$00,$00,$0f,$00,$00,$0f,$0a,$0a,$0a,$0a,$0a,$0b 5 | !byte $0b,$0b,$0b,$0b,$0b,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 6 | !byte $0f,$0f,$0f,$0f,$0a,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b 7 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$09,$0a 8 | !byte $0f,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0f,$0f,$0f,$0f,$0f 9 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$09,$0a,$09,$09,$09,$0b,$0f 10 | !byte $0f,$0b,$0f,$0f,$0b,$09,$09,$00,$00,$00,$00,$00,$00,$0f,$0f 11 | !byte $0f,$0f,$0f,$09,$0a,$0f,$0f,$0b,$0b,$0f,$0f,$0b,$0f,$0f,$0b 12 | !byte $0b,$09,$00,$00,$00,$00,$00,$00,$00,$00,$0f,$0f,$0f,$0a,$0a 13 | !byte $0f,$0f,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$09,$09,$0f,$0f,$0f 14 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0a,$0a,$0b,$0f,$0b,$0b,$0b 15 | !byte $0b,$0b,$0b,$0b,$0b,$0b,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 16 | !byte $0f,$0f,$0f,$0a,$0a,$0b,$0b,$0b,$0b,$0b,$0f,$0b,$0f,$0f,$0b 17 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0a,$0a 18 | !byte $0b,$0f,$0f,$0b,$0f,$0f,$0b,$0f,$0f,$0b,$0f,$0f,$01,$01,$01 19 | !byte $01,$01,$01,$01,$01,$0f,$0f,$0f,$0a,$0a,$0b,$0f,$0f,$09,$0f 20 | !byte $0b,$0b,$0b,$0f,$0b,$0f,$0f,$01,$01,$01,$01,$01,$01,$01,$01 21 | !byte $0f,$01,$0f,$0a,$0a,$0b,$0f,$0f,$0f,$0f,$0b,$0f,$0b,$0f,$0b 22 | !byte $0f,$01,$01,$01,$01,$01,$01,$01,$01,$0f,$0f,$0f,$0f,$0a,$0a 23 | !byte $09,$09,$09,$0f,$0f,$09,$0a,$09,$0f,$09,$09,$0f,$01,$01,$01 24 | !byte $01,$01,$01,$01,$01,$0f,$0f,$0f,$0a,$0a,$09,$09,$0f,$0f,$0f 25 | !byte $09,$0a,$09,$0f,$0b,$09,$0a,$09,$01,$01,$01,$01,$01,$01,$01 26 | !byte $0f,$0f,$0f,$09,$0a,$09,$09,$09,$0f,$09,$0a,$0a,$09,$0b,$0b 27 | !byte $0b,$09,$09,$09,$09,$01,$01,$01,$01,$01,$01,$01,$09,$09,$0a 28 | !byte $09,$09,$09,$0f,$09,$09,$09,$09,$09,$09,$0a,$0a,$09,$09,$09 29 | !byte $09,$09,$01,$01,$01,$01,$01,$09,$0a,$0a,$0a,$09,$0a,$0a,$09 30 | !byte $09,$09,$09,$09,$0b,$0a,$0a,$01,$01,$01,$01,$09,$01,$01,$01 31 | !byte $01,$01,$01,$0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a 32 | !byte $0a,$0a,$01,$01,$01,$01,$09,$01,$01,$01,$01,$01,$01,$01,$0a 33 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 34 | !byte $01,$01,$01,$01,$01 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/king.ras.inc: -------------------------------------------------------------------------------- 1 | !byte $6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$ee,$6e,$ee,$6e,$ee,$ee 2 | !byte $6e,$e0,$63,$e4,$b4,$e5,$e5,$e7,$d7,$e0,$da,$e2,$c2,$d2,$f2 3 | !byte $d2,$f2,$fe,$f1,$ff,$f7,$f2,$a0,$f0,$a0,$f2,$a2,$a2,$a2,$a2 4 | !byte $a2,$a2,$92,$a2,$72,$a2,$72,$72,$a2,$72,$72,$72,$72,$72,$92 5 | !byte $72,$92,$72,$72,$92,$72,$92,$92,$92,$a2,$92,$a2,$92,$c2,$22 6 | !byte $42,$22,$a2,$22,$92,$22,$22,$22,$22,$02,$22,$22,$22,$02,$02 7 | !byte $22,$22,$02,$42,$02,$42,$2a,$4a,$0a,$4a,$2a,$4a,$ea,$6a,$63 8 | !byte $ea,$6a,$ea,$6a,$6a,$6a,$0a,$0a,$6a,$6a,$6a,$0a,$6a,$6a,$6e 9 | !byte $6e,$6e,$6e,$6e,$0e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e 10 | !byte $6e,$6e,$6e,$6e,$0e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e,$6e 11 | !byte $6e,$6e,$6e,$6e,$6e,$0e,$0e,$0e,$6e,$6e 12 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/king.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 2 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 3 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 4 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$31 5 | !byte $32,$33,$34,$35,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 6 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$36,$37,$38,$39,$3a,$00 7 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 8 | !byte $00,$00,$00,$00,$3c,$3d,$3e,$3f,$40,$00,$00,$00,$00,$00,$00 9 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$41 10 | !byte $42,$43,$42,$44,$00,$45,$46,$00,$00,$00,$00,$00,$00,$00,$00 11 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$47,$42,$48,$42,$47,$49 12 | !byte $4a,$4b,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 13 | !byte $00,$00,$00,$00,$4c,$4d,$4e,$4f,$50,$51,$00,$00,$00,$00,$00 14 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$52,$53 15 | !byte $54,$55,$56,$57,$58,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 16 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$59,$5a,$42,$5b,$42,$5a,$00 17 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 18 | !byte $00,$00,$00,$5c,$47,$42,$5d,$42,$47,$00,$00,$00,$00,$00,$00 19 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5e,$47 20 | !byte $5f,$60,$61,$47,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 21 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$63,$2e,$3b,$2e,$63,$00 22 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 23 | !byte $00,$00,$00,$00,$64,$2e,$4a,$2e,$64,$65,$00,$00,$00,$00,$00 24 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$65,$00,$00,$00,$66 25 | !byte $2e,$51,$2e,$66,$67,$65,$4a,$00,$00,$00,$00,$00,$00,$00,$00 26 | !byte $00,$00,$00,$00,$00,$67,$00,$00,$00,$00,$4a,$00,$00,$00,$00 27 | !byte $67,$68,$69,$6a,$00,$00,$00,$00,$00,$00,$00,$00,$65,$00,$00 28 | !byte $00,$65,$00,$00,$65,$00,$68,$69,$6a,$00,$6b,$00,$6c,$00,$00 29 | !byte $00,$00,$00,$00,$00,$00,$00,$67,$6d,$45,$00,$67,$6d,$6d,$67 30 | !byte $00,$00,$6c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 31 | !byte $00,$00,$00,$4a,$00,$00,$00,$00,$00,$00,$00,$00,$00,$51,$00 32 | !byte $4a,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 33 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 34 | !byte $00,$00,$00,$00,$00 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/kitt.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $c0,$60,$60,$30,$30,$18,$18,$18 ; char $20 HERE 2 | !byte $03,$03,$06,$06,$0c,$0c,$18,$18 ; char $21 HERE 3 | !byte $18,$18,$18,$18,$18,$18,$18,$18 ; char $22 HERE 4 | !byte $0f,$1a,$0f,$00,$0f,$1a,$0f,$00 ; char $23 HERE 5 | !byte $f0,$a8,$f0,$00,$f0,$a8,$f0,$00 ; char $24 HERE 6 | !byte $ff,$00,$00,$00,$00,$00,$00,$00 ; char $25 HERE 7 | !byte $80,$40,$20,$10,$08,$04,$02,$01 ; char $26 HERE 8 | !byte $3f,$7f,$ff,$ff,$a8,$8a,$88,$aa ; char $27 HERE 9 | !byte $fc,$fe,$ff,$ff,$89,$d9,$db,$d9 ; char $28 HERE 10 | !byte $fc,$fe,$fc,$02,$07,$07,$07,$07 ; char $29 HERE 11 | !byte $ff,$ff,$ff,$7f,$3f,$00,$00,$00 ; char $2a HERE 12 | !byte $ff,$ff,$ff,$fe,$fc,$00,$00,$00 ; char $2b HERE 13 | !byte $0f,$1f,$0f,$00,$0f,$1f,$0f,$00 ; char $2c HERE 14 | !byte $f0,$f8,$f0,$00,$f0,$f8,$f0,$00 ; char $2d HERE 15 | !byte $07,$07,$07,$a2,$08,$a0,$02,$07 ; char $2e HERE 16 | !byte $07,$07,$07,$07,$07,$f7,$fa,$f0 ; char $2f HERE 17 | !byte $00,$00,$00,$00,$00,$fc,$fc,$fc ; char $30 HERE 18 | !byte $01,$02,$04,$08,$10,$20,$40,$80 ; char $31 HERE 19 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/kitt.col.inc: -------------------------------------------------------------------------------- 1 | !byte $01,$03,$0f,$0f,$0f,$0e,$03,$01,$07,$06,$06,$03,$03,$03,$03 2 | !byte $03,$03,$03,$01,$01,$01,$01,$01,$0f,$0e,$0e,$0c,$0f,$03,$01 3 | !byte $07,$06,$06,$06,$02,$03,$01,$01,$01,$03,$07,$02,$01,$01,$01 4 | !byte $01,$01,$01,$01,$01,$03,$03,$07,$07,$06,$02,$02,$02,$02,$02 5 | !byte $02,$03,$07,$0f,$01,$01,$03,$03,$03,$03,$03,$01,$05,$03,$07 6 | !byte $07,$06,$02,$02,$02,$02,$02,$02,$03,$07,$07,$01,$01,$02,$05 7 | !byte $02,$03,$03,$01,$05,$05,$07,$07,$06,$02,$02,$02,$02,$02,$02 8 | !byte $03,$07,$07,$01,$01,$02,$05,$02,$0f,$03,$01,$01,$06,$07,$07 9 | !byte $06,$02,$02,$02,$02,$02,$02,$03,$07,$07,$01,$01,$02,$02,$02 10 | !byte $02,$03,$01,$01,$06,$07,$07,$06,$02,$02,$02,$02,$02,$02,$03 11 | !byte $07,$07,$01,$01,$05,$05,$05,$07,$03,$07,$07,$06,$07,$07,$06 12 | !byte $02,$02,$02,$02,$02,$02,$03,$07,$07,$01,$01,$07,$07,$07,$07 13 | !byte $03,$07,$07,$06,$02,$02,$06,$02,$02,$02,$02,$02,$02,$03,$0e 14 | !byte $00,$01,$01,$07,$05,$07,$05,$03,$07,$01,$05,$02,$02,$06,$02 15 | !byte $02,$02,$02,$02,$02,$03,$02,$02,$01,$01,$07,$07,$07,$01,$03 16 | !byte $07,$01,$03,$02,$02,$06,$02,$02,$02,$02,$02,$02,$03,$02,$02 17 | !byte $01,$01,$07,$01,$01,$01,$03,$07,$03,$03,$06,$06,$06,$02,$02 18 | !byte $02,$02,$02,$02,$03,$01,$01,$01,$01,$07,$01,$01,$01,$01,$07 19 | !byte $03,$03,$02,$02,$06,$02,$01,$02,$02,$02,$02,$05,$02,$02,$01 20 | !byte $01,$01,$01,$01,$01,$01,$03,$01,$01,$02,$02,$06,$03,$03,$03 21 | !byte $03,$03,$03,$05,$02,$02,$01,$01,$06,$06,$06,$06,$06,$03,$06 22 | !byte $01,$06,$06,$06,$02,$01,$01,$01,$03,$01,$06,$01,$01,$01,$01 23 | !byte $01,$01,$01,$06,$01,$06,$06,$01,$02,$02,$06,$06,$06,$06,$06 24 | !byte $06,$06,$06,$02,$02,$01,$01,$01,$01,$01,$01,$01,$01,$06,$01 25 | !byte $02,$02,$06,$06,$02,$02,$02,$02,$02,$06,$02,$02,$01,$01,$01 26 | !byte $01,$01,$01,$01,$01,$06,$01,$01,$01,$06,$06,$06,$06,$06,$06 27 | !byte $06,$06,$02,$01,$01,$01,$01,$01,$01,$01,$01,$01,$06,$06,$06 28 | !byte $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$01,$01,$01,$01 29 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 30 | !byte $06,$01,$01,$01,$01 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/kitt.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $03,$03,$03,$03,$03,$03,$03,$1a,$03,$03,$1a,$03,$03,$03,$03 2 | !byte $03,$03,$01,$03,$03,$01,$03,$03,$03,$03,$03,$03,$03,$03,$1a 3 | !byte $03,$03,$20,$03,$03,$03,$03,$03,$03,$21,$03,$03,$01,$03,$03 4 | !byte $03,$03,$03,$03,$03,$03,$1a,$03,$03,$22,$03,$03,$23,$24,$03 5 | !byte $03,$22,$03,$03,$01,$03,$25,$25,$25,$25,$26,$03,$03,$1a,$27 6 | !byte $28,$22,$23,$24,$23,$24,$23,$24,$22,$27,$28,$01,$03,$29,$03 7 | !byte $03,$03,$03,$26,$03,$1a,$2a,$2b,$22,$23,$24,$2c,$2d,$23,$24 8 | !byte $22,$2a,$2b,$01,$03,$2e,$03,$03,$03,$03,$03,$19,$1a,$03,$03 9 | !byte $22,$2c,$2d,$2c,$2d,$2c,$2d,$22,$03,$03,$01,$03,$2f,$03,$30 10 | !byte $03,$03,$03,$19,$1a,$27,$28,$22,$2c,$2d,$2c,$2d,$2c,$2d,$22 11 | !byte $27,$28,$01,$03,$30,$30,$30,$03,$03,$03,$19,$1a,$2a,$2b,$22 12 | !byte $2c,$2d,$2c,$2d,$2c,$2d,$22,$2a,$2b,$01,$03,$30,$30,$30,$03 13 | !byte $03,$03,$19,$1a,$03,$03,$22,$2c,$2d,$2c,$2d,$2c,$2d,$22,$03 14 | !byte $03,$01,$03,$03,$03,$03,$03,$03,$03,$19,$1a,$27,$28,$22,$23 15 | !byte $24,$2c,$2d,$23,$24,$22,$27,$28,$01,$03,$03,$03,$03,$03,$03 16 | !byte $03,$19,$1a,$2a,$2b,$22,$23,$24,$23,$24,$23,$24,$22,$2a,$2b 17 | !byte $01,$03,$03,$03,$03,$03,$03,$03,$19,$1a,$03,$03,$22,$03,$03 18 | !byte $23,$24,$03,$03,$22,$03,$03,$01,$03,$03,$03,$03,$03,$03,$03 19 | !byte $19,$1a,$27,$28,$22,$03,$03,$03,$03,$03,$03,$22,$27,$28,$01 20 | !byte $03,$03,$03,$03,$03,$03,$31,$03,$1a,$2a,$2b,$22,$03,$03,$03 21 | !byte $03,$03,$03,$22,$2a,$2b,$01,$03,$03,$25,$25,$25,$25,$03,$03 22 | !byte $1a,$03,$03,$22,$03,$03,$03,$03,$03,$03,$22,$03,$03,$01,$03 23 | !byte $03,$03,$03,$03,$03,$03,$03,$1a,$27,$28,$22,$03,$03,$03,$03 24 | !byte $03,$03,$22,$27,$28,$01,$03,$03,$03,$03,$03,$03,$03,$03,$1a 25 | !byte $2a,$2b,$22,$03,$03,$03,$03,$03,$03,$22,$2a,$2b,$01,$03,$03 26 | !byte $03,$03,$03,$03,$03,$03,$1a,$03,$03,$22,$03,$03,$03,$03,$03 27 | !byte $03,$22,$03,$03,$01,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 28 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$22,$03,$03,$01,$03,$03,$03 29 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 30 | !byte $03,$03,$03,$03,$03 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/logo.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00 ; char $ 0 HERE OLD 2 | !byte $80,$c0,$e0,$f0,$f8,$fc,$fe,$ff ; char $ 1 HERE 3 | !byte $c0,$60,$38,$0e,$18,$30,$1e,$07 ; char $ 2 HERE 4 | !byte $ff,$7f,$3f,$1f,$0f,$07,$03,$01 ; char $ 3 HERE 5 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$80 ; char $ 4 HERE 6 | !byte $00,$18,$3c,$7e,$7e,$3c,$18,$00 ; char $ 5 HERE 7 | !byte $03,$06,$0c,$06,$23,$36,$7c,$c8 ; char $ 6 HERE 8 | !byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff ; char $ 7 HERE 9 | !byte $80,$c0,$60,$30,$1e,$36,$72,$c9 ; char $ 8 HERE 10 | !byte $01,$03,$07,$0f,$1f,$3f,$7f,$ff ; char $ 9 HERE 11 | !byte $01,$03,$06,$2c,$7c,$86,$ca,$91 ; char $ a HERE 12 | !byte $aa,$aa,$aa,$bf,$bf,$bf,$bf,$bf ; char $ b HERE 13 | !byte $aa,$aa,$aa,$ff,$ff,$ff,$ff,$ff ; char $ c HERE 14 | !byte $a9,$a9,$a9,$fd,$fd,$fd,$fd,$fd ; char $ d HERE 15 | !byte $bf,$bf,$bf,$bf,$bf,$bf,$bf,$bf ; char $ e HERE 16 | !byte $aa,$aa,$aa,$80,$80,$80,$80,$80 ; char $ f HERE 17 | !byte $aa,$aa,$aa,$00,$00,$00,$00,$00 ; char $10 HERE 18 | !byte $5f,$6f,$6f,$2f,$2f,$2f,$2f,$2f ; char $11 HERE 19 | !byte $55,$56,$56,$42,$42,$42,$42,$42 ; char $12 HERE 20 | !byte $fa,$fa,$fa,$f8,$f8,$f8,$f8,$f8 ; char $13 HERE 21 | !byte $55,$56,$56,$02,$02,$02,$02,$02 ; char $14 HERE 22 | !byte $fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe ; char $15 HERE 23 | !byte $80,$80,$80,$80,$80,$80,$80,$80 ; char $16 HERE 24 | !byte $af,$af,$af,$ff,$ff,$ff,$ff,$ff ; char $17 HERE 25 | !byte $2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f ; char $18 HERE 26 | !byte $bf,$bf,$bf,$bf,$bf,$aa,$aa,$aa ; char $19 HERE 27 | !byte $ff,$ff,$ff,$ff,$ff,$5f,$6f,$6f ; char $1a HERE 28 | !byte $40,$40,$40,$40,$40,$5a,$6a,$aa ; char $1b HERE 29 | !byte $00,$00,$00,$00,$00,$02,$02,$02 ; char $1c HERE 30 | !byte $2f,$2f,$2f,$2f,$2f,$af,$af,$af ; char $1d HERE 31 | !byte $42,$42,$42,$42,$42,$42,$42,$42 ; char $1e HERE 32 | !byte $f8,$f8,$f8,$f8,$f8,$f8,$f8,$f8 ; char $1f HERE 33 | !byte $00,$00,$00,$00,$00,$0a,$0a,$0a ; char $20 HERE 34 | !byte $02,$02,$02,$02,$02,$aa,$aa,$aa ; char $21 HERE 35 | !byte $00,$00,$00,$00,$00,$a9,$a5,$95 ; char $22 HERE 36 | !byte $02,$02,$02,$02,$02,$02,$02,$02 ; char $23 HERE 37 | !byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b ; char $24 HERE 38 | !byte $bd,$bd,$bd,$bd,$bd,$bd,$bd,$bd ; char $25 HERE 39 | !byte $bd,$bd,$bd,$bd,$bd,$a5,$95,$55 ; char $26 HERE 40 | !byte $fe,$fe,$fe,$fe,$fe,$aa,$aa,$aa ; char $27 HERE 41 | !byte $0b,$0b,$0b,$0b,$0b,$0a,$09,$05 ; char $28 HERE 42 | !byte $ff,$ff,$ff,$ff,$ff,$55,$56,$56 ; char $29 HERE 43 | !byte $40,$40,$40,$40,$40,$6a,$6a,$aa ; char $2a HERE 44 | !byte $00,$00,$00,$00,$00,$aa,$aa,$aa ; char $2b HERE 45 | !byte $42,$42,$42,$42,$42,$6a,$6a,$aa ; char $2c HERE 46 | !byte $f4,$f4,$f4,$f4,$f4,$f6,$f6,$fa ; char $2d HERE 47 | !byte $bf,$bf,$bf,$bf,$bf,$55,$55,$55 ; char $2e HERE 48 | !byte $ff,$ff,$ff,$ff,$ff,$aa,$aa,$aa ; char $2f HERE 49 | !byte $00,$01,$03,$07,$0f,$1f,$3f,$7f ; char $30 HERE 50 | !byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f ; char $31 HERE 51 | !byte $7f,$3f,$1f,$0f,$0f,$1f,$3f,$7f ; char $32 HERE 52 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f ; char $33 HERE 53 | !byte $80,$c0,$e0,$f0,$f0,$e0,$c0,$80 ; char $34 HERE 54 | !byte $ff,$ff,$ff,$ff,$ff,$ef,$cf,$8f ; char $35 HERE 55 | !byte $7f,$3f,$1f,$0f,$07,$03,$01,$00 ; char $36 HERE 56 | !byte $7f,$7f,$7e,$7c,$78,$70,$60,$40 ; char $37 HERE 57 | !byte $ff,$ff,$7f,$3f,$1f,$0f,$07,$03 ; char $38 HERE 58 | !byte $0f,$0f,$0f,$0f,$0f,$0e,$0c,$08 ; char $39 HERE 59 | !byte $fe,$fc,$f8,$f0,$e0,$c0,$80,$00 ; char $3a HERE 60 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/logo.col.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$01,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$01,$00,$00 2 | !byte $00,$01,$00,$00,$00,$00,$00,$00,$01,$01,$00,$01,$01,$00,$01 3 | !byte $01,$01,$01,$00,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00 4 | !byte $01,$01,$01,$01,$01,$00,$01,$01,$01,$00,$00,$00,$01,$01,$00 5 | !byte $01,$00,$01,$01,$00,$00,$01,$01,$00,$01,$01,$00,$00,$01,$01 6 | !byte $00,$01,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09 7 | !byte $09,$09,$09,$09,$09,$09,$09,$09,$09,$01,$01,$01,$09,$08,$08 8 | !byte $09,$08,$08,$09,$08,$08,$09,$08,$08,$09,$08,$08,$09,$09,$08 9 | !byte $08,$09,$08,$01,$01,$00,$01,$09,$08,$09,$09,$08,$08,$09,$08 10 | !byte $08,$09,$08,$09,$09,$09,$09,$09,$09,$08,$09,$09,$08,$01,$01 11 | !byte $00,$01,$09,$08,$09,$0e,$08,$09,$09,$08,$09,$09,$08,$09,$09 12 | !byte $08,$09,$0e,$09,$08,$09,$09,$08,$01,$01,$01,$01,$09,$08,$09 13 | !byte $0e,$08,$09,$09,$08,$09,$09,$08,$09,$09,$08,$09,$09,$09,$08 14 | !byte $09,$09,$08,$00,$00,$01,$00,$09,$08,$09,$0e,$08,$09,$09,$08 15 | !byte $09,$09,$08,$09,$09,$08,$09,$09,$09,$08,$09,$09,$08,$00,$00 16 | !byte $01,$00,$09,$09,$09,$08,$09,$09,$09,$09,$09,$09,$09,$09,$09 17 | !byte $09,$09,$09,$09,$09,$09,$09,$08,$00,$00,$01,$01,$09,$08,$08 18 | !byte $08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08 19 | !byte $08,$08,$08,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 20 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 21 | !byte $01,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 22 | !byte $00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$00,$01,$01 23 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$01,$00,$00,$00 24 | !byte $00,$00,$01,$01,$01,$01,$01,$00,$01,$01,$00,$00,$00,$00,$00 25 | !byte $00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$01,$01,$01 26 | !byte $01,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 27 | !byte $00,$01,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$00,$00,$00 28 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00 29 | !byte $00,$00,$01,$00,$01,$01,$00,$00,$01,$01,$01,$00,$00,$00,$00 30 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01 31 | !byte $01,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 32 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 33 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 34 | !byte $01,$01,$01,$01,$01 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/logo.ras.inc: -------------------------------------------------------------------------------- 1 | !byte $6e,$0e,$0e,$6e,$6e,$0e,$6e,$ee,$ee,$be,$3e,$be,$ee,$6e,$0e 2 | !byte $8e,$2e,$0e,$2e,$8e,$9e,$7e,$fe,$7e,$fe,$7e,$fe,$ef,$b7,$39 3 | !byte $e8,$62,$00,$62,$00,$62,$ea,$b2,$e0,$62,$62,$02,$02,$62,$02 4 | !byte $02,$02,$02,$02,$62,$e2,$32,$ba,$e1,$6a,$02,$42,$c2,$a2,$22 5 | !byte $82,$92,$f2,$74,$9c,$24,$02,$24,$02,$24,$2c,$0f,$21,$8f,$97 6 | !byte $79,$f8,$12,$b0,$30,$10,$b4,$30,$e2,$6a,$0e,$6e,$fe,$ce,$ce 7 | !byte $4e,$0e,$2e,$2e,$0e,$2e,$0e,$2e,$0e,$2e,$2e,$ae,$2e,$ae,$ae 8 | !byte $9e,$ae,$ae,$9e,$9e,$7e,$9e,$7e,$fe,$fe,$1e,$1e,$fe,$7e,$ae 9 | !byte $7e,$ae,$fe,$7e,$fe,$1e,$1e,$1e,$1e,$de,$5e,$de,$1e,$1e,$de 10 | !byte $1e,$1e,$1e,$1e,$1e,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e 11 | !byte $0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e 12 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/logo.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $01,$02,$03,$04,$03,$04,$02,$03,$04,$03,$04,$05,$06,$05,$03 2 | !byte $04,$06,$03,$07,$07,$04,$03,$04,$06,$00,$04,$06,$02,$05,$06 3 | !byte $02,$06,$02,$05,$06,$02,$06,$02,$00,$02,$06,$02,$05,$03,$04 4 | !byte $06,$02,$06,$02,$00,$01,$08,$00,$08,$05,$09,$01,$06,$08,$05 5 | !byte $0a,$05,$0a,$02,$09,$01,$06,$08,$05,$0a,$02,$09,$01,$06,$02 6 | !byte $04,$02,$0b,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c 7 | !byte $0c,$0c,$0c,$0c,$0c,$0c,$0c,$0d,$00,$06,$02,$0a,$0e,$0f,$10 8 | !byte $11,$0f,$10,$11,$0f,$0e,$07,$0f,$10,$11,$0f,$10,$11,$12,$13 9 | !byte $10,$14,$15,$0a,$00,$01,$02,$0e,$16,$0b,$17,$16,$00,$18,$16 10 | !byte $19,$1a,$16,$00,$18,$1b,$1c,$1d,$1e,$1f,$20,$21,$15,$00,$02 11 | !byte $04,$0a,$0e,$16,$0e,$07,$16,$22,$18,$16,$22,$18,$16,$22,$18 12 | !byte $15,$23,$07,$1e,$1f,$24,$07,$15,$08,$06,$06,$02,$0e,$16,$0e 13 | !byte $07,$16,$25,$18,$16,$25,$18,$16,$25,$18,$15,$23,$07,$1e,$1f 14 | !byte $24,$07,$15,$01,$09,$02,$09,$0e,$16,$0e,$07,$16,$26,$18,$16 15 | !byte $26,$18,$16,$26,$18,$27,$23,$07,$1e,$1f,$28,$29,$15,$07,$07 16 | !byte $06,$03,$0e,$2a,$0e,$07,$2a,$2b,$1d,$2a,$2b,$1d,$2a,$2b,$1d 17 | !byte $2a,$21,$07,$2c,$2d,$2b,$21,$15,$07,$07,$02,$06,$2e,$2f,$2f 18 | !byte $2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f 19 | !byte $2f,$2f,$27,$03,$04,$02,$0a,$06,$00,$00,$06,$00,$06,$00,$06 20 | !byte $00,$00,$02,$00,$00,$06,$00,$06,$00,$06,$00,$06,$00,$08,$06 21 | !byte $06,$02,$30,$00,$30,$01,$30,$01,$30,$01,$30,$01,$30,$01,$30 22 | !byte $01,$30,$01,$30,$01,$30,$01,$06,$00,$02,$00,$06,$31,$00,$00 23 | !byte $07,$31,$00,$31,$00,$31,$32,$31,$32,$00,$07,$00,$07,$31,$33 24 | !byte $31,$33,$00,$00,$06,$06,$00,$31,$02,$06,$07,$31,$01,$31,$34 25 | !byte $31,$04,$31,$35,$00,$07,$02,$07,$31,$33,$31,$33,$02,$06,$00 26 | !byte $00,$00,$31,$06,$00,$07,$31,$32,$31,$00,$31,$01,$31,$33,$06 27 | !byte $07,$06,$07,$31,$33,$31,$33,$00,$02,$00,$00,$06,$36,$04,$36 28 | !byte $04,$36,$04,$36,$04,$37,$38,$37,$39,$02,$3a,$36,$04,$36,$04 29 | !byte $37,$39,$02,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 30 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 31 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 32 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 33 | !byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 34 | !byte $00,$00,$00,$00,$00 35 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/logocity.chr.inc: -------------------------------------------------------------------------------- 1 | !byte $00,$00,$00,$00,$00,$00,$00,$00 ; char $ 0 HERE PREV OLD 2 | !byte $80,$c0,$e0,$f0,$f8,$fc,$fe,$ff ; char $ 1 HERE PREV 3 | !byte $c0,$60,$38,$0e,$18,$30,$1e,$07 ; char $ 2 PREV 4 | !byte $ff,$7f,$3f,$1f,$0f,$07,$03,$01 ; char $ 3 PREV 5 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$80 ; char $ 4 HERE PREV 6 | !byte $00,$18,$3c,$7e,$7e,$3c,$18,$00 ; char $ 5 PREV 7 | !byte $03,$06,$0c,$06,$23,$36,$7c,$c8 ; char $ 6 PREV 8 | !byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff ; char $ 7 HERE PREV 9 | !byte $80,$c0,$60,$30,$1e,$36,$72,$c9 ; char $ 8 PREV 10 | !byte $01,$03,$07,$0f,$1f,$3f,$7f,$ff ; char $ 9 HERE PREV 11 | !byte $01,$03,$06,$2c,$7c,$86,$ca,$91 ; char $ a PREV 12 | !byte $aa,$aa,$aa,$bf,$bf,$bf,$bf,$bf ; char $ b PREV 13 | !byte $aa,$aa,$aa,$ff,$ff,$ff,$ff,$ff ; char $ c PREV 14 | !byte $a9,$a9,$a9,$fd,$fd,$fd,$fd,$fd ; char $ d PREV 15 | !byte $bf,$bf,$bf,$bf,$bf,$bf,$bf,$bf ; char $ e PREV 16 | !byte $aa,$aa,$aa,$80,$80,$80,$80,$80 ; char $ f PREV 17 | !byte $aa,$aa,$aa,$00,$00,$00,$00,$00 ; char $10 PREV 18 | !byte $5f,$6f,$6f,$2f,$2f,$2f,$2f,$2f ; char $11 PREV 19 | !byte $55,$56,$56,$42,$42,$42,$42,$42 ; char $12 PREV 20 | !byte $fa,$fa,$fa,$f8,$f8,$f8,$f8,$f8 ; char $13 PREV 21 | !byte $55,$56,$56,$02,$02,$02,$02,$02 ; char $14 PREV 22 | !byte $fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe ; char $15 PREV 23 | !byte $80,$80,$80,$80,$80,$80,$80,$80 ; char $16 HERE PREV 24 | !byte $af,$af,$af,$ff,$ff,$ff,$ff,$ff ; char $17 PREV 25 | !byte $2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f ; char $18 PREV 26 | !byte $bf,$bf,$bf,$bf,$bf,$aa,$aa,$aa ; char $19 PREV 27 | !byte $ff,$ff,$ff,$ff,$ff,$5f,$6f,$6f ; char $1a PREV 28 | !byte $40,$40,$40,$40,$40,$5a,$6a,$aa ; char $1b PREV 29 | !byte $00,$00,$00,$00,$00,$02,$02,$02 ; char $1c PREV 30 | !byte $2f,$2f,$2f,$2f,$2f,$af,$af,$af ; char $1d PREV 31 | !byte $42,$42,$42,$42,$42,$42,$42,$42 ; char $1e PREV 32 | !byte $f8,$f8,$f8,$f8,$f8,$f8,$f8,$f8 ; char $1f PREV 33 | !byte $00,$00,$00,$00,$00,$0a,$0a,$0a ; char $20 PREV 34 | !byte $02,$02,$02,$02,$02,$aa,$aa,$aa ; char $21 PREV 35 | !byte $00,$00,$00,$00,$00,$a9,$a5,$95 ; char $22 PREV 36 | !byte $02,$02,$02,$02,$02,$02,$02,$02 ; char $23 PREV 37 | !byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b ; char $24 PREV 38 | !byte $bd,$bd,$bd,$bd,$bd,$bd,$bd,$bd ; char $25 PREV 39 | !byte $bd,$bd,$bd,$bd,$bd,$a5,$95,$55 ; char $26 PREV 40 | !byte $fe,$fe,$fe,$fe,$fe,$aa,$aa,$aa ; char $27 PREV 41 | !byte $0b,$0b,$0b,$0b,$0b,$0a,$09,$05 ; char $28 PREV 42 | !byte $ff,$ff,$ff,$ff,$ff,$55,$56,$56 ; char $29 PREV 43 | !byte $40,$40,$40,$40,$40,$6a,$6a,$aa ; char $2a PREV 44 | !byte $00,$00,$00,$00,$00,$aa,$aa,$aa ; char $2b PREV 45 | !byte $42,$42,$42,$42,$42,$6a,$6a,$aa ; char $2c PREV 46 | !byte $f4,$f4,$f4,$f4,$f4,$f6,$f6,$fa ; char $2d PREV 47 | !byte $bf,$bf,$bf,$bf,$bf,$55,$55,$55 ; char $2e PREV 48 | !byte $ff,$ff,$ff,$ff,$ff,$aa,$aa,$aa ; char $2f PREV 49 | !byte $00,$01,$03,$07,$0f,$1f,$3f,$7f ; char $30 PREV 50 | !byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f ; char $31 PREV 51 | !byte $7f,$3f,$1f,$0f,$0f,$1f,$3f,$7f ; char $32 PREV 52 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f ; char $33 PREV 53 | !byte $80,$c0,$e0,$f0,$f0,$e0,$c0,$80 ; char $34 PREV 54 | !byte $ff,$ff,$ff,$ff,$ff,$ef,$cf,$8f ; char $35 PREV 55 | !byte $7f,$3f,$1f,$0f,$07,$03,$01,$00 ; char $36 PREV 56 | !byte $7f,$7f,$7e,$7c,$78,$70,$60,$40 ; char $37 PREV 57 | !byte $ff,$ff,$7f,$3f,$1f,$0f,$07,$03 ; char $38 PREV 58 | !byte $0f,$0f,$0f,$0f,$0f,$0e,$0c,$08 ; char $39 PREV 59 | !byte $fe,$fc,$f8,$f0,$e0,$c0,$80,$00 ; char $3a PREV 60 | !byte $bb,$99,$99,$ff,$bb,$99,$99,$ff ; char $3b HERE 61 | !byte $01,$02,$04,$08,$10,$20,$40,$80 ; char $3c HERE 62 | !byte $ab,$af,$bf,$ff,$bf,$af,$ab,$aa ; char $3d HERE 63 | !byte $ff,$ff,$fe,$fb,$be,$bb,$ee,$ba ; char $3e HERE 64 | !byte $ff,$fe,$fc,$f8,$f0,$e0,$c0,$ff ; char $3f HERE 65 | !byte $00,$00,$00,$00,$00,$00,$00,$ff ; char $40 HERE 66 | !byte $01,$03,$03,$13,$32,$30,$30,$20 ; char $41 HERE 67 | !byte $aa,$ea,$fa,$fe,$ff,$fe,$fa,$ea ; char $42 HERE 68 | !byte $80,$80,$80,$80,$be,$9c,$9c,$9c ; char $43 HERE 69 | !byte $00,$00,$00,$00,$3e,$1c,$1c,$1c ; char $44 HERE 70 | !byte $81,$83,$83,$93,$b2,$b0,$b0,$a0 ; char $45 HERE 71 | !byte $9a,$9a,$9a,$5a,$5a,$5a,$5a,$5a ; char $46 HERE 72 | !byte $9a,$9a,$5a,$5a,$5a,$5a,$5a,$5a ; char $47 HERE 73 | !byte $aa,$aa,$aa,$aa,$aa,$ab,$af,$bf ; char $48 HERE 74 | !byte $aa,$ab,$af,$bf,$ff,$ff,$ff,$ff ; char $49 HERE 75 | !byte $01,$02,$04,$08,$10,$20,$40,$ff ; char $4a HERE 76 | !byte $ff,$80,$80,$80,$80,$80,$80,$80 ; char $4b HERE 77 | !byte $5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a ; char $4c HERE 78 | !byte $80,$80,$80,$80,$80,$80,$80,$ff ; char $4d HERE 79 | !byte $55,$55,$15,$15,$15,$51,$51,$51 ; char $4e HERE 80 | !byte $76,$25,$25,$04,$04,$54,$55,$75 ; char $4f HERE 81 | !byte $db,$4b,$4b,$43,$43,$53,$53,$5b ; char $50 HERE 82 | !byte $ff,$af,$2f,$5f,$af,$9f,$af,$bf ; char $51 HERE 83 | !byte $ab,$8b,$97,$ab,$a3,$eb,$8b,$ab ; char $52 HERE 84 | !byte $ff,$ea,$e2,$e5,$ea,$f8,$e2,$ea ; char $53 HERE 85 | !byte $ff,$fa,$f8,$f9,$fa,$fa,$fe,$fa ; char $54 HERE 86 | !byte $ff,$be,$be,$7e,$bf,$3e,$be,$be ; char $55 HERE 87 | !byte $ff,$bf,$bf,$8f,$cf,$ef,$ef,$eb ; char $56 HERE 88 | !byte $ab,$ab,$ef,$ef,$ef,$ef,$ef,$eb ; char $57 HERE 89 | !byte $ea,$ea,$ea,$fb,$fb,$ce,$ef,$eb ; char $58 HERE 90 | !byte $f8,$fa,$fa,$fa,$ee,$ce,$ef,$eb ; char $59 HERE 91 | !byte $be,$be,$bb,$fb,$fb,$ba,$ff,$ff ; char $5a HERE 92 | !byte $ff,$00,$00,$00,$00,$00,$00,$ff ; char $5b HERE 93 | !byte $84,$3c,$3c,$3c,$3c,$3c,$3c,$84 ; char $5c HERE 94 | !byte $81,$e7,$e7,$e7,$e7,$e7,$e7,$e7 ; char $5d HERE 95 | !byte $33,$33,$33,$83,$f3,$33,$33,$87 ; char $5e HERE 96 | !byte $ff,$03,$05,$09,$11,$21,$41,$81 ; char $5f HERE 97 | !byte $bf,$af,$ab,$aa,$aa,$aa,$aa,$aa ; char $60 HERE 98 | !byte $fe,$fa,$ea,$aa,$aa,$aa,$aa,$aa ; char $61 HERE 99 | !byte $81,$81,$81,$81,$81,$81,$81,$81 ; char $62 HERE 100 | !byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa ; char $63 HERE 101 | !byte $ff,$00,$00,$00,$00,$00,$00,$00 ; char $64 HERE 102 | !byte $01,$01,$01,$01,$01,$01,$01,$01 ; char $65 HERE 103 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/lyrics2.inc: -------------------------------------------------------------------------------- 1 | loader_on =$32d; unused 2 | nG0 =$c; unused 3 | lyricbaseptr =$12e0; unused 4 | nE1 =$1e; unused 5 | nC2 =$2e; unused 6 | nE0 =$6; unused 7 | nG1 =$24; unused 8 | nC0+3=$fffffffe; unused 9 | nA1 =$28; unused 10 | nA0 =$10; unused 11 | nC1 =$16; unused 12 | loader_on_bpf =$32e; unused 13 | lyricsptr =$e4; unused 14 | lyrics_c2 =$141b; unused 15 | lyrics_a2 =$13c2; unused 16 | nBASE =$16; unused 17 | lyrics_a1 =$13a9; unused 18 | lyrics_c0 =$13e5; unused 19 | lyrics_a0 =$138b 20 | lyrics_c1 =$1403; unused 21 | nGp0 =$e; unused 22 | nCp1 =$18; unused 23 | nCp0 =$0; unused 24 | nGp1 =$26; unused 25 | lyrics_liberation =$136e; unused 26 | trackcmd_opcode =$80; unused 27 | ph_pointers =$135d; unused 28 | driveside_base =$500; unused 29 | iecport1 =$912c; unused 30 | iecport2 =$911f; unused 31 | lyrics =$136d; unused 32 | sing_off =$133f; unused 33 | chtempo =$a6; unused 34 | chstat =$c0; unused 35 | texts_end =$14e0; unused 36 | loader_bpf =$334; unused 37 | digi_int =$127f; unused 38 | loader_base =$320; unused 39 | nCHy =$cb; unused 40 | texts_d2 =$147a; unused 41 | texts_b1 =$14aa 42 | nCHx =$c4; unused 43 | texts_b0 =$1498 44 | texts_d0 =$144b; unused 45 | DEVMODE =$1; unused 46 | nCHz =$c4; unused 47 | texts_d1 =$1465; unused 48 | texts_b2 =$14c2 49 | loader_on_speed =$32f; unused 50 | nCHq =$a5; unused 51 | nCHp =$a2; unused 52 | loader_eatbyte =$38c; unused 53 | nCHs =$ab; unused 54 | nCHr =$b2; unused 55 | nCHu =$b9; unused 56 | nCHt =$c5; unused 57 | nCHw =$be; unused 58 | nCHv =$bf; unused 59 | nCHi =$e5; unused 60 | nCHh =$c8; unused 61 | nCHk =$a8; unused 62 | nCHj =$e3; unused 63 | nFp0 =$a; unused 64 | nCHm =$d8; unused 65 | nFp1 =$22; unused 66 | nCHl =$ec; unused 67 | nCHo =$d1; unused 68 | nCHn =$d0; unused 69 | nCHa =$a0; unused 70 | nCHc =$b4; unused 71 | nCHb =$a1; unused 72 | nCHe =$ac; unused 73 | nCHd =$f1; unused 74 | phone_pause =$1200; unused 75 | nCHg =$b1; unused 76 | nCHf =$aa; unused 77 | loader_off =$329; unused 78 | fakefileptr =$380; unused 79 | loader_loop =$320; unused 80 | atno =$80; unused 81 | d_bitcount =$e7; unused 82 | chptr =$ac; unused 83 | loader_getbits =$371; unused 84 | chwave =$b2; unused 85 | nMUTE =$2; unused 86 | trackcmd_newptrs =$81; unused 87 | trackcmd =$80; unused 88 | d_offset =$e5; unused 89 | dato =$20; unused 90 | sing_on =$130c; unused 91 | chinits =$10e1; unused 92 | dati =$2; unused 93 | nF0 =$8; unused 94 | nD1 =$1a; unused 95 | nD0 =$2; unused 96 | nF1 =$20; unused 97 | nB0 =$14; unused 98 | nB1 =$2c; unused 99 | lyrics_b2 =$141a; unused 100 | lyrics_b0 =$13e5; unused 101 | lyrics_b1 =$13ff; unused 102 | nAp1 =$2a; unused 103 | nAp0 =$12; unused 104 | chxtras =$b5; unused 105 | nNONE =$0; unused 106 | d_bitfetch =$e8; unused 107 | npitches =$10bd; unused 108 | clki =$1; unused 109 | chctr =$a0; unused 110 | clko =$2; unused 111 | nDBL =$1; unused 112 | phones =$1200; unused 113 | nDRN =$0; unused 114 | texts =$1437 115 | qphone_m =$1222; unused 116 | texts_a0 =$144b 117 | texts_c1 =$14b5; unused 118 | texts_e2 =$14bc; unused 119 | qphone_l =$122e; unused 120 | texts_a1 =$1465 121 | texts_c0 =$1498; unused 122 | qphone_o =$1216; unused 123 | texts_a2 =$1478 124 | texts_e0 =$1494; unused 125 | qphone_n =$1228; unused 126 | texts_c2 =$14c9; unused 127 | texts_e1 =$14a6; unused 128 | nDR1 =$22; unused 129 | qphone_i =$1210; unused 130 | nDR0 =$4; unused 131 | qphone_h =$1249; unused 132 | qphone_k =$1234; unused 133 | texts_liberation =$1437; unused 134 | nDR2 =$30; unused 135 | qphone_e =$120a; unused 136 | qphone_a =$1204; unused 137 | setsingfreq =$1327; unused 138 | songdata =$111a; unused 139 | nDp0 =$4; unused 140 | nDp1 =$1c; unused 141 | singfreq =$e3; unused 142 | qphone_x =$124e; unused 143 | RLE_ESCAPE =$c1; unused 144 | qphone_u =$121c; unused 145 | qphone_t =$1239; unused 146 | digifreqs =$134d; unused 147 | qphone_p =$1243; unused 148 | digi_ticksync =$1257; unused 149 | qphone_s =$123d; unused 150 | nLO =$10; unused 151 | drumdata =$10e4; unused 152 | NUMCH =$6; unused 153 | nHI =$0; unused 154 | player =$1000; unused 155 | loader_irq =$333; unused 156 | d_loopcount =$e6; unused 157 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/main_glob.inc: -------------------------------------------------------------------------------- 1 | loader_on =$32d; unused 2 | nG0 =$c; unused 3 | lyricbaseptr =$12e0; unused 4 | nE1 =$1e; unused 5 | nC2 =$2e; unused 6 | nE0 =$6; unused 7 | nG1 =$24; unused 8 | nC0+3=$fffffffe; unused 9 | nA1 =$28; unused 10 | nA0 =$10; unused 11 | nC1 =$16; unused 12 | loader_on_bpf =$32e; unused 13 | lyricsptr =$e4; unused 14 | nBASE =$16; unused 15 | testquit =$1560; ? 16 | main_end =$156b; unused 17 | nGp0 =$e; unused 18 | nCp1 =$18; unused 19 | nCp0 =$0; unused 20 | nGp1 =$26; unused 21 | trackcmd_opcode =$80; unused 22 | ph_pointers =$135e; unused 23 | charview =$151c; unused 24 | viat1hi =$9125; unused 25 | viat1lo =$9124; unused 26 | driveside_base =$500; unused 27 | iecport1 =$912c; unused 28 | iecport2 =$911f; unused 29 | lyrics =$136e 30 | sing_off =$1340; unused 31 | chtempo =$a6; unused 32 | chstat =$c0; unused 33 | texts_end =$14e1; unused 34 | loader_bpf =$334; unused 35 | digi_int =$127f; unused 36 | loader_base =$320; unused 37 | DEVMODE =$0; unused 38 | loader_on_speed =$32f; unused 39 | loader_eatbyte =$3cd; unused 40 | nFp0 =$a; unused 41 | nFp1 =$22; unused 42 | d_volvalue0 =$127c; unused 43 | d_volvalue1 =$1287; unused 44 | d_volvalue2 =$129c; unused 45 | phone_pause =$1200; unused 46 | loader_off =$329; unused 47 | loader_loop =$320; unused 48 | atno =$80; unused 49 | d_bitcount =$e7; unused 50 | chptr =$ac; unused 51 | loader_getbits =$372; unused 52 | chwave =$b2; unused 53 | nMUTE =$2; unused 54 | trackcmd_newptrs =$81; unused 55 | trackcmd =$80; unused 56 | d_offset =$e5; unused 57 | dato =$20; unused 58 | sing_on =$130c 59 | chinits =$10e1; unused 60 | dati =$2; unused 61 | nF0 =$8; unused 62 | nD1 =$1a; unused 63 | nD0 =$2; unused 64 | nF1 =$20; unused 65 | nB0 =$14; unused 66 | nB1 =$2c; unused 67 | nAp1 =$2a; unused 68 | nAp0 =$12; unused 69 | chxtras =$b5 70 | nNONE =$0; unused 71 | d_bitfetch =$e8; unused 72 | clkf =$fd; unused 73 | clkd =$dd; unused 74 | npitches =$10bd; unused 75 | clki =$1; unused 76 | chctr =$a0; unused 77 | clko =$2; unused 78 | nDBL =$1; unused 79 | phones =$1200; unused 80 | nDRN =$0; unused 81 | texts =$1438 82 | loader_datactr =$3e3; unused 83 | qphone_m =$1222; unused 84 | qphone_l =$122e; unused 85 | qphone_o =$1216; unused 86 | qphone_n =$1228; unused 87 | nDR1 =$22; unused 88 | qphone_i =$1210; unused 89 | nDR0 =$4; unused 90 | qphone_h =$1249; unused 91 | qphone_k =$1234; unused 92 | nDR2 =$30; unused 93 | qphone_e =$120a; unused 94 | qphone_a =$1204; unused 95 | setsingfreq =$1327; unused 96 | songdata =$111a; unused 97 | nDp0 =$4; unused 98 | nDp1 =$1c; unused 99 | singfreq =$e3; unused 100 | qphone_x =$124e; unused 101 | RLE_ESCAPE =$b6; unused 102 | qphone_u =$121c; unused 103 | qphone_t =$1239; unused 104 | digifreqs =$134e; unused 105 | qphone_p =$1243; unused 106 | digi_ticksync =$1257 107 | qphone_s =$123d; unused 108 | loader_end =$400; unused 109 | voiceplayer =$1550; unused 110 | voiceplayer_singtest =$1500 111 | nLO =$10; unused 112 | drumdata =$10e4; unused 113 | NUMCH =$6; unused 114 | nHI =$0; unused 115 | player =$1000 116 | loader_irq =$333 117 | d_loopcount =$e6; unused 118 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/musicpat1.inc: -------------------------------------------------------------------------------- 1 | loader_on =$32d; unused 2 | nG0 =$c; unused 3 | nE1 =$1e; unused 4 | nC2 =$2e; unused 5 | nE0 =$6; unused 6 | nG1 =$24 7 | nC0+3=$fffffffe; unused 8 | nA1 =$28; unused 9 | nA0 =$10; unused 10 | nC1 =$16 11 | loader_on_bpf =$32e; unused 12 | nBASE =$16; unused 13 | nGp0 =$e; unused 14 | nCp1 =$18 15 | nCp0 =$0; unused 16 | nGp1 =$26; unused 17 | trackcmd_opcode =$80; unused 18 | driveside_base =$500; unused 19 | iecport1 =$912c; unused 20 | iecport2 =$911f; unused 21 | chtempo =$a6; unused 22 | chstat =$c0; unused 23 | cobass0seq =$1123; unused 24 | loader_bpf =$334; unused 25 | loader_base =$320; unused 26 | DEVMODE =$1; unused 27 | loader_on_speed =$32f; unused 28 | drum1seq =$1131 29 | loader_eatbyte =$38c; unused 30 | nFp0 =$a 31 | nFp1 =$22; unused 32 | loader_off =$329; unused 33 | fakefileptr =$380; unused 34 | drummuteseq =$111a; unused 35 | drum0seq =$114b 36 | loader_loop =$320; unused 37 | atno =$80; unused 38 | chptr =$ac; unused 39 | loader_getbits =$371; unused 40 | chwave =$b2; unused 41 | nMUTE =$2 42 | trackcmd_newptrs =$81; unused 43 | shape2biseq =$119e 44 | trackcmd =$80; unused 45 | dato =$20; unused 46 | chinits =$10e1; unused 47 | dati =$2; unused 48 | nF0 =$8; unused 49 | nD1 =$1a 50 | nD0 =$2; unused 51 | nF1 =$20 52 | nB0 =$14; unused 53 | nB1 =$2c; unused 54 | nAp1 =$2a; unused 55 | nAp0 =$12 56 | chxtras =$b5; unused 57 | nNONE =$0 58 | npitches =$10bd; unused 59 | shape2seq =$1199 60 | clki =$1; unused 61 | chctr =$a0; unused 62 | clko =$2; unused 63 | nDBL =$1 64 | nDRN =$0 65 | melo0seq =$1154 66 | nDR1 =$22 67 | nDR0 =$4 68 | nDR2 =$30 69 | shape1seq =$113a 70 | songdata =$111a; unused 71 | nDp0 =$4; unused 72 | nDp1 =$1c 73 | RLE_ESCAPE =$c1; unused 74 | melo1seq =$1191 75 | muteseq =$111a; unused 76 | shape0seq =$1131 77 | nLO =$10; unused 78 | drumdata =$10e4; unused 79 | NUMCH =$6; unused 80 | bass0seq =$111c; unused 81 | nHI =$0; unused 82 | player =$1000; unused 83 | loader_irq =$333; unused 84 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/musicpat2.inc: -------------------------------------------------------------------------------- 1 | drum1seq = ?; ? 2 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/part0.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/allparts/part0.asm -------------------------------------------------------------------------------- /robotic_liberation/allparts/player.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/allparts/player.asm -------------------------------------------------------------------------------- /robotic_liberation/allparts/popstar.chr.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/allparts/popstar.chr.inc -------------------------------------------------------------------------------- /robotic_liberation/allparts/popstar.col.inc: -------------------------------------------------------------------------------- 1 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$09,$09,$09,$09,$09,$09 2 | !byte $09,$09,$09,$09,$09,$09,$09,$01,$01,$01,$01,$01,$01,$01,$01 3 | !byte $01,$01,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$09,$01 4 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$01,$09,$09,$09 5 | !byte $09,$09,$09,$09,$09,$09,$01,$01,$01,$01,$01,$01,$01,$01,$01 6 | !byte $01,$01,$01,$01,$09,$09,$09,$09,$09,$09,$09,$09,$09,$01,$01 7 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$09,$09,$09,$09 8 | !byte $09,$09,$09,$09,$09,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 9 | !byte $01,$01,$01,$09,$09,$09,$09,$09,$09,$09,$09,$09,$01,$01,$01 10 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 11 | !byte $01,$01,$01,$01,$03,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 12 | !byte $01,$01,$01,$03,$03,$03,$04,$04,$01,$01,$01,$03,$03,$01,$01 13 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$05,$01,$07,$07 14 | !byte $01,$03,$03,$09,$03,$09,$01,$01,$01,$01,$01,$01,$01,$01,$01 15 | !byte $01,$01,$01,$05,$07,$07,$07,$07,$01,$01,$01,$03,$03,$03,$01 16 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$03,$00 17 | !byte $00,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$01,$01,$01,$01 18 | !byte $01,$01,$01,$01,$09,$09,$01,$01,$01,$07,$03,$03,$03,$03,$01 19 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$07,$07,$07 20 | !byte $02,$01,$03,$01,$01,$03,$03,$03,$01,$01,$01,$01,$01,$01,$01 21 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01,$01,$01 22 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 23 | !byte $01,$03,$03,$03,$03,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 24 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 25 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$03 26 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 27 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 28 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$01,$02 29 | !byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 30 | !byte $01,$01,$01,$01,$01 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/popstar.scr.inc: -------------------------------------------------------------------------------- 1 | !byte $0f,$0f,$0f,$0f,$0f,$20,$03,$03,$03,$03,$03,$03,$03,$0f,$0f 2 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03 3 | !byte $03,$03,$03,$03,$03,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 4 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$03,$03,$03,$03,$0f,$0f,$0f 5 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$21,$03,$22,$20 6 | !byte $03,$03,$03,$03,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 7 | !byte $0f,$0f,$21,$03,$03,$03,$22,$20,$03,$03,$03,$0f,$0f,$0f,$0f 8 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$03,$23,$0f,$0f 9 | !byte $20,$03,$03,$24,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$22,$0f,$0f 10 | !byte $0f,$21,$03,$03,$03,$0f,$0f,$0f,$20,$03,$03,$03,$03,$03,$03 11 | !byte $03,$03,$03,$03,$03,$22,$0f,$0f,$20,$03,$03,$25,$0f,$0f,$0f 12 | !byte $0f,$20,$03,$26,$03,$03,$26,$03,$26,$03,$03,$03,$03,$22,$0f 13 | !byte $0f,$03,$03,$03,$27,$0f,$0f,$0f,$0f,$20,$03,$03,$26,$03,$26 14 | !byte $03,$26,$26,$03,$03,$03,$22,$0f,$03,$03,$28,$27,$0f,$0f,$0f 15 | !byte $0f,$0f,$20,$26,$03,$26,$03,$26,$03,$03,$03,$03,$03,$03,$22 16 | !byte $03,$03,$03,$03,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$0f,$26,$0f 17 | !byte $26,$26,$03,$03,$03,$03,$03,$03,$03,$29,$0f,$0f,$0f,$0f,$0f 18 | !byte $0f,$0f,$0f,$20,$03,$03,$03,$03,$03,$03,$0f,$0f,$0f,$0f,$03 19 | !byte $03,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$03,$26 20 | !byte $03,$03,$0f,$0f,$0f,$0f,$03,$03,$22,$0f,$0f,$0f,$0f,$0f,$0f 21 | !byte $0f,$0f,$0f,$0f,$20,$03,$03,$03,$03,$0f,$0f,$0f,$0f,$03,$03 22 | !byte $03,$22,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$03,$03 23 | !byte $03,$0f,$0f,$0f,$0f,$03,$03,$03,$03,$22,$0f,$0f,$0f,$0f,$0f 24 | !byte $0f,$0f,$0f,$0f,$0f,$20,$03,$03,$0f,$0f,$0f,$0f,$03,$03,$03 25 | !byte $03,$03,$22,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$20,$0f 26 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 27 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f 28 | !byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f,$03,$03 29 | !byte $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 30 | !byte $03,$03,$03,$03,$03 31 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/segmenter.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/allparts/segmenter.asm -------------------------------------------------------------------------------- /robotic_liberation/allparts/texts2.inc: -------------------------------------------------------------------------------- 1 | loader_on =$32d; unused 2 | nG0 =$c; unused 3 | lyricbaseptr =$12e0; unused 4 | nE1 =$1e; unused 5 | nC2 =$2e; unused 6 | nE0 =$6; unused 7 | nG1 =$24; unused 8 | nC0+3=$fffffffe; unused 9 | nA1 =$28; unused 10 | nA0 =$10; unused 11 | nC1 =$16; unused 12 | loader_on_bpf =$32e; unused 13 | lyricsptr =$e4; unused 14 | nBASE =$16; unused 15 | nGp0 =$e; unused 16 | nCp1 =$18; unused 17 | nCp0 =$0; unused 18 | nGp1 =$26; unused 19 | trackcmd_opcode =$80; unused 20 | ph_pointers =$135d; unused 21 | driveside_base =$500; unused 22 | iecport1 =$912c; unused 23 | iecport2 =$911f; unused 24 | lyrics =$136d; unused 25 | sing_off =$133f; unused 26 | chtempo =$a6; unused 27 | chstat =$c0; unused 28 | texts_end =$14e0; unused 29 | loader_bpf =$334; unused 30 | digi_int =$127f; unused 31 | loader_base =$320; unused 32 | nCHy =$cb 33 | texts_d2 =$147a; unused 34 | texts_b1 =$14aa; unused 35 | nCHx =$c4; unused 36 | texts_b0 =$1498; unused 37 | texts_d0 =$144b; unused 38 | nCHz =$c4; unused 39 | DEVMODE =$1; unused 40 | texts_d1 =$1465; unused 41 | texts_b2 =$14c2; unused 42 | loader_on_speed =$32f; unused 43 | nCHq =$a5 44 | nCHp =$a2; unused 45 | nCHs =$ab 46 | loader_eatbyte =$38c; unused 47 | nCHr =$b2 48 | nCHu =$b9 49 | nCHt =$c5 50 | nCHw =$be 51 | nCHv =$bf; unused 52 | nCHi =$e5 53 | nCHh =$c8 54 | nCHk =$a8; unused 55 | nCHj =$e3; unused 56 | nCHm =$d8 57 | nFp0 =$a; unused 58 | nCHl =$ec 59 | nFp1 =$22; unused 60 | nCHo =$d1 61 | nCHn =$d0 62 | nCHa =$a0 63 | nCHc =$b4 64 | nCHb =$a1 65 | nCHe =$ac 66 | nCHd =$f1 67 | nCHg =$b1 68 | phone_pause =$1200; unused 69 | nCHf =$aa 70 | loader_off =$329; unused 71 | fakefileptr =$380; unused 72 | loader_loop =$320; unused 73 | atno =$80; unused 74 | d_bitcount =$e7; unused 75 | chptr =$ac; unused 76 | loader_getbits =$371; unused 77 | chwave =$b2; unused 78 | nMUTE =$2; unused 79 | trackcmd_newptrs =$81; unused 80 | trackcmd =$80; unused 81 | d_offset =$e5; unused 82 | dato =$20; unused 83 | sing_on =$130c; unused 84 | chinits =$10e1; unused 85 | dati =$2; unused 86 | nF0 =$8; unused 87 | nD1 =$1a; unused 88 | nD0 =$2; unused 89 | nF1 =$20; unused 90 | nB0 =$14; unused 91 | nB1 =$2c; unused 92 | nAp1 =$2a; unused 93 | nAp0 =$12; unused 94 | chxtras =$b5; unused 95 | nNONE =$0; unused 96 | d_bitfetch =$e8; unused 97 | npitches =$10bd; unused 98 | clki =$1; unused 99 | chctr =$a0; unused 100 | clko =$2; unused 101 | nDBL =$1; unused 102 | phones =$1200; unused 103 | nDRN =$0; unused 104 | texts =$1437; unused 105 | qphone_m =$1222; unused 106 | texts_a0 =$144b 107 | texts_c1 =$14b5; unused 108 | texts_e2 =$14bc; unused 109 | qphone_l =$122e; unused 110 | texts_a1 =$1465; unused 111 | texts_c0 =$1498; unused 112 | qphone_o =$1216; unused 113 | texts_a2 =$1478; unused 114 | texts_e0 =$1494; unused 115 | qphone_n =$1228; unused 116 | texts_c2 =$14c9; unused 117 | texts_e1 =$14a6; unused 118 | nDR1 =$22; unused 119 | qphone_i =$1210; unused 120 | nDR0 =$4; unused 121 | qphone_h =$1249; unused 122 | qphone_k =$1234; unused 123 | texts_liberation =$1437; unused 124 | nDR2 =$30; unused 125 | qphone_e =$120a; unused 126 | qphone_a =$1204; unused 127 | setsingfreq =$1327; unused 128 | songdata =$111a; unused 129 | nDp0 =$4; unused 130 | nDp1 =$1c; unused 131 | singfreq =$e3; unused 132 | qphone_x =$124e; unused 133 | RLE_ESCAPE =$c1; unused 134 | qphone_u =$121c; unused 135 | qphone_t =$1239; unused 136 | digifreqs =$134d; unused 137 | qphone_p =$1243; unused 138 | digi_ticksync =$1257; unused 139 | qphone_s =$123d; unused 140 | nLO =$10; unused 141 | drumdata =$10e4; unused 142 | NUMCH =$6; unused 143 | nHI =$0; unused 144 | player =$1000; unused 145 | loader_irq =$333; unused 146 | d_loopcount =$e6; unused 147 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/texts_glob.inc: -------------------------------------------------------------------------------- 1 | nCHy =$cb 2 | nCHx =$c4; unused 3 | nCHz =$c4; unused 4 | nCHq =$a5 5 | nCHp =$a2 6 | nCHs =$ab 7 | nCHr =$b2 8 | nCHu =$b9 9 | nCHt =$c5 10 | nCHw =$be 11 | nCHv =$bf 12 | nCHi =$e5 13 | nCHh =$c8 14 | nCHk =$a8 15 | nCHj =$e3; unused 16 | nCHm =$d8 17 | nCHl =$ec 18 | nCHo =$d1 19 | nCHn =$d0 20 | nCHa =$a0 21 | nCHc =$b4 22 | nCHb =$a1 23 | nCHe =$ac 24 | nCHd =$f1 25 | nCHg =$b1 26 | nCHf =$aa 27 | -------------------------------------------------------------------------------- /robotic_liberation/allparts/voice.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/allparts/voice.asm -------------------------------------------------------------------------------- /robotic_liberation/allparts/zoomer.asm: -------------------------------------------------------------------------------- 1 | !zone zoomer 2 | 3 | .xbak=255 4 | .ulo=254 5 | .tmp=253 6 | .halfdulo=252 7 | .halfduhi=251 8 | 9 | pic_c=$1a00 10 | pic_w=$1a40 11 | pic_s=$1a80 12 | ; 1ac0-1aff in use (nrasc) 13 | 14 | npic_c=$1c40 15 | npic_w=$1c80 16 | npic_s=$1cc0 17 | 18 | npic2_c=$1d40 19 | npic2_w=$1d80 20 | npic2_s=$1dc0 21 | 22 | exptab=$1b00 23 | ;1b40-? 1bc0-? 24 | 25 | zoomer: 26 | 27 | ;;; zoom presets ;;; 28 | 29 | ;;; initial hpos ;;; 30 | 31 | ldy #0 ; u=0 32 | sty .ulo 33 | 34 | ;;; hdeltas ;;; 35 | 36 | lda #0 37 | sta .duhi 38 | 39 | ;;; horizontal zoom factor ;;; 40 | 41 | lda #0 ; 0..63 quite ok 42 | hzoom=*-1 43 | ;clc 44 | ;adc # 2 | #include 3 | 4 | unsigned char charset[8192]; 5 | unsigned int scrmem[1024]; 6 | unsigned int colmem[1024]; 7 | 8 | unsigned char rasters_f[256]; 9 | unsigned char rasters_e[256]; 10 | 11 | unsigned char mem[65536]; 12 | 13 | int numlines; 14 | int numcolumns; 15 | 16 | unsigned char alloctab[256]; 17 | 18 | int allocshape(unsigned char*shape,int probeonly) 19 | { 20 | int i=0,j; 21 | 22 | for(i=0;i<256;i++) 23 | if(alloctab[i]) 24 | { 25 | int diff=0; 26 | 27 | for(j=0;j<8;j++) { 28 | 29 | if(charset[i*8+j]!=shape[j]) {diff++; break; } } 30 | 31 | if(!diff) { alloctab[i]|=4; return i; } 32 | } 33 | 34 | if(probeonly) return; 35 | 36 | /**********************************************************/ 37 | 38 | for(i=0;i<256;i++) { if((alloctab[i]&6)==0) break; } 39 | if(i>255) 40 | { 41 | fprintf(stderr,"out of allocspace\n"); exit(1); 42 | } 43 | 44 | fprintf(stderr,"Allocing char %d ...\n",i); 45 | 46 | for(j=0;j<8;j++) charset[i*8+j]=shape[j]; 47 | alloctab[i]|=4; 48 | 49 | return i; 50 | } 51 | 52 | void inits() 53 | { 54 | int i; 55 | 56 | for(i=0;i<8192;i++) charset[i]=0; 57 | for(i=0;i<1024;i++) scrmem[i]=0; 58 | for(i=0;i<256;i++) rasters_f[i]=rasters_e[i]=alloctab[i]=0; 59 | 60 | alloctab[0]=3; 61 | } 62 | 63 | void readcharset(char*name) 64 | { 65 | FILE*f=fopen(name,"rb"); 66 | int i=0; 67 | 68 | if(!f) { fprintf(stderr,"file not found: %d\n",name); exit(1); } 69 | 70 | for(;;) 71 | { 72 | int ch=fgetc(f); 73 | if(feof(f)) { fclose(f); return; } 74 | charset[i]=ch; i++; 75 | if((i&7)==0) alloctab[(i/8)-1]=7; 76 | } 77 | } 78 | 79 | void readbs(char*name) 80 | { 81 | FILE*f=fopen(name,"rb"); 82 | int i,lo,hi,start,end; 83 | unsigned char basechars[4] = { 0x00,0x55,0xaa,0xff }; 84 | 85 | if(!f) 86 | { 87 | fprintf(stderr,"file not found: %d\n",name); 88 | exit(1); 89 | } 90 | 91 | for(i=0;i<32;i++) mem[0x1800+i]=basechars[i>>3]; 92 | 93 | for(;;) 94 | { 95 | 96 | lo=fgetc(f); if(feof(f)) break; 97 | hi=fgetc(f); if(feof(f)) break; 98 | 99 | start=hi*256+lo; 100 | 101 | lo=fgetc(f); if(feof(f)) break; 102 | hi=fgetc(f); if(feof(f)) break; 103 | 104 | end=hi*256+lo; 105 | 106 | fprintf(stderr,"Reading block: %x..%x\n",start,end); 107 | 108 | for(;start>1); 126 | 127 | /* probe */ 128 | for(i=0;i<25*20;i++) 129 | { 130 | allocshape(mem+0x1800+8*mem[i+0x1d00],1); 131 | } 132 | /* final alloc */ 133 | for(i=0;i<25*20;i++) 134 | { 135 | scrmem[i]=allocshape(mem+0x1800+8*mem[i+0x1d00],0); 136 | colmem[i]=mem[i+0x9500]; 137 | } 138 | for(i=0;i<160;i++) 139 | { 140 | rasters_e[i]=mem[i+0x1f00]; 141 | rasters_f[i]=mem[i+0x1700]; 142 | } 143 | 144 | // fprintf(stderr,"Pic fetched: %d chars\n",numchars); 145 | } 146 | 147 | void dumpbyte(int byte) 148 | { 149 | static int column=0; 150 | 151 | if(byte<0) { printf("\n"); column=0; return; } 152 | if(column==15) { printf("\n"); column=0; } 153 | 154 | if(column==0) printf("!byte "); else printf(","); 155 | printf("$%02x",byte); 156 | column++; 157 | } 158 | 159 | int numvisiblecolumns=25; 160 | 161 | void dumpsource(char*basename) 162 | { 163 | int i,j,topchar=0; 164 | 165 | printf("\n%s_scrmem:\n",basename); 166 | 167 | for(i=0;i>4) | (rasters_f[i]&0xf0)); 196 | dumpbyte(-1); 197 | } 198 | 199 | int main(int argc,char**argv) 200 | { 201 | int i; 202 | 203 | if(argc<2) { fprintf(stderr,"usage: %s filename\n",argv[0]); exit(1); } 204 | 205 | inits(); 206 | // readcharset("chars.bin"); 207 | 208 | for(i=1;i255-.length) { 20 | !align $ff,0 21 | } 22 | } 23 | 24 | !macro ANCI .imm { 25 | !byte $0b,.imm 26 | ; and #.imm 27 | } 28 | -------------------------------------------------------------------------------- /robotic_liberation/loader/Makefile: -------------------------------------------------------------------------------- 1 | all: ../bin/boot.prg 2 | 3 | # ../bin/boot_dev.prg 4 | 5 | ../bin/boot.prg: boot_real.a65 boot.a65 loader.bin drive.bin 6 | acme boot_real.a65 7 | mv boot.prg ../bin/ 8 | 9 | ../bin/boot_dev.prg: boot_dev.a65 boot.a65 loader_dev.bin drive.bin 10 | acme boot_dev.a65 11 | mv boot_dev.prg ../bin/ 12 | 13 | loader.bin: loader_real.a65 loader.a65 14 | acme loader_real.a65 15 | 16 | loader_dev.bin: loader_dev.a65 loader.a65 17 | acme loader_dev.a65 18 | 19 | drive.bin: drive.a65 20 | acme drive.a65 21 | 22 | clean: 23 | rm -f *~ boot.prg boot_dev.prg 24 | rm -f loader.bin loader_dev.bin loader_glob.inc 25 | rm -f drive.bin drive_glob.inc 26 | -------------------------------------------------------------------------------- /robotic_liberation/loader/boot_dev.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=1 2 | !to "boot_dev.prg" 3 | !source "boot.a65" 4 | -------------------------------------------------------------------------------- /robotic_liberation/loader/boot_real.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=0 2 | !to "boot.prg" 3 | !source "boot.a65" 4 | -------------------------------------------------------------------------------- /robotic_liberation/loader/decomp.a65: -------------------------------------------------------------------------------- 1 | !to "decomp.testbin",plain 2 | 3 | ; RLE_ESCAPE -ehdokkaita: 4 | ; 167, 193, 196, 199, 212 5 | 6 | *=$666 7 | 8 | RLE_ESCAPE=167 9 | 10 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 11 | 12 | jsr getbyte ; get byte. 13 | 14 | ldx #0 ; 0 = wait4data, 1 = wait4count 15 | .rlemode=*-1 16 | beq .data 17 | 18 | cmp #RLE_ESCAPE ; if count = RLE_ESCAPE -> it is data 19 | beq .proc 20 | 21 | dec .rlemode 22 | 23 | tax 24 | .l0 lda #0 25 | .lastbyte=*-1 26 | jsr process 27 | dex 28 | bne .l0 29 | truereturn 30 | 31 | .data cmp #RLE_ESCAPE ; if data=RLE_ESCAPE: ignore byte, set mode 32 | bne .proc 33 | 34 | inc .rlemode 35 | return 36 | 37 | .proc sta .lastbyte ; note last databyte 38 | jsr process 39 | 40 | 41 | process: 42 | getbyte: 43 | -------------------------------------------------------------------------------- /robotic_liberation/loader/drive.a65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/loader/drive.a65 -------------------------------------------------------------------------------- /robotic_liberation/loader/listlogo.inc: -------------------------------------------------------------------------------- 1 | !byte 34,13,145 ; quotemode, newline, crsup 2 | !byte 32,144,162,162,162,32,162,32,164,32,162,32,162,162,162,13 3 | !byte 32,28,18,32,29,32,29,32,29,32,29,32,29,32,29,32,13 4 | !byte 32,156,18,32,162,162,29,32,184,32,184,32,29,32,162,162,13 5 | !byte 32,31,184,32,32,32,184,184,184,184,184,32,184 6 | -------------------------------------------------------------------------------- /robotic_liberation/loader/loader.a65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/loader/loader.a65 -------------------------------------------------------------------------------- /robotic_liberation/loader/loader_dev.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=1 2 | !to "loader_dev.bin",plain 3 | !source "loader.a65" 4 | -------------------------------------------------------------------------------- /robotic_liberation/loader/loader_real.a65: -------------------------------------------------------------------------------- 1 | DEVMODE=0 2 | !to "loader.bin",plain 3 | !source "loader.a65" 4 | -------------------------------------------------------------------------------- /robotic_liberation/texts_glob.inc: -------------------------------------------------------------------------------- 1 | nCHa = 4*8+0+128 2 | nCHb = 4*8+1+128 3 | nCHc = 6*8+4+128 4 | nCHd = 14*8+1+128 5 | nCHe = 5*8+4+128 6 | nCHf = 5*8+2+128 7 | nCHg = 6*8+1+128 8 | nCHh = 9*8+0+128 9 | nCHi = 12*8+5+128 ; 13*8+2+128 ; 8*8+3+128 10 | nCHj = 12*8+3+128 11 | nCHk = 5*8+0+128 12 | nCHl = 13*8+4+128 13 | nCHm = 11*8+0+128 14 | nCHn = 10*8+0+128 15 | nCHo = 10*8+1+128 16 | nCHp = 4*8+2+128 17 | nCHq = 4*8+5+128 18 | nCHr = 6*8+2+128 19 | nCHs = 5*8+3+128 20 | nCHt = 8*8+5+128 21 | nCHu = 7*8+1+128 22 | nCHv = 7*8+7+128 23 | nCHw = 7*8+6+128 24 | nCHx = 8*8+4+128 25 | nCHy = 9*8+3+128 26 | nCHz = 8*8+4+128 27 | -------------------------------------------------------------------------------- /robotic_liberation/utils/Makefile: -------------------------------------------------------------------------------- 1 | all: prg2vizldr rlecomp 2 | 3 | prg2vizldr: prg2vizldr.c 4 | gcc -O2 -s prg2vizldr.c -o prg2vizldr 5 | 6 | rlecomp: rlecomp.c 7 | gcc -O2 -s rlecomp.c -o rlecomp 8 | 9 | clean: 10 | rm -f *~ prg2vizldr 11 | -------------------------------------------------------------------------------- /robotic_liberation/utils/blkasm.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | $tempbin = 'TEMP%d.prg'; 4 | $tempsrc = 'TEMP.a65'; 5 | 6 | $assembler = 'acme'; 7 | $converter = '../utils/prg2vizldr'; 8 | 9 | $index=0; 10 | 11 | $cmd1 = "$converter "; 12 | 13 | sub compile 14 | { 15 | my $code = shift; 16 | my $bin = ''; 17 | 18 | return if(length($code)<1); 19 | 20 | open(G,">$tempsrc"); 21 | print G $code; 22 | close G; 23 | 24 | my $cmd0 = "$assembler $tempsrc"; 25 | my $errs = `$cmd0`; 26 | 27 | # my $cmd1 = "$converter $tempbin >> $target"; 28 | 29 | if($errs) 30 | { 31 | print "While compiling from $srcfname, '$cmd0' said:\n$errs\n"; 32 | exit 1; 33 | } 34 | } 35 | 36 | sub readsource 37 | { 38 | $srcfname = shift; 39 | my $f = ''; 40 | my $linenum = 0; 41 | 42 | print "Compiling $srcfname\n"; 43 | 44 | open(F,$srcfname); 45 | 46 | while() 47 | { 48 | if(substr($_,0,4) eq '#BLK') 49 | { 50 | my @op = split(' ',$_); 51 | my $l = 0; 52 | 53 | my $binname = sprintf($tempbin,$index++); 54 | 55 | &compile($f); 56 | if($op[0] eq '#BLKV') { $cmd1 .= " +$binname"; } 57 | elsif($op[0] eq '#BLKF') { $cmd1 .= " :$binname"; } 58 | else { $cmd1 .= " $binname"; } 59 | 60 | $f = "\n" x $linenum; # ... jotta saadaan errorit oikeille riveille 61 | 62 | $f ="!to \"$binname\"\n"; $l++; 63 | if($#op>=1) { $f.='*='.$op[1]."\n"; $l++; } 64 | 65 | $f .= ($linenum-$l) x "\n" if($linenum>$l); 66 | } 67 | else 68 | { 69 | $f.=$_; 70 | } 71 | 72 | $linenum++; 73 | } 74 | 75 | &compile($f); 76 | 77 | close F; 78 | } 79 | 80 | # args: first TARGETFILE, then SOURCEFILES 81 | 82 | $target = shift @ARGV or die 'Target filename missing'; 83 | foreach(@ARGV) 84 | { 85 | &readsource($_); 86 | } 87 | 88 | $cmd1 = "$cmd1 >> $target"; 89 | print "Running: $cmd1\n"; 90 | `$cmd1`; 91 | 92 | # `rm -f TEMP*.*`; 93 | -------------------------------------------------------------------------------- /robotic_liberation/utils/prg2vizldr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/utils/prg2vizldr.c -------------------------------------------------------------------------------- /robotic_liberation/utils/rlecomp.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define RLE_ESCAPE 182 5 | #define DEBUG 6 | 7 | void rawbyte(int data) 8 | { 9 | DEBUG(stderr,"- write: %d\n",data); 10 | 11 | putchar(data); 12 | } 13 | 14 | void databyte(int data) 15 | { 16 | if(data==RLE_ESCAPE) rawbyte(data); 17 | rawbyte(data); 18 | } 19 | 20 | int main() 21 | { 22 | int count=0,data,lastbyte=-1; 23 | 24 | for(;;) 25 | { 26 | 27 | data=fgetc(stdin); 28 | if(feof(stdin)) break; 29 | 30 | DEBUG(stderr,"read: %d\n",data); 31 | 32 | if(data==lastbyte) 33 | { 34 | count++; 35 | 36 | if(count==256) { rawbyte(RLE_ESCAPE); rawbyte(count&255); count=0; } 37 | } 38 | else 39 | { 40 | if(count>0) 41 | { 42 | if( ((count<3) && (lastbyte!=RLE_ESCAPE)) || 43 | ((count<2) && (lastbyte==RLE_ESCAPE))) 44 | { 45 | for(;count;count--) databyte(lastbyte); 46 | } 47 | else 48 | { 49 | rawbyte(RLE_ESCAPE); rawbyte(count&255); count=0; 50 | } 51 | } 52 | 53 | databyte(data); 54 | lastbyte=data; 55 | } 56 | } 57 | 58 | if(count>0) { rawbyte(RLE_ESCAPE); rawbyte(count&255); } 59 | 60 | return 0; 61 | } 62 | 63 | 64 | /* 65 | 66 | ; if(data==RLE_ESCAPE) 67 | 68 | format: 69 | 70 | x = escbyte 71 | d = databyte (non-escape) 72 | 0-9 = numbers 73 | 74 | compressed uncompressed 75 | 76 | d d 77 | dx1 dd 78 | dx2 ddd 79 | dx3 dddd 80 | dx0 d*256 81 | 82 | xx x 83 | xxxx xx 84 | xxx1 xx 85 | xxxxxx xxx 86 | xxx2 xxx 87 | 88 | */ -------------------------------------------------------------------------------- /robotic_liberation/utils/vic20-40960.c2n: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viznut/demoscene/0a9b663a18ce5c31a1243fbdb85794325eeed1d8/robotic_liberation/utils/vic20-40960.c2n -------------------------------------------------------------------------------- /robotic_liberation/waveforms.txt: -------------------------------------------------------------------------------- 1 | 15 NEW WAVEFORMS FOR THE VIC-20 2 | 3 | Written by viznut/pwp in the early June 2003 4 | 5 | Most VIC-20 people assume that the waveform of the VIC-I pulse channels 6 | ($900a..$900c) is generated by a simple flip-flop. This does not seem to be 7 | the case. 8 | 9 | By changing an oscillator's "on/off" bit very rapidly it is possible to get 10 | it in states that give out waveforms different to the normal 1:1 pulse 11 | waveform you have learned to expect from the VIC-20. 12 | 13 | An example: 14 | 15 | ; assume that the content of $900c has been $7e for a while 16 | ; (at least a couple of hundred cycles) 17 | 18 | ldx #$7e ; oscillator off, maximum shift rate (4 clocks) 19 | ldy #$fe ; oscillator on, maximum shift rate (4 clocks) 20 | lda #152 ; the initial frequency of the sound (can be any) 21 | 22 | sei ; the following stuff needs exact timing 23 | sty $900c ; push 1 to oscillator 24 | sty $900c ; push 1 to oscillator 25 | stx $900c ; push 0 to oscillator 26 | sta $900c ; and let it rotate on its own 27 | cli 28 | 29 | This gives out the waveform later referred to as the "110" wave. 30 | 31 | The following is my current theory about the VIC-I sound: 32 | 33 | Each VIC-I voice has: 34 | - an 8-bit shift register 35 | - a 7-bit counter 36 | - a 7-bit frequency value 37 | - on/off bit 38 | 39 | The clock rates for each voice: 40 | - $900c: cpuclock/4 41 | - $900b: cpuclock/8 42 | - $900a: cpuclock/16 43 | - $900d: cpuclock/32 (?) 44 | 45 | When a voice gets a clock cycle: 46 | - The counter value is incremented by 1. 47 | - If the incremented value is all ones ($7F), the counter is reset 48 | to the frequency value. Also, the channel's shift register is shifted. 49 | 50 | The shift function for pulsewave channels: 51 | - Shift all bits left by one position. 52 | - If the voice is ON: the lowest bit becomes the complement of the 53 | previous top bit. 54 | - If the voice is OFF: the lowest bit becomes zero. 55 | - The lowest bit of the shift register is the output 56 | - In formal C-like code: 57 | reg = (reg<<1) | ( ((reg>>7)^1) & voiceon); 58 | 59 | The shift function for noise is probably something akin to that of the TED 60 | chip used in the C-16 and the Plus-4. 61 | 62 | Waveforms: 63 | 64 | These are the 16 possible waveforms according to the theory: 65 | 66 | NAME SHAPE 67 | 68 | default 0000000011111111 00 69 | "10" 0000001011111101 01 70 | "100" 0000010011111011 02 71 | "110" 0000011011111001 03 72 | "1000" 0000100011110111 04 73 | "1010" 0000101011110101 05 74 | "1100" 0000110011110011 06 75 | "1110" 0000111011110001 07 76 | "10010" 0001001011101101 09 77 | "10100" 0001010011101011 0a 78 | "10110" 0001011011101001 0c 79 | "11000" 0001100011100111 0d 80 | "11010" 0001101011100101 12 81 | "100100" 0010010011011011 15 82 | "101010" 0010101011010101 16 83 | "101100" 0010110011010011 84 | 85 | "1011" 0000110011110011 ?? 86 | ^^ 87 | 88 | 89 | A short generic routine for setting any shift register value for any pulse 90 | channel in about 150 cpu clocks. Use it freely. 91 | 92 | setwave: 93 | ; USAGE: y = channel ($0a..$0c) 94 | ; x = initial frequency 95 | ; a = shift register contents 96 | ; 97 | ; WARNING for purists: self-modifying code, illegal opcodes. 98 | ; 99 | ; code align assertion: make sure that the loop is within a page. 100 | ; oscillator assertion: make sure that the channel has been at $7e 101 | ; for some time before calling this function. 102 | ; put TMP and TMP2 in the zero page. 103 | 104 | stx .initfreq ; 4 105 | 106 | sty .ch0 ; 4 107 | sty .ch1 ; 4 108 | ldx .ldfqmasks-$a,y ; 4 109 | sta TMP ; 3 110 | 111 | ora #$7f ; 2 112 | 113 | axs $900c ; 4 [$900c] = a AND x 114 | .ch0=*-2 115 | sty TMP2 ; 3 116 | ldy #7 ; 2 117 | 118 | .l0: lda #$7f ; 2 119 | aso TMP ; 5 asl tmp; a = [tmp] OR $7f 120 | axs $900c ; 4 [$900c] = a AND x 121 | .ch1=*-2 122 | dey ; 2 123 | bne .l0 ; 3 124 | 125 | lda #128 ; 2 126 | .initfreq=*-1 127 | nop ; 2 128 | ldy TMP2 ; 3 129 | .noset: sta $9000,y ; 5 130 | 131 | rts ; 6 total clocks 11+4+3+2+16*7+16+6 eq 154 132 | 133 | .ldfqmasks: 134 | !byte $fe ; $900a - 1 x 16 clocks/bit 135 | !byte $fd ; $900b - 2 x 8 clocks/bit 136 | !byte $fb ; $900c - 4 x 4 clocks/bit 137 | -------------------------------------------------------------------------------- /robotic_warrior/Makefile: -------------------------------------------------------------------------------- 1 | all: warrior 2 | 3 | warrior.bin: warrior.a65 4 | xa warrior.a65 -o warrior.bin 5 | 6 | warrior.239: warrior.bin 7 | pucrunch -c20 -m5 -fshort -x0x1d00 -i0 < warrior.bin > warrior.239 8 | 9 | warrior.239.inc: warrior.239 10 | ./makeintroframe.pl < warrior.239 > warrior.239.inc 11 | 12 | warrior: warrior.239.inc intro.a65 13 | xa intro.a65 -o warrior 14 | 15 | clean: 16 | rm -f *~ warrior.239 warrior.239.inc warrior.bin warrior 17 | -------------------------------------------------------------------------------- /robotic_warrior/README.md: -------------------------------------------------------------------------------- 1 | # Robotic Warrior (2003) 2 | 3 | A single-load (~4K) demo for the Commodore VIC-20. Won the main demo 4 | competition at the Alternative Party 2003. 5 | 6 | The main technical point in this one is the singing speech synthesizer that 7 | somewhat depends on the visible lyrics for its illusion. The graphics images 8 | are compressed to 1 bit per visible 8x8-pixel character. 9 | 10 | https://www.pouet.net/prod.php?which=8549 11 | http://pelulamu.net/viznut/demos/rw/ 12 | -------------------------------------------------------------------------------- /robotic_warrior/makeintroframe.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | $data.=$_ while(<>); 4 | @d=split('',$data); 5 | 6 | $loadaddr = ord($d[0])+256*ord($d[1]); 7 | $execaddr = $d[7]*1000+ 8 | $d[8]*100+ 9 | $d[9]*10+ 10 | $d[10]; 11 | 12 | printf (".word \$%04X\n*=\$%04X\noldstart=\$%04X\n\n", 13 | $loadaddr,$loadaddr,$execaddr); 14 | printf ('.byt $%02X,$%02X,$%02X,$%02X,$%02X', 15 | ord($d[2]),ord($d[3]),ord($d[4]),ord($d[5]),ord($d[6])); 16 | print <