martes, 22 de marzo de 2016

Dongle Device


Hubo tecnicas de hardware de proteccion

phaeron has updated Altirra to emulate a simple dongle device. We will now be able to run the preserved copies of Leader Board and File Manager 800.

File Manager 800 = set the dongle port for 1 and use  0FFFFFF70FFFFFF7 as the bit pattern.
Leader Board = set the dongle port to 2 and use CCCCCCCCCCCCCCCC as the bit pattern.

The Paperclip dongle is a bit more complex as it has a built in chip that simulates variable joystick movement and cannot be emulated.

Altirra una vez mas haciendo de las suyas.

lunes, 21 de marzo de 2016

K-Power Magazine: Joey Ramone - S.L.U.G.

In the 2nd issue of K-Power magazine (March 1984) was published basic listing of a known song of Joey Ramone called Slug.

I have fixed the OCR from archive.org, but still there are some bugs that I cannot find (besides there is some assembler that probably has to be reviewed as well).

Leaving here the code, if someone else wants to help-

I published this post in AA 

Misma revista tiene foto de Joey en la oficinas de la revista: https://manillismo.blogspot.com/2009/02/hey-ho-lets-go.html

En el hilo de Atari Rock 'n Roll de Atariware tambien estamos intentando replicar el programa de Joey Ramone.











5 rem ATARI/SLUG
6 rem 400 or 800  32K RAM  color TV or monitor optional
10 POKE 106,PEEK(106)-4:GRAPHICS 0:FLAG=1
20 DIM A$(42),F$(50),V(3),BORDER$(40),BR$(5),SLUG$(40),SLS(7),TIM(15),ISTS(10)
30 PRINT CHR$(125):POKE 752,1 : SETCOLOR 1,0,0:SETCOLOR 2,12,6:SETCOLOR 4,5,0
40 BR$="SLUG*":FOR X=0 TO 4:BR$(X+1,X+1)=CHR$(ASC(BR$(X+1,X+1))+128):NEXT X
50 FOR X=0 TO 35 STEP 5:BORDER$(X+1 ,X+5)=BR$:NEXT X
60 FOR X=2 TO 37:POSITION X,1:PRINT BORDER$(X-1 ,X-1 ); : POSITION 39-X,21:PRINT BORDER$(X-1 ,X-1 ); :NEXT X
70 FOR Y=2 TO 20:POSITION 2,Y:PRINT BORDER$(22-Y,22-Y) ;:POSITION 37,Y:PRINT BORDER$(Y,Y); :NEXT Y
80 POSITION 14,0:PRINT "TUNING UP..."
90 RESTORE 5000:FOR X=1 TO 15:READ A:TIM(X)=A:NEXT X:POKE 82,4
100 RESTORE 6000:FOR X=1 TO 10:READ A: IST$(X,X)=CHR$(A):NEXT X
110 SL$="%]aaaa:":SLUG$=" ":SLUG$(37)=SLUG$:SLUG$(2)=SLUG$
120 SLUG$(1,7)=SL$:SLUG$(14,21)=SL$:SLUG$(28,34)=SL$
130 RESTORE 3000:FOR X=1536 TO 1768:READ A:POKE X,A:NEXT X
140 V(0)=(PEEK(106)+1)*256:V(1)=V(0)+197:V(2)=V(1)+93:V(3)=V(2)+93
150 FOR X=0 TO 3:HI=INT(V(X)/256):LO=V(X)-(HI*256)
160 POKE 1753+X*2,LO:POKE 1761+X*2,LO
170 POKE 1754+X*2,HI:POKE 1762+X*2,HI :NEXT X
180 RESTORE 4000:FOR X=1 TO 42:READ A: A$(X,X)=CHR$ (A) :NEXT X
190 RESTORE 2000:C=0:FOR X=1 TO 17:READ F$:FOR Y=1 TO LEN(F$)
200 Z=ASC(F$(Y,Y))-48:POKE V(0)+C,ASC(A$(Z,Z)):C=C+1
210 NEXT Y:NEXT X
220 SOUND 0,0,10,10:SOUND 1,0,10,10:SOUND 2,0,10,10:SOUND 3,0,10,10
230 A=USR(ADR(IST$))
240 C=1:RESTORE 1000:TIME=50:POSITION 4,3
250 L=TIM(C):READ F$
260 POSITION 4,C+2:PRINT F$
270 SL$=SLUG$(1):SLUG$(1)=SLUG$(2):SLUG$(37)=SL$
280 POSITION 1,0:PRINT SLUG$(1,37);:POSITION 1,22:PRINT SLUG$(1,37);
290 L=L-1:IF L>0 THEN 270
300 C=C+1:IF C=16 THEN 320
310 GOTO 250
320 READ F$:PRINT CHRS(125):POSITION 13,10:PRINT F$:POKE 88,PEEK(88)+120:POSITION 0,23:STOP
1000 DATA Ly'in in bed one sum-mer ¦ s night
1010 DATA Ev ry thing, wa-as all right
1020 DATA Some thing star ted
1030 DATA craw lin on me S. L. U. G.
1040 DATA Why why I saw her walk ing,in the woods last ni ight
1050 DATA And I knew some thin', was n't ri i i
1060 DATA -ight S L U G Ah no no no no
1070 DATA Why'd she have to Go oh oh oh
1080 DATA And I knew that if I
1090 DATA Had her back to day ay -yes
1100 DATA I know (I know) I know (I know)
1110 DATA Why is it always this way?
1120  DATA S - L - U - G
2000 DATA 3=K7K7J;K;J;K7H;JEH;J;KAK7J7H;
2010 DATA JA25JMH;J;2NK;K707K7K7K707K;K;
2020 DATA J;K;1;K707K7K;07K;H;J;H7J7K;K7
2030 DATA 07K7K;07K;K;0;K;1;L7L7L=L7L;L;
2040 DATA K;J;2G1AL;L;H;J;K;L;K;K;L;J7K;
2050 DATA 0=17K;07K71I07K71PJ;J;H;F7J7H;
2060 DATA JA681;K707K7K71RZ4<H;H7H7K;K7K
2070 DATA 7F;F7F7J;J7J783D793H793K793F79
2080 DATA 3D793C793B72:1;?7?71I?7?71AD71
2090 DATA U49?ri?;a;8;D;FIB;DMZ4<K;K7K70;
2100 DATA 0707S;S7S7Q;Q7Q783L793K7930793
2110 DATA S793Q793H793K72:1;B7B71I87B71A
2120 DATA a71U49?MH;J;K;L;0IK;LMZ4>T7T7T
2130 DATA 7T7V7V7V7V7X7X7X7X7W7w7W7W783W
2140 DATA 793T793V793X793W793Y793V793X72
2150 DATA 4W71 U93T763X763W793T763X763W79
2160 DATA 3T763X763W793T763X763W7Z
3000 DATA 72,8,152,72,138,72,162,3,188
3010 DATA 197,6,185,217,6,133,203,185,213
3020 DATA 6,133,204,189,201,6,201,5,208
3030 DATA 8,169,0,153,0,210,76,166,6
3040 DATA 201,0,208,126,189,209,6,221,213
3050 DATA 6,208,18,222,205,6,189,205,6
3060 DATA 201,0,240,35,169,0,157,209,6
3070 DATA 76,40,6,188,209,6,177,203,72
3080 DATA 200,177,203,157,201,6,200,152,157
3090 DATA 209,6,188,197,6,104,153,0,210
3100 DATA 76,166,6,188,209,6,177,203,201
3110 DATA 255,240,30,157,205,6,200,177,203
3120 DATA 157,213,6,200,152,24,101,203,133
3130 DATA 203,169,0,101,204,133,204,169,0
3140 DATA 157,209,6,76,40,6,188,197,6
3150 DATA 185,225,6,153,217,6,185,226,6
3160 DATA 153,218,6,169,0,157,201,6,157
3170 DATA 209,6,157,213,6,169,1,157,205
3180 DATA 6,76,8,6,188,197,6,165,203
3190 DATA 153,217,6,165,204,153,218,6,222
3200 DATA 201,6,202,48,3,76,8,6,104
3210 DATA 170,104,168,40,104,76,98,228,0
3220 DATA 2,4,6,0,0,0,0,1,1
3230 DATA 1,1,0,0,0,0,0,0,0
3240 DATA 0,0,0,0,0,0,0,0,0
3250 DATA 0,0,0,0,0,0,0,0
4000 DATA 0,1,2,4,6,8,10,12,16,18,20,24
4010 DATA 30,32,35,37,40,42,45,47,50
4020 DATA 53,56,57,60,64,72,76,80,82
4030 DATA 85,90,96,100,108,144,150,173