Autore Topic: Commodore C128D  (Letto 24802 volte)

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #45 il: 25 Febbraio 2015, 19:13:07 »
E comunque, uscirono fuori poi altri piccoli problemi dovuti agli ultimi tipi di gioco per Commodore64 che erano diventati ormai dei supergames perche' si potevano caricare da floppy e mentre il gioco si caricava, partiva pure la musica e la grafica su video, cosa che fare con un commodore64 sembrava impossibile... eppure...

Ora, questo tipo particolare di caricamento, ogni tanto mandava in tilt il Commodore128 in modalita' 64. Francamente non ho mai approfondito il motivo per cui accadesse, probabilmente come gia' detto, si accedeva a locazioni di memoria che nel C64 andavano bene mentre nel C128 no.


Con circa 10,000 titoli a disposizione per il C64 non credo che questo fosse un problema particolarment sentito.
 
Comunque sarebbe interessante avere una lista completa dei titoli che non sono compatibili. 
 
Se la percentuale indicata in precedenza di 3% incompatibilita' ci dovrebbero essere quindi 300 titoli.
 
 

Se gli ingegneri Commodore devono essere crocifissi, la giusta causa sarebbe rappresentata dal fatto che alle locazioni $FF00-$FF04 avevano mappato 5 registri dell'MMU, qualunque fosse le configurazione di memoria. Questo è SICURAMENTE fonte d'incompatibilità col Commodore 64, visto che in quell'area poteva essere mappata sia ROM (il Kernal) sia RAM, a seconda della configurazione selezionata.


Confermi se questo succede anche sul 128D.
 
Potrebbe trattarsi solo di un problema teorico che non si e' mai verificato in pratica. Nel senso che si dovrebbe individuare i titoli che effettivamente usavano quelle locazioni.
 
 
Da circa 2 anni e mezzo uso saltuariamente il C128D e finora non ho riscontrato nessun problema di compatibilita', sia con giochi che con applicazioni varie.
 
 
 

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Commodore C128D
« Risposta #46 il: 25 Febbraio 2015, 19:15:54 »

Se gli ingegneri Commodore devono essere crocifissi, la giusta causa sarebbe rappresentata dal fatto che alle locazioni $FF00-$FF04 avevano mappato 5 registri dell'MMU, qualunque fosse le configurazione di memoria. Questo è SICURAMENTE fonte d'incompatibilità col Commodore 64, visto che in quell'area poteva essere mappata sia ROM (il Kernal) sia RAM, a seconda della configurazione selezionata.


Confermi se questo succede anche sul 128D.
Sì, l'hardware è lo stesso.
Citazione
Potrebbe trattarsi solo di un problema teorico che non si e' mai verificato in pratica. Nel senso che si dovrebbe individuare i titoli che effettivamente usavano quelle locazioni.
Esattamente. Se un gioco o applicazione utilizzava quelle locazioni, molto probabilmente non avrebbe funzionato o avrebbe bloccato il sistema (visto che l'MMU gestisce la mappatura della memoria).
Citazione
Da circa 2 anni e mezzo uso saltuariamente il C128D e finora non ho riscontrato nessun problema di compatibilita', sia con giochi che con applicazioni varie.
Beh, ci sono tantissimi giochi per Commodore 64, e non so quanti facciano specifico uso di quelle locazioni.

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #47 il: 26 Febbraio 2015, 00:01:14 »
Il compare Miro mi ha indicato una procedura per copiare gli archivi CP/M su un dischetto. 
 
Questo fine settimana ci voglio provare.
 
Ecco qui il suo sito con tante altre informazioni.
 
http://commodore128.mirkosoft.sk/cpm.html

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #48 il: 01 Marzo 2015, 02:06:32 »
Quella procedura (indicata apposta per l'emulatore Vice) sembra che funzioni con 2 C1541.  Il C128D ha un lettore 1571 incorporato e io ho aggiunto un C1581 esterno. 

Sotto CP/M non sono riuscito a formattare il dischetto da 3 1/2.


 

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Commodore C128D
« Risposta #49 il: 07 Marzo 2015, 15:37:08 »
Guardate che ho trovato
http://www.youtube.com/watch?v=UDhFfSjvEvQ

:D

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #50 il: 08 Marzo 2015, 03:33:50 »
meraviglia  :o :o :o :o

Pura.

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Commodore C128D
« Risposta #51 il: 10 Marzo 2015, 12:11:53 »
Notevole! Che ganzata  ;D

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #52 il: 10 Marzo 2015, 16:06:47 »
http://cbm8bit.com/8bit/commodore/search?query=C128+dual+demo
Direi che questo e' il demo presentato nel video.
 

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Commodore C128D
« Risposta #53 il: 10 Marzo 2015, 16:09:27 »
il tizio ha messo i link diretti nella video description.

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #54 il: 11 Marzo 2015, 00:09:14 »
E' scritto in basic.

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:Commodore C128D
« Risposta #55 il: 11 Marzo 2015, 00:10:13 »
in basic si, ma sicuramente ci sono pezzi in linguaggio macchina iniettati a colpi di POKE :)

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #56 il: 11 Marzo 2015, 00:24:04 »
Il programma "demo" svolge anche una funzione di "loader" per gli "sprites".  Le subroutines sono al 6820.  Nella D64 ci sono infatti 4 programmi. 
 
L'ho listato con WinVice

1 PRINTCHR$(14):GRAPHIC0,1:M=0
31 COLOR0,1:COLOR4,1:COLOR6,1
61 PRINT"..":gosub 1471
91 fa=8:fb=14:sl=1
121 a$="                 C128-Demo:             "
151 b$="               Done by Flexman          "
181 rempoke0,peek(0)or64
211 rempoke1,peek(1)and(255-64)
241 remcolor0,1:color4,1
271 remfl$="martinisch"
301 rembload(fl$),onb0
331 rempoke dec("0a2c"),(peek(dec("0a2c"))and240)or12
361 rempoke0,peek(0)or64
391 rempoke1,peek(1)and(255-64)
421 printchr$(14)
451 rem ******
481 lr=0
511 rl=39
541 za$=left$(a$,40-rl)
571 zb$=right$(b$,lr+1)
601 color 5,fa
631 char1,rl,18,za$,1
661 color 5,fb
691 char1,0,20,zb$,1
721 rl=rl-1
751 lr=lr+1
781 if rl>=0 then goto 541
811 sleep sl
812 if ss=2then gosub 6820
815 ifss=1thensleep1
816 ifss=0thengosub7000
841 rl=0
871 print"."
901 char1,rl,18," ",1
931 char1,39-rl,20," ",1
961 rl=rl+1
991 if rl<40 then goto 901
1021 ss=ss+1
1051 print"."
1081 if ss=1 then goto 1201
1111 if ss=2 then goto 1291
1121 if ss=3 then goto 1391
1171 ifss=4thengoto1711
1201 a$="   Thanks to everyone who helped..      "
1220 ifd=1thengoto1741
1231 b$="..the Manual and C64 Sonderheft 51&64!  "
1261 goto 451
1291 a$="       Please make sure to connect..    "
1321 b$="  ..80column Monitor AT THE SAME TIME!! "
1351 goto 451
1391 a$="            Written in Basic!!          "
1411 b$="           OK!!  Prepare to start!!     ":fa=15:fb=4
1441 goto 451
1471 print"   ####  ###### #   # #####
1501 print"   ##  # ##     ## ## ##  #
1531 print"   ##  # ###### # # # ##  #
1561 print"   ##  # ##     # # # ##  #
1591 print"   ####  ###### #   # #####
1621 print
1651 print
1681 return
1711 rem***
1741 fast:graphic5:c=2:scnclr
1771 print".":color5,c:ifc>8thengoto2320
1801 print"         ccccc ooooo m   m m   m ooooo ddd   ooooo rrrrr eeeee
1831 print"         cc    o   o mm mm mm mm o   o d  d  o   o r   r ee
1861 print"         cc    o   o m m m m m m o   o d   d o   o rrrrr eeeee
1891 print"         cc    o   o m   m m   m o   o d  d  o   o r  r  ee
1921 print"         ccccc ooooo m   m m...m ooooo ddd   ooooo r   r eeeee
1951 print"
1981 print"           ##### ##### ##### ##### ##### ##### #   #
2011 print"             #   #   # ##    ##    ##    ##    ##  #
2041 print"             #   ##### ##### ##### ##### ##### # # #
2071 print"             #   #  #  ##    ##    ##    ##    #  ##
2101 print"             #   #   # ##### ##    ##    ##### #   #
2131 print"
2135 ifc=8thengoto2290
2161 print"                                   ##### #####   #   #####
2191 print"                                   ##    ##  #  # #     #
2221 print"                                   ## ## ##### #####   #
2251 print"                                   ##  # #  #  #   #  #
2281 print"                                   ##### #   # #   # #####":got
o2311
2290 print"                                   ##### #####   #   #####
2291 print"                                   ##    ##  #  # #     #
2292 print"                                   ## ## ##### #####   #
2293 print"                                   ##  # #  #  #   #  #
2294 print"                                   ##### #   # #   # #####":got
o2311
2311 c=c+1:goto1771
2320 ifd=1thengoto2881
2341 graphic1,1:color1,2
2371 width 1
2401 for a=0 to 319 step 3
2431 locate 159,99
2461 draw to a,0
2491 next a
2492 printchr$(27)+"r"
2493 gosub7000
2521 for a=0 to 199 step3
2551 locate 159,99
2581 draw to 319,a
2611 next a
2612 printchr$(27)+"n"
2613 gosub7000
2641 for a=319 to 0 step -3
2671 locate 159,99
2701 draw to a,199
2731 next a
2761 for a=199 to 0 step -3
2791 locate 159,99
2821 draw to 0,a
2851 next a
2881 graphic5
2941 c=2:graphic0:printchr$(142):scnclr
2971 color5,c:print".":ifc>8thengoto3421
3001 print"   ####  ##  ##   #   ##
3031 print"   ##  # ##  ##  # #  ##
3061 print"   ##  # ##  ## ##### ##
3091 print"   ##  # ##  ## ## ## ##
3121 print"   ##  # ##  ## ## ## ##
3151 print"   ####   ####  ## ## #####
3181 print"
3211 print"   ####  ###### #   # #####
3241 print"   ##  # ##     ## ## ##  #
3271 print"   ##  # ###### # # # ##  #
3301 print"   ##  # ##     # # # ##  #
3331 print"   ####  ###### #   # #####
3361 slow
3370 gosub7000
3391 c=c+1:goto2971
3421 rem***
3451 graphic5
3456 printchr$(142)
3481 print"."
3511 print"...............................................................
..."
3541 print ".............  ...............  ...............  .............
..  ."
3571 print "............    .............    .............    ............
.    ."
3601 fori=1to25
3631 print".............  ..............  ..............  .............. 
"
3661 nexti
3691 graphic0
3721 print"."
3751 print"......................................."
3781 print "....  .........  .........  .........  ."
3811 fori=1to25
3841 print"...................................."
3871 nexti
3900 color0,12:color4,12:color6,13
3915 fori=1to25
3920 graphic0:print".       . ........................ .       ";
3925 graphic5:print".              .  ....................................
............  .              ";
3930 nexti
3940 sprite1,1,8,0,0,1,0
3950 movspr1,168,0
3955 sprsavp$,1
3960 sprsavp$,2
3970 sprsavp$,3
3980 sprsavp$,4
3990 sprite2,1,8,0,0,1,0
3993 sprite3,1,8,0,0,1,0
3994 sprite4,1,8,0,0,1,0
3995 movspr2,168,68
3996 movspr3,168,136
3997 movspr4,168,202
4000 movspr1,180#5:movspr2,180#5:movspr3,180#5:movspr4,180#5
4100 graphic5:color5,8
4110 window40,1,40,24
4120 print"."
4190 fori=1to50
4200 print".     "
4210 nexti
4310 window31,1,35,24
4320 print""
4330 print".Q...Q"
4331 print".. ."
4332 print".Q. .Q"
4333 print"...."
4340 print:print:print:print:print:print:print:print:print:print:print:pri
nt:print:print:print:print:print:print:print:print:print:print:print:print

4410 window50,1,54,24
4420 print""
4430 print".Q...Q"
4431 print".. ."
4432 print".Q. .Q"
4433 print"...."
4440 print:print:print:print:print:print:print:print:print:print:print:pri
nt:print:print:print:print:print:print:print:print:print:print:print:print

4500 window0,0,79,24
4600 print"..                             "
4610 print"                            "+chr$(143)+" "
4620 print"                            "+chr$(143)+" "
4630 print"                            "+chr$(143)+" "
4640 print"                            "+chr$(143)+" "
4641 print"                            "+chr$(143)+" "
4642 print"                            "+chr$(143)+" "
4645 print"                            "+chr$(143)+" "
4646 print"                             "
4649 print
4660 print"                                        ..      ."
4661 print"                                                "
4662 print"                                                "
4663 print"                                   ....."+chr$(143)+"    .  . 
   ...."
4664 print"                                    ...    ..  .     ..."
4665 print"                                     ...             ."
4666 print"                                             "
4667 print"                                             "
4668 print"                                             "
4669 print" .                       .....            ...."
4670 print"                                         ..  .."
4680 sprsavl$,5
4690 sprsavl$,6
5000 sprite5,1,6,0,0,0,1
5010 movspr5,115,230
5020 movspr5,0#3
5025 sleep1
5030 sprite6,1,7,0,0,0,1
5040 movspr6,215,230
5050 movspr6,0#3
5055 m=2
5060 fori=1to3
5062 gosub7000
5063 nexti
5070 print"."
5071 print".       U..............I
5072 print"       B              B
5073 print"       B              B
5074 print"       B              B
5075 print"       B              B
5076 print"       J..............K
5077 print"   ........................
5078 print"   B .  .c128d.      . ."+chr$(143)+" ..... B
5079 print"   ..........................  .Q."
5080 print"   U......................I BU...I
5081 print"   B qertyuiop@*123456789 B ..WBWB
5082 print"   B asfghjklzxcvbnm<>?!0 B  B   B
5083 print"   J......................K  J...K
5100 fori=1to23
5110 graphic2,,i
5120 nexti
5130 graphic1
5200 fori=1to8
5210 sprsavn$(1),i
5211 sprsavn$(1),i
5215 spritei,1,i+2,0,1,1,0
5216 movspri,140+i*5,110+i*2
5217 movspri,i*45#i
5230 nexti
5231 graphic5
5232 window8,12,21,15
5235 forz=1to10
5240 fori=1to4
5245 forh=1to4
5250 sprsavn$(i),h
5251 sprsavn$(5-i),9-h
5252 print".     .......... ";
5253 print".     ........... ";
5254 print".       ........ ";
5255 nexth
5256 print".   ........  .. ";
5257 print".   .........  .. ";
5258 print".     ......  .. ";
5259 nexti
5260 print". ........    .. ";
5261 print". .........    .. ";
5262 print".   ......    .. ";
5270 nextz
5300 ifd=0thenprintchr$(142)
5310 print"...game..over "
5320 window0,0,79,24
5325 fori=1to8
5326 spritei,0
5327 nexti
5328 d=1
5330 goto1
6820 ifd=1thenreturn
6821 ifss=2thenbload"sprites"
6822 ifss=2thensprsav1,p$
6823 ifss=2thensprsav5,l$
6829 ifss=2thenbload"demo-sprite2"
6830 ifss=2then dimn$(10)
6831 ifss=2thensprsav1,n$(1)
6832 ifss=2thensprsav2,n$(2)
6833 ifss=2thensprsav3,n$(3)
6834 ifss=2thensprsav4,n$(4)
6835 ifss=2thensprsav5,n$(5)
6836 ifss=2thensprsav6,n$(6)
6837 ifss=2thensprsav7,n$(7)
6838 ifss=2thensprsav8,n$(8)
6840 return
7000 ifm>0thengoto7005
7001 play"v3x0v2x0v1x0t8o0iaro1aro2arao3arao4arao5ar
7003 goto8000
7005 ifm>1thengoto7015
7010 play"o2it8ffffffff#g#g#g#g#g#g.#giccccccics#diffffhf
7013 goto8000
7015 ifm>2thengoto7025
7020 play"v1t8ifv2t3icv1ffv2cv1ffv2bv1ffv2cv1f#gv2bv1#gv2bv1#gv2cv1#g#gv2c
v1#g.#gv2.bv1ccv2cv1ccv2bv1cv2bv1cv2cv1cv2cv1s#div2csciv1ffv2bv1ffv2cv1hfv
2icefb
7023 goto8000
7025 ifm>3thengoto7035
7030 play"ifv2t3icv3o4t7qfo2v1ffv2cv1fv3o4qfio2v1fv2bv1ffv2cv1f#gv2bv3o4q#
go2iv1#gv2bv1#gv2cv1#gv3o4q#go2iv1#gv2cv1#g.#gv2.b
7033 goto8000
7035 ifm>4thengoto7045
7040 play"v1cv3o5qco2iv1cv2cv1ccv2bv3o5qco2iv1cv2bv1cv2cv1cv2cv1s#div2csci
v3o4qfo2iv1ffv2bv1ffv2cv3o4qfo2iv1hfv2icefb
7043 goto8000
7045 ifm>5thengoto7055
7050 play"v1ifv2t3icv3o4t7qfo2v1fv3o4fo2iv1fv2cv1fv3o4qfio2v1fv2bv1fv3o5co
2v1fv2cv1fv3o4s#gfio2v1#gv2bv3o4q#go2iv1#gv2bv1#gv2cv1#gv3o4q#go2iv1#gv2cv
1#g.#gv2.b
7053 goto8000
7055 ifm>6thengoto7065
7060 play"v1cv3o5qco2iv1cv2cv3o5qcio2v1ccv2bv3o5qco2iv1cv2bv1cv2cv3o5qco2i
v1cv2cv1s#div2csciv3o4sf#do2iv1fv3o4qfo2iv1fv2bv1ffv2cv3o4qfo2iv1hfv2icefb

7063 goto8000
7065 ifm>7thengoto7070
7068 play"v1t8o2iv.cv3o4.co2v1.dv3o4.do2v1.ev3o4.eo2v1.fv3o4.fo2v1.gv3o4.g
o3v1.co5v3.c
7069 goto8000
7070 ifm>8thengoto7095
7090 play"v1t8o3iv.cv3o5.co2v1.gv3o4.go2v1.fv3o4.fo2v1.ev3o4.eo2v1.dv3o4.d
o2v1.co4v3.c
7093 goto8000
7095 ifm>9thengoto7100
7098 play"v1cv3o5qco2iv1cv2cv3o5qcio2v1ccv2bv3o5qco2iv1cv2bv1cv2cv3o5qco2i
v1cv2cv1s#div2csciv3o4sf#do2iv1fv3o4qfo2iv1fv2bv1ffv2cv3o4qfo2iv1hfv2icefb

7099 goto8000
7100 play"v1ifv2t3icv3o4t7qfo2v1fv3o4fo2iv1fv2cv1fv3o4qfio2v1fv2bv1fv3o5co
2v1fv2cv1fv3o4s#gfio2v1#gv2bv3o4q#go2iv1#gv2bv1#gv2cv1#gv3o4q#go2iv1#gv2cv
1#g.#gv2.b
7101 play"v1t8o3iv.cv3o5.co2v1.gv3o4.go2v1.fv3o4.fo2v1.ev3o4.eo2v1.dv3o4.d
o2v1.co4v3.c
7103 goto8000
7105 ifm>11thengoto7115
7110 play"v1cv3o5qco2iv1cv2cv1ccv2bv3o5qco2iv1cv2bv1cv2cv1cv2cv1s#div2csci
v3o4qfo2iv1ffv2bv1ffv2cv3o4qfo2iv1hfv2icefb
7113 goto8000
7115 ifm>12thengoto7125
7120 play"v1ifv2t3icv3o4t7qfo2v1fv3o4fo2iv1fv2cv1fv3o4qfio2v1fv2bv1fv3o5co
2v1fv2cv1fv3o4s#gfio2v1#gv2bv3o4q#go2iv1#gv2bv1#gv2cv1#gv3o4q#go2iv1#gv2cv
1#g.#gv2.b
7123 goto8000
7130 play"v1t8ifv2t3icv1ffv2cv1ffv2bv1ffv2cv1f#gv2bv1#gv2bv1#gv2cv1#g#gv2c
v1#g.#gv2.bv1ccv2cv1ccv2bv1cv2bv1cv2cv1cv2cv1s#div2csciv1ffv2bv1ffv2cv1hfv
2icefb
7135 m=1
8000 m=m+1
8001 return

ready.

Offline Nonefonow

  • Guru
  • *****
  • Post: 1979
  • Karma: +36/-3
    • Mostra profilo
Re:Commodore C128D
« Risposta #57 il: 19 Aprile 2015, 01:49:47 »
Oggi ho accertato che il CP/M praticamente gira solo se il lettore e' il numero 8.  Avrei dovuto capirlo prima visto che il C128 inizializza la seriale prima di avviare il S.O.  Se trova un S.O. nel dischetto sul lettore 8 avvia quello. 

Per avviare il CP/M da un dischetto di 3 1/2 il lettore C1581 quindi deve essere indirizzato al numero 8 - ecco la foto.



« Ultima modifica: 19 Aprile 2015, 01:54:50 da Nonefonow »

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Commodore C128D
« Risposta #58 il: 19 Aprile 2015, 04:24:56 »
@nonefonow

Per maggior leggibilita' io metterei i tag [ CODE ] e [ / CODE ] prima e dopo del listato - lo formatta a monospazio
AROS : mica bau bau micio micio =^x^=

AmigaCori

  • Visitatore
Re:Commodore C128D
« Risposta #59 il: 19 Aprile 2015, 12:20:39 »
@Nonefonow
Per maggiore leggibilita' potresti usare la funzione "Inserisci codice" nell'editing del post? ^^, l'icona e' "#"

Codice: [Seleziona]
...codice...

Tags: