Copiones Cinta-Disco

Página 2/2
1 |

Por l1nux1n

Champion (401)

Imagen del l1nux1n

19-02-2009, 00:13

En un MSX extra sale el CASNOM un lector de cabeceras para BLOAD's

Por manolito74

Paragon (1266)

Imagen del manolito74

19-02-2009, 21:32

joer... (y perdón por la expresión...)

pitpan, acabo de caer, tras googlear y buscar cosas, que tú eres "Edu Robsy", ¿no?. jajjaja (es que esto de los nicks, es lo que tiene...).

Por cierto, googleando también, ví que tú habías hecho un proyecto de escaneo/traducción del MSX TECHNICAL DATABOOK, pero no lo encuentro por ninguna parte. Me lo puedes enviar please a mi dire de gmail: josemanuel74 (o en su defecto decirme donde lo puedo descargar) ;-)

Zans a lot.

pd. sigo esperando ese super-copion de cinta a disco que vas a aportar a la comunidad MSX-era/es Tongue jajjaj

Por pitpan

Prophet (3152)

Imagen del pitpan

20-02-2009, 10:12

El MTD lo tienes aquí: http://msx.retro8bits.com/

Y olvídate de super-copión automático. Lo único que voy a hacer es un pequeño programa en ensamblador que lea la cabecera de los ficheros BLOAD desde cinta y te dé la dirección de inicio, la dirección de fin y la dirección de ejecución. El resto hay que hacerlo a mano. Me temo que no hay herramientas automáticas del todo en esta vida.

El proceso sería:

(a) Se carga un fichero desde cinta, mediante ensayo y error (CLOAD, LOAD, BLOAD)
(b) Si es CLOAD o LOAD/RUN, salvamos a disco con SAVE (opcional, modificador ",A" para guardar en ASCII)
(c) Si es BLOAD, ejecuto el programa del Sr. Robsy para que indique inicio, fin y ejecución, cargo de nuevo el bloque entero con un BLOAD"CAS:" (sin ,R) y a continuación hago un BSAVE a disco con las direcciones indicadas.

Con esto sólo conseguirás pasar a disco juegos que utilicen carga estándar a través de la BIOS y sin multicarga, lo cual supone un porcentaje relativamente significativo del total de juegos publicados en cinta, pero muy lejos de la totalidad.

Si lo que quieres es convertir TODOS los juegos, no tienes más que aprender ensamblador y ponerte a ello. Es divertido, la verdad.

Por manolito74

Paragon (1266)

Imagen del manolito74

23-02-2009, 19:42

Hola a todos:

Buscando, buscando... he encotrado este listado en el "Especial C/M" de la MSX-Extra:

RSC II MSX 1.0

10 ORG 50000
20 BUFFER: EQU 52000
30 RELE: EQU &HFEE6
40 LD A,1
50 LD (&HF416),A
60 LD A,1
70 LD (RELE+1),A
80 LD HL, BUFFER+36
90 LD B,4
100 B0: CALL PRINT
110 DJNZ B0
120 CALL LF
130 LD BC,(&HF3AF)
140 DEC B
150 LD A,"-"
160 B1: RST &H18
170 DJNZ B1
180 CALL LF
190 INICIO: LD B,4
200 B2: PUSH BC
210 CALL &HE1
220 JR C,ERROR
230 POP BC
240 DJNZ B2
250 LD A,(&HFCA4)
260 LD (RELE),A
270 LD B,10
280 B3: CALL LEER
290 CP 208
300 JR Z, BYTES
310 CP 211
320 JR Z,BASIC
330 CP 234
340 JR Z,ASCII
350 DJNZ B3
360 JR INICIO
370 BYTES: LD HL, BUFFER
380 JR NOMBRE
390 BASIC: LD HL, BUFFER+6
400 JR NOMBRE
410 ASCII: LD HL,BUFFER+12
420 JR NOMBRE
430 ERROR: LD E,19
440 JP &H406F
450 NOMBRE: CALL LEER
460 CP 207
470 JR NC, NOMBRE
480 LD B,6
490 PUSH HL
500 LD HL,51000
510 B5: LD (HL),A
520 INC HL
530 CALL LEER
540 DJNZ B5
550 LD A," "
560 RST &H18
570 LD A,(RELE+1)
580 INC A
590 LD (RELE+1),A
600 DEC A
610 CALL DIV
620 ADD A,"0"
630 RST &H18
640 LD A,B
650 CALL DIV
660 LD A,B
670 ADD A,"0"
680 RST &H18
690 LD B,4
700 LD A, " "
710 B7: RST &H18
720 DJNZ B7
730 LD HL, 51000
740 CALL PRINT
750 POP HL
760 CALL PRINT
770 LD A, (RELE)
780 LD HL, BUFFER+24
790 CP 48
800 JR Z,LENTO
810 LD HL, BUFFER+30
820 LENTO: CALL PRINT
830 CALL LF
840 JP INICIO
850 DIV: LD B,10
860 B6: LD C,255
870 INC C
880 SUB B
890 JR NC, B6
900 ADD A,B
910 LD B,A
920 LD A,C
930 RET
940 LEER: PUSH BC
950 PUSH HL
960 CALL &HE4
970 JR C,ERROR
980 POP HL
990 POP BC
1000 RET
1010 PRINT: PUSH BC
1020 LD B,6
1030 B4: LD A,(HL)
1040 RST &H18
1050 INC HL
1060 DJNZ B4
1070 LD A,32
1080 RST &H18
1090 POP BC
1100 RET
1110 LF: LD A,13
1120 RST &H18
1130 LD A,10
1140 RST &H18
1150 RET
1160 ORG BUFFER
1170 DEFM " BYTES"
1180 DEFM " BASIC"
1190 DEFM " ASCII"
1200 DEFM " BAUD."
1210 DEFM " 1200 "
1220 DEFM " 2400 "
1230 DEFM " N' "
1240 DEFM "NOMBRE"
1250 DEFM " TIPO "
1260 DEFM " BAUD."

Lo he probado en el RSC2, sobre el Blue-MSX, y funciona: saca el bloque que encuentra, de que tipo es, su velocidad de grabación, y va numerando cada bloque... Vale, esto sería la base, pero... Ahora quedaría que para los bloques BINARIOS, nos muestre en pantalla la "Dir. Inicial, Final y Ejecución". :-(

Por cierto: ¿se supone que según el listado "BYTES=Bloque que carga con BLOAD", "BASIC=Bloque que carga con CLOAD", "ASCII=Bloque que carga con LOAD"?.

Gracias y Saludetes.

Por pitpan

Prophet (3152)

Imagen del pitpan

24-02-2009, 02:06

Qué miedo me da este listado... Lo que planteaba yo era más sencillo, exclusivamente para BLOADs.

Por cierto, que he estado toqueteando mis fuentes del WAVeR v3 y creo que se podría mejorar la velocidad. He hecho algunas pruebas de sincronía bajo una nueva perspectiva y creo que se podría alcanzar una velocidad de carga real de 2 KB/segundo, a la que si se le añadiese compresión (bitbuster, pletter) podría alcanzar velocidades de 3-4 KB/segundo. Para hacernos una idea, el ARKANOID cargaría en 9 segundos Wink ¿Quién necesita cartuchos ahora?

En cualquier caso, todo esto es muy experimental, y hasta que no consiga desarrollarlo y probarlo, prefiero no mojarme sobre su viabilidad técnica. Pero es interesante saber que el MSX puede con esto. El problema cuando se alcanzan estas velocidades es la fiabilidad del reproductor de audio que se emplee.

Ah! Tengo que decirlo: el progreso en cuanto a velocidad se debe a que se han optimizado para velocidad las rutinas de carga, incorporando la instrucción no documentada de la que se habla en el proyecto OTLA, que es IN F,[A]. Sin embargo, ahí acaban las similitudes entre ambos proyectos, dado que el enfoque es bastante diferente.

Por l1nux1n

Champion (401)

Imagen del l1nux1n

10-03-2009, 23:13

En el MSX-Extra numero 36 pagina 35 tienes el programa CASNOM, hace exactamente lo que pides.

Por Damian

Supporter (1)

Imagen del Damian

21-07-2009, 01:02

En el 86 mi hermano programó esto y creo que te puede servir.
Saludos.

10 CLS:KEYOFF
20 PRINT" BUSCON COPYRIGHT ELOY ROMAN 1986"
30 PRINTTongueRINT" Pulsa PLAY en el cassette"
40 FORN=60000!TO60023!:READATongueOKEN,A:NEXT
50 DATA 205,225,0,33,64,156,1,13,0,229,197,205,228,0,193,225,119,121,184,35,11,48,242,201
60 DEFUSR=60000!:A=USR(0)
70 LOCATE10,5TongueRINT"programa: ";
80 FORN=40010!TO40015!TongueRINTCHR$(PEEK(N));:NEXT
90 IFPEEK(40000!)=&HEA THEN GOSUB190
100 IFPEEK(40000!)=&HD3 THEN GOSUB210
110 IFPEEK(40000!)=&HD0 THEN GOSUB250
120 LOCATE0,22TongueRINT"PULSA ESPACIO PARA SEGUIR BUSCANDO"
125 K$=INKEY$:IFK$<>" "THEN125
126 RUN
130 A=USR(0)
140 LOCATE12,12TongueRINT"DIRECCIONES"
150 LOCATE1,14TongueRINT"INICIO FINAL EJECUCION"
165 A=PEEK(40000!)+256*PEEK(40001!)
166 B=PEEK(40002!)+256*PEEK(40003!)
167 C=PEEK(40004!)+256*PEEK(40005!)
169 LOCATE1,16TongueRINT A
170 LOCATE12,16TongueRINT B
180 LOCATE25,16TongueRINT C
183 LOCATE7,18TongueRINT"LONGITUD=";B-A+1;"BYTES"
185 LOCATE0,22TongueRINT"PULSA ESPACIO PARA SEGUIR BUSCANDO"
186 K$=INKEY$:IFK$<>" "THEN 186
187 RUN
190 LOCATE6,7TongueRINT"TIPO:BASIC. CARGA:LOAD"
200 GOTO 120
210 LOCATE6,7TongueRINT"TIPO:BASIC. CARGA=CLOAD"
220 GOTO 120
250 LOCATE0,7TongueRINT"TIPO:CODIGO MAQUINA. CARGA=BLOAD"
260 GOTO 130

Por derebo

Rookie (30)

Imagen del derebo

26-12-2010, 04:02

hola,

la web http://www.msxisland.com/ parace que ya no funciona... alguien sabe si ha pasado a estar en otro dominio?

manolito74, comentaras tus progresos?

Por manolito74

Paragon (1266)

Imagen del manolito74

23-01-2015, 16:42

Hola:

La verdad es que no hice mucho más al respecto. :-(

Saludetes. ;-)

Por manolito74

Paragon (1266)

Imagen del manolito74

12-08-2022, 20:20

Hola:

Sé que el Hilo tiene "eones"... pero me gustaría que si por causalidad el Usuario @Damian (el que puso el Listado) o su hermano @Eloy andan por aquí, que me contacten por privado en mi Correo, please, por una duda que tengo.

Mi Correo de GMAIL es ---> josemanuel74

Gracias & Saludetes. ;-)

Página 2/2
1 |