Gönderen Konu: SPECTRUM BASIC ve Z80 MAKINE KODU kitabı (pdf)  (Okunma sayısı 2057 defa)

Hızlı düğmeleri aç

Alcofribas

İleti: 130

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://www.amstradcpc.com/blog
Alcofribas Yayıncılık ve Dokümantasyon Hizmetlerinden sizler için bir bayram hediyesi.

Spectrum için Türkçe olarak yayınlanmış nadir kitaplardan biri olan bu eser, Feridun Aker tarafından Yunus Yayıncılık için hazırlanmış. Toplam 282 sayfadan oluşmaktadır.

Kitap, saman kağıdına siyah/beyaz basılı olmasından dolayı yine siyah/beyaz olarak taranmıştır. Kapak dosyası renkli olarak ayrıca eklenmiştir. Dosyanın PDF halinin boyutu 15MB kadardır.

Umarım işinize yarar...

SPECTRUM_BASIC_Z80_MAKINE_KODU.pdf



SPECTRUM BASIC ve Z80 MAKINE KODU kitabı (pdf)

« Yanıtla #1 : 29.09.2008 05:06:09 »
Hızlı düğmeleri aç

ssg

İleti: 331

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
alcofribas her zamanki gibi supersin.
 
emegine saglik + rep.

SPECTRUM BASIC ve Z80 MAKINE KODU kitabı (pdf)

« Yanıtla #2 : 03.10.2008 17:29:03 »
Hızlı düğmeleri aç

Alcofribas

İleti: 130

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://www.amstradcpc.com/blog
Kitabı OCR yapmayı denedik. Metin kısımları oldukça başarılı olmasına rağmen kod kısımları saman kağıdına ve nokta vuruşlu yazıcı çıkışı olmasından ötürü kabul edilemez bir sonuç verdi.

Kodları yazıp test edenler buraya eklerse seviniriz. ılk parça ref'den geliyor:

Kod: [Seç]
1 REM   LASER SAVASI
  15 RANDOMIZE
  20 PRINT AT 10,0;"ACIKLAMA e/h": BEEP .05,2: BEEP .05,4
  25 PAUSE 0
  30 IF INKEY$="e" OR INKEY$="E" THEN GO SUB 8500
  50 LET hs=0
  60 RESTORE 9000: GO SUB 9000
  70 PAPER 0: BORDER 5: INK 5: CLS
  80 FOR f=0 TO 31: PRINT AT 0,f; PAPER 5;" ": NEXT f
  90 FOR f=0 TO 31 STEP 31: FOR g=1 TO 21: PRINT AT g,f; PAPER 5;" ": NEXT g: NEXT f
 100 LET k=0
 110 FOR f=1 TO 9: FOR g=1 TO 9-k
 120 PRINT AT f,g; PAPER 5;" "
 130 NEXT g
 140 LET k=k+1
 150 NEXT f
 160 LET k=0
 170 FOR f=1 TO 9: FOR g=22+k TO 30
 180 PRINT AT f,g; PAPER 5;" "
 190 NEXT g
 200 LET k=k+1
 210 NEXT f
 220 PRINT AT 12,15; PAPER 5;"  ";AT 13,14;"    ";AT 14,13;"      ";AT 15,12;"        "
 230 FOR f=16 TO 21: FOR g=11 TO 20: PRINT AT f,g; PAPER 5;" ": NEXT g: NEXT f
 240 LET k=10: LET p=21
 250 FOR f=1 TO 10
 260 PRINT AT f,k; INVERSE 1;"\a";AT f,p;"\b": REM A ve B grafik modda yazilmali
 270 LET k=k-1: LET P=p+1
 280 NEXT f
 290 LET k=14: LET p=17
 300 FOR f=12 TO 15
 310 PRINT AT f,k;"\a";AT f,p;"\b": REM 'A ve'B' Grafikmodda yazilmalidir.
 320 LET k=k-1: LET p=p+1
 330 NEXT f
 340 LET S=0: LET mi=0: LET C=1
 350 IF s>hs THEN LET hs=S
 360 PAPER 5: INK 0: PRINT AT 0,0;"PUAN ";s,"REKOR ";hs;AT 17,12;" KACAN ";AT 19,15;mi
 370 LET h=INT (21+9*RND): LET v=21
 380 IF C<20 THEN LET a$=&quot;\e&quot;: LET Co=2: REM  'E'  Grafik WOdda...
 390 IF c>=20 THEN LET a$=&quot;\d&quot;: LET co=6: REM 'D'grafik Odda...
 400 LET g=5
 410 PRINT PAPER 0;AT 21,1;&quot;          &quot;
 420 PAPER 0: INK 7: PRINT AT 21,g;&quot; \c &quot;: REM  Grafik  modda  'C'&quot;
 430 PRINT INK co;AT v,h;a$
 440 IF INKEY$=&quot;b&quot; THEN GO SUB 7900: IF g=30-h THEN GO TO 7100
 450 LET g=g+(INKEY$=&quot;8&quot; AND g<9)-(INKEY$=&quot;5&quot; AND g>0)
 460 LET vy=INT (RND*60-C)+1
 470 IF vy<2 THEN PRINT AT V,h;&quot; &quot;: LET v=v-1
 480 IF v=12 THEN GO TO 7500
 500 IF RND<.15 AND h<30 THEN PRINT AT V,h;&quot; &quot;: LET h=h+1: GO TO 410
 510 IF RND<.3 AND h>21 THEN PRINT AT V,h;&quot; &quot;: LET h=h-1
 520 GO TO 410
7100 FOR q=1 TO 3: PRINT AT V,h; FLASH 1; BRIGHT 1; INK 2;&quot;*&quot;: BEEP .001,50: BEEP .001,40: BEEP .001,20: BEEP

.002,1: NEXT q
7110 PRINT AT V,h;&quot; &quot;
7115 LET s=s+5+c*3: LET C=C+1
7120 GO TO 350
7500 PRINT FLASH 1; BRIGHT 1;AT v,h;&quot;*&quot;: BEEP .05,-2: BEEP .05,-12: BEEP .02,-40: PRINT AT V,h;&quot; &quot;: LET

mi=mi+1
7505 IF mi=5 THEN GO TO 7600
7510 GO TO 350
7600 PRINT AT 10,13;&quot;COK KACIRDINIZ&quot;: PAUSE 50: PRINT AT 5,1;&quot;PUANINIZ &quot;;s: FOR f=30 TO -30: BEEP .0025,f:

NEXT f: PRINT AT 20,3;&quot;OYUN icin tusa basin&quot;
7610 PAUSE 0
7620 GO TO 60
7900 BEEP .01,1: BEEP .01,15: BEEP .01,35
8000 BEEP .01,1: BEEP .01,15: BEEP .01,35
8010 PLOT g*8+12,9: DRAW 0,75+g*8: BEEP .01,30: PLOT OVER 1;g*8+12,9: DRAW OVER 1;0,75+g*8: BEEP .015,35
8020 PLOT g*8+12,9+(75+g*8): DRAW 232-g*16,0: PLOT OVER 1;g*8+12,9+(75+g*8): DRAW OVER 1,232-g*16,0
8030 PLOT (g*8+12)+(232-g*16),9+(75+g*8): DRAW 0,-(75+g*8): BEEP .0075,20: PLOT OVER 1;(g*8+12)+(232-

g*16),9+(75+g*8): DRAW OVER 1;0,-(75+g*8)
8040 RETURN
8500 PRINT ''TAB 10;&quot;ATIS&quot;: PRINT &quot;5-8   ILE  POZISYON DEGISTIRIR B ILE LASER TOPUNUZU  ATESLEY IN&quot;: PRINT &quot;5

UZAYLI  KACTIGINDA OYUN BITER&quot;: PRINT ''&quot;>>>&quot;: PAUSE 0: RETURN
9000 FOR f=144 TO 148: FOR n=0 TO 7: READ Z
9020 POKE USR CHR$ f+n,Z: NEXT n: NEXT f
9030 DATA 1,3,7,15,31,63,127,255
9031 DATA 128,192,224,240,248,252,254,255
9032 DATA 24,24,60,60,60,126,126,126
9033 DATA 60,126,219,219,126,60,66,129
9034 DATA 129,102,126,60,60,126,102,129
9040 RETURN

SPECTRUM BASIC ve Z80 MAKINE KODU kitabı (pdf)

« Yanıtla #3 : 03.10.2008 21:54:31 »
Hızlı düğmeleri aç

ref

İleti: 256

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
devam edeyim, bu da matris oyunu listesi

Kod: [Seç]
1 REM MATRIS OYUNU
5 BORDER 1: PAPER 3: INK 7
10 PRINT AT 10,10;&quot;MATRIS OYUNU&quot;
11 PAUSE 50: CLS
13 PRINT AT 13,7;&quot;ADINIZ ?&quot;
14 INPUT N$
15 CLS
16 IF LEN N$<9 THEN GO TO 19
17 PRINT AT 13,3;&quot;ADINIZ COK UZUN&quot;
18 GO TO 14
19 PRINT AT 10,2;&quot;LUTFEN BEKLEYINIZ&quot;
20 REM MATRIS SAYILARININ OLUSTURULMASI
21 LET LP=0
22 LET MO=2
25 DIM B$(8,16)
30 LET A$=&quot;*15100909090808080707070608060505050404040303030202020101010000000000-1-1-1-2-2-2-3-3-3-4-4-4-5-5-5-6-6-6-7-7-7-8-8-8-9-9-9-900  &quot;
40 FOR N=1 TO 8
50 FOR M=1 TO 8
60 LET A=INT ((RND*((LEN A$-1)/2))+1)*2
70 LET B$(N,M*2-1 TO M*2)=A$(A TO A+1)
80 IF a$(a TO a+1)=&quot;  &quot; THEN GO SUB 1500
90 LET A$=A$(1 TO A-1)+A$(A+2 TO LEN A$)
100 NEXT M
110 NEXT N
120 REM DEGISKENLERIN DEGERI
130 LET S=0
140 LET T=0
160 GO SUB 700
170 REM HAMLELER
175 GO SUB 3000
180 PRINT AT 2*Y,1+(X-1)*3; INVERSE 1;&quot;**&quot;
190 PRINT AT 2*Y,1+(X-1)*3;B$(Y,2*X-1 TO 2*X)
200 IF INKEY$=&quot;&quot; THEN GO TO 180
210 LET A$=INKEY$
213 IF A$=&quot;U&quot; THEN GO TO 920
215 IF A$<>&quot;8&quot; AND A$<>&quot;5&quot; AND A$<>&quot;0&quot; THEN GO TO 180
219 IF A$=&quot;0&quot; AND B$(Y,2*X-1 TO 2*X)=&quot;  &quot; THEN GO TO 180
220 IF A$=&quot;0&quot; THEN GO TO 270
230 LET X=X+(A$=&quot;8&quot;)-(A$=&quot;5&quot;)
240 IF X>8 THEN LET X=1
250 IF X<1 THEN LET X=8
260 IF B$(Y,2*X-1)=&quot; &quot; THEN GO TO 230
265 GO TO 180
270 LET LP=VAL B$(Y,2*X-1 TO 2*X)
275 PRINT AT 2*Y,1+(X-1)*3;&quot;  &quot;
280 LET S=S+LP
290 LET MO=1
295 LET B$(Y,2*X-1 TO 2*X)=&quot;  &quot;
297 GO SUB 765
300 REM BILGISAYARIN HAMLESI
301 GO SUB 4000
305 DIM R(8)
310 FOR N=1 TO 8
315 LET V=-100
325 IF N=Y THEN GO TO 430
330 IF B$(N,2*X-1 TO 2*X)<>&quot;  &quot; THEN GO TO 360
340 LET W=-100
345 IF N=Y THEN GO TO 420
350 GO TO 370
360 LET W=VAL B$(N,2*X-1 TO 2*X)
370 FOR M=1 TO 8
380 IF M=X THEN GO TO 410
390 IF B$(N,M*2-1 TO M*2)=&quot;  &quot; THEN GO TO 410
395 IF VAL B$(N,M*2-1 TO M*2)<V THEN GO TO 410
400 LET V=VAL B$(N,M*2-1 TO M*2)
410 NEXT M
420 LET R(N)=W-V
430 NEXT N
440 LET V=-100
450 FOR N=1 TO 8
460 IF B$(N,2*X-1 TO 2*X)=&quot;  &quot; THEN GO TO 489
470 IF R(N)<V THEN GO TO 489
475 LET V=R(N)
480 LET Y=N
489 NEXT N
490 LET LP=VAL B$(Y,2*X-1 TO 2*X)
500 LET T=T+LP
505 PRINT AT Y*2,1+(X-1)*3;&quot;  &quot;
510 LET B$(Y,2*X-1 TO 2*X)=&quot;  &quot;
520 LET MO=2
530 GO SUB 765
540 GO TO 170
699 REM TABLONUN CIZIMI
700 CLS
701 PRINT AT 0,0; INVERSE 1;&quot;          MATRIS         &quot;
706 FOR N=1 TO 8
710 PRINT AT (2*N)-1,0; INVERSE 1;&quot;                         &quot;
720 FOR M=1 TO 8
730 PRINT AT 2*N,(M-1)*3; INVERSE 1;&quot; &quot;; INVERSE 0;B$(N,2*M-1 TO 2*M)
740 NEXT M
745 PRINT AT 2*N,24; INVERSE 1;&quot; &quot;
750 NEXT N
760 PRINT AT 17,0; INVERSE 1;&quot;                         &quot;
770 PRINT AT 19,2;N$;&quot; : &quot;;S;&quot;  &quot;
780 PRINT AT 21,2;&quot;ZXSP : &quot;;T;&quot;  &quot;
790 PRINT AT 19,14;&quot;ALINAN SAYI : &quot;;LP;&quot;  &quot;
795 PRINT AT 21,14;&quot;                 &quot;
800 IF MO=1 THEN PRINT AT 21,14;&quot;OYNUYORUM     &quot;
810 IF MO=2 THEN PRINT AT 21,14;&quot;OYNA &quot;;N$
820 RETURN
910 REM OYUN SONU
920 CLS
925 PRINT AT 4,8; INVERSE 1;&quot;#############&quot;
930 PRINT AT 5,8; INVERSE 1;&quot;# oyun sonu #&quot;
935 PRINT AT 6,8; INVERSE 1;&quot;#############&quot;
940 PRINT AT 9,7;&quot;PUANIM   &quot;;T
950 IF S<>T THEN GO TO 1000
955 PRINT AT 13,7;&quot;PUANINIZ&quot;
970 PRINT AT 17,6;&quot;CEK !&quot;
990 IF INKEY$=&quot;&quot; THEN GO TO 990
995 GO TO 1200
1000 IF S>T THEN GO TO 1050
1010 PRINT AT 17,9; INVERSE 1;&quot;KAZANDIM&quot;
1020 IF INKEY$=&quot;&quot; THEN GO TO 1020
1030 GO TO 1200
1055 PRINT AT 17,6;&quot;KAZANDIN &quot;;N$
1070 IF INKEY$=&quot;&quot; THEN GO TO 1070
1200 CLS
1210 PRINT AT 10,3;&quot;YENI OYUN ?&quot;
1220 INPUT U$
1230 CLS
1240 IF U$(1)=&quot;E&quot; THEN RUN
1250 PRINT AT 10,11;&quot;TESEKKURLER &quot;;N$
1260 STOP
1500 LET Y=N
1510 LET X=M
1520 RETURN
2999 REM OYUNSONU TEST
3000 IF B$(Y)=&quot;                &quot; THEN GO TO 920
3010 RETURN
4000 LET C$=&quot;&quot;
4005 FOR N=1 TO 8
4010 LET C$=C$+B$(N,X*2-1 TO X*2)
4020 NEXT N
4030 IF C$=&quot;                &quot; THEN GO TO 920
4040 RETURN
5000 REM KAYIT
5010 SAVE &quot;MATRIS&quot;
5020 RUN