Tutorial para pasar de dsk a cdt por CECPC
- Mode 2
- I am The Forum
- Mensajes: 2068
- Registrado: Lun 10 Oct , 2005 8:01 pm
- Ubicación: Sevilla, años 80.
- Contactar:
Re: Tutorial para pasar de dsk a cdt por CECPC
Enhorabuena por el hilo, CECPC, no lo había visto hasta el reflote de Neli.
BUSCO: VideoPac+, Jaguar Saturn, Micromanía 1, Amstrad Semanal, MicroHobby, juegos especialmente CPC y Vectrex, Aquarius, Sam Copé, 520 ST, manual +3, manual CPC664.
Re: Tutorial para pasar de dsk a cdt por CECPC
Como me han preguntado por el tutorial, he decidido hacer unos videotutoriales que a poco me dan menos pereza que sacar un gran puñado de screenshots.
De momento va el primero.
https://www.youtube.com/watch?v=bevh9Egau5s
Este es el sencillo. En el próximo voy a hacer una introducción al debugger y ensamblador del WinAPE.
P.D. YA, ya se que el escritorio está lleno de basura. Este es un ordenador viejo y ya me da pereza limpiarlo
De momento va el primero.
https://www.youtube.com/watch?v=bevh9Egau5s
Este es el sencillo. En el próximo voy a hacer una introducción al debugger y ensamblador del WinAPE.
P.D. YA, ya se que el escritorio está lleno de basura. Este es un ordenador viejo y ya me da pereza limpiarlo
Re: Tutorial para pasar de dsk a cdt por CECPC
Te he editado el enlace, CECPC, el que habías puesto no funcionaba. Por cierto, buen tuto!!
Re: Tutorial para pasar de dsk a cdt por CECPC
Gracias. Ya decía yo. Cuando le pulsé ví que ponía algo relativo al video pero como editor, y cuando fui a cambiarlo lo ví cambiado y me quedé un pocoTe he editado el enlace, CECPC, el que habías puesto no funcionaba. Por cierto, buen tuto!!
En el próximo voy a hacer una introducción al ensamblador, el debugger y compilador de WinAPE, así como una primera demostración de carga del Oh Mummy desde rutinas Firmware del Amstrad.
Re: Tutorial para pasar de dsk a cdt por CECPC
Fantástico CECPC.
Por lo del Oh Mummy
He estado haciendo pruebas con el método de texto pero nada. No me funciona. A ver si tu puedes.
Tengo un adaptador de cinta, de estas que llevan incorporado un cabezal magnético y con un reproductor mp3 conectado a ella, y el adaptador este metido en la unidad de casete del 464, pues he probado pero nada. Carga el primer bloque, después me parece que el cargador detiene por unos segundos la cinta, y después le vuelve a dar la orden de "play" de nuevo. Pero no llega a cargar el juego.
Hoy probaré con siguiendo tus instrucciones del Video-tutorial.
A ver si hay suerte...
Por lo del Oh Mummy
He estado haciendo pruebas con el método de texto pero nada. No me funciona. A ver si tu puedes.
Tengo un adaptador de cinta, de estas que llevan incorporado un cabezal magnético y con un reproductor mp3 conectado a ella, y el adaptador este metido en la unidad de casete del 464, pues he probado pero nada. Carga el primer bloque, después me parece que el cargador detiene por unos segundos la cinta, y después le vuelve a dar la orden de "play" de nuevo. Pero no llega a cargar el juego.
Hoy probaré con siguiendo tus instrucciones del Video-tutorial.
A ver si hay suerte...
Última edición por Neli el Vie 02 Sep , 2016 8:43 am, editado 1 vez en total.
Re: Tutorial para pasar de dsk a cdt por CECPC
Acabo de visionarlo.
Un video-tutorial para enmarcar.
Un video-tutorial para enmarcar.
Re: Tutorial para pasar de dsk a cdt por CECPC
Espero que te refieras a la parte del tutorial, porque si el problema lo tienes con el audio y el MP3, ahí me temo que poco puedo hacer.He estado haciendo pruebas con el método de texto pero nada. No me funciona. A ver si tu puedes.
Lo único decirte que podrías probar con 1000 baudios para aumentar la fiabilidad de la carga. Pero a parte de eso...
Ya he hecho el siguiente tutorial, con el código de ensamblador con carga turbo por firmware, pero ocupa demasiado (30 minutos) así que creo que lo voy a rehacer el fin de semana. Además sospecho que Youtube me tumbaría un video tan largo gratuito o me encasquetaría publicidad o algo así.
Voy a intentar que los minitutoriales no pasen de 15 minutos.
Re: Tutorial para pasar de dsk a cdt por CECPC
FANTÁSTICO!!!
Funciona
He probado con el adaptador introducido en la unidad de casette y funciona el "Oh Mummy".
Esa pausa agregada de 2000ms creo que ha funcionado a la perfección.
Ahora a seguir aplicando tus conocimientos con los tutoriales que nos presentas, CECPC.
En cuando tengas colgado el siguiente, a por el voy!
Estoy super-entusiasmado Poder volver a ver en mi Amstrad 464 el primer juego que vi delante de mi, cuando empecé a estudiar informática allá por el año 1986, me ha hecho ser muy feliz y con unas pilas recargadas a tope para empezar de nuevo con BASIC, Ensamblador...
Gracias una vez más, CECPC.
Funciona
He probado con el adaptador introducido en la unidad de casette y funciona el "Oh Mummy".
Esa pausa agregada de 2000ms creo que ha funcionado a la perfección.
Ahora a seguir aplicando tus conocimientos con los tutoriales que nos presentas, CECPC.
En cuando tengas colgado el siguiente, a por el voy!
Estoy super-entusiasmado Poder volver a ver en mi Amstrad 464 el primer juego que vi delante de mi, cuando empecé a estudiar informática allá por el año 1986, me ha hecho ser muy feliz y con unas pilas recargadas a tope para empezar de nuevo con BASIC, Ensamblador...
Gracias una vez más, CECPC.
Re: Tutorial para pasar de dsk a cdt por CECPC
He agregado un nuevo videotutorial. No es el que correspondería, sino unos comentarios sobre como carga el firmware los bloques y como podemos con el CDTMaster crear archivos de solo dos bloques, donde el segundo es mucho más grande.
https://www.youtube.com/watch?v=neCgwLFxnQE
Siento que no quedara bien guardado el audio del emulador y solo mi voz, pero tampoco es una pérdida importante.
https://www.youtube.com/watch?v=neCgwLFxnQE
Siento que no quedara bien guardado el audio del emulador y solo mi voz, pero tampoco es una pérdida importante.
Re: Tutorial para pasar de dsk a cdt por CECPC
Ahora sí. Tutorial para carga en ensamblador Turbo basado en Firmware
https://www.youtube.com/watch?v=bICXe6AtQsc
https://www.youtube.com/watch?v=bICXe6AtQsc
Re: Tutorial para pasar de dsk a cdt por CECPC
Y el último videotutorial que agrega el ensamblador con borde de colores y compresión
https://www.youtube.com/watch?v=lnNqSlT5rCs
Por cierto, que se me ha olvidado al final pasar el código ensamblador que he creado a la cinta, pero esa operación ya la hice en el videotutorial anterior (el 3).
También se me olvidó agregar parar el motor al ensamblador.
Por curiosidad, el ensamblador final es este.
Y la cinta final.
https://www.youtube.com/watch?v=lnNqSlT5rCs
Por cierto, que se me ha olvidado al final pasar el código ensamblador que he creado a la cinta, pero esa operación ya la hice en el videotutorial anterior (el 3).
También se me olvidó agregar parar el motor al ensamblador.
Por curiosidad, el ensamblador final es este.
Código: Seleccionar todo
ORG #3000
PUSH AF
PUSH BC
PUSH DE
PUSH HL
PUSH IX
CALL motor_on
LD A,1
CALL &BC0E ; SCR SET MODE - Mode 1
LD BC,&0000
CALL &BC38 ; SCR SET BORDER - BORDER 0
XOR A ; Es equivalente a hacer LD A,0, pero un byte menos ;)
LD B,A
LD C,A
CALL &BC32 ; SCR SET INK - INK 0,0
LD A,1
LD B,24
LD C,B
CALL &BC32
; Nos vamos a asegurar de usar la "pluma" 1
LD A,1
CALL &BB90 ; TXT SET PEN
; En llamadas a firmware, el Locate son dos llamadas.
; Uno para establecer la fila y otro la columna
LD A,15
CALL &BB6F ; TXT SET COLUMN
LD A,21
CALL &BB72 ; TXT SET ROW
; Para imprimir una cadena, usaremos la función para imprimir un caracter
; Usamos una etiqueta de referencia para la posición de esta
LD HL,cadena
JR primer_caracter:
siguiente_caracter:
CALL &BB5A ; TXT OUTPUT. Imprimimos el caracter
primer_caracter:
LD A,(HL)
INC HL
OR A ; Al comparar A con A, en flag Z se activará cuando A sea 0, que usaremos como final de cadena.
JR NZ,siguiente_caracter
LD A,#54
LD IX,#4000
LD DE,#0591
CALL carga_bloque ; Cargamos un bloque 54, en &4000 con longitud &4000
JR NC,bad_loading ; Segun firmware. Carry= carga bien
LD A,1
CALL &BC0E ; SCR SET MODE - Mode 1
LD A,1
LD B,6
LD C,B
CALL &BC32
LD A,2
LD B,2
LD C,B
CALL &BC32
LD A,3
LD B,19
LD C,B
CALL &BC32
LD A,1
CALL &BC0E ; SCR SET MODE - Mode 1
; Ahora copiamos la pantalla de carga, desde la posicion 4000 a la memoria
; de la pantalla.
LD HL,#4000 ; Posicion de origen
LD DE,#C000 ; Posicion de destino
LD BC,#0591 ; Longitud del blqoue
CALL decod
LD A,#55
LD IX,#4000
LD DE,#1FFE
CALL carga_bloque ; Cargamos un bloque 54, en &4000 con longitud &4000
JR NC,bad_loading ; Segun firmware. Carry= carga bien
LD HL,#4000 ; Posicion de origen
LD DE,#6000 ; Posicion de destino
LD BC,#1FFE ; Longitud del blqoue
CALL decod
; Hemos terminado de cargar el juego.
CALL motor_off
POP IX
POP HL
POP DE
POP BC
POP AF
JP #6000 ; Iniciamos el juego
bad_loading:
CALL #0 ; Reset
cadena:
DB "Please Wait.."
DB 0 ; Fin de cadena
carga_bloque: DI
EXX
PUSH BC
PUSH DE
PUSH HL
CALL start_bloque
POP HL
POP DE
POP BC
EXX
EI
RET
start_bloque:
LD BC,#7F10
OUT (C),C
LD C,A
LD DE,#1000
LD HL,#544a
; LD HL,#534C
; #534C ->Colores en modo sincronización 53 ->cyan brillante 4c-> Rojo brillante
; Prueba 54-> negro 4A -> Amarillo brillante
EXX
L3061: PUSH DE
CALL L30AF
POP DE
JR NC,L3061
EXX
LD HL,#5457
; LD HL,#4A5f
; Colores en modo carga 4a44 -> 4a -> Amarillo brillante 44-> Azul
; Cambio a 54 -> negro 57 -> Azul Celeste
EXX
LD BC,#FFFF
LD (L3092),BC
INC B
L3075: CALL L30EF
RET NC
LD (IX+0),A
INC IX
DEC B
CALL Z,L3091
RET NC
DEC DE
LD A,D
OR E
JR NZ,L3075
CP B
SCF
RET Z
L308B: CALL L30EF
RET NC
DJNZ L308B
L3091: DEFB #01
L3092: DEFB #00
L3093: DEFB #00
CALL L30EF
RET NC
OR B
INC A
JR NZ,L30AB
CALL L30EF
RET NC
OR C
LD (L3092),A
LD (L3093),A
INC A
LD B,A
SCF
RET Z
L30AB: LD A,#02
OR A
RET
L30AF: LD L,#55
CALL L3120
RET NC
LD DE,#0000
LD H,D
L30B9: CALL L3120
RET NC
EX DE,HL
LD B,#00
ADD HL,BC
EX DE,HL
DEC H
JR NZ,L30B9
L30C5: LD H,C
LD A,C
SUB D
LD C,A
SBC A,A
LD B,A
EX DE,HL
ADD HL,BC
EX DE,HL
CALL L3120
RET NC
LD A,D
SRL A
SRL A
ADC A,D
SUB H
JR C,L30C5
SUB C
JR C,L30C5
LD A,D
RRA
ADC A,D
LD H,A
LD (L30F4),HL
CALL L30EF
RET NC
EXX
XOR C
EXX
RET NZ
SCF
RET
L30EF: PUSH DE
PUSH BC
LD E,#08
L30F3: DEFB "!"
L30F4: DEFB #00,#00
CALL L3120
CALL C,L3128
JR NC,L311D
LD A,H
SUB C
SBC A,A
RL D
LD HL,(L3092)
XOR H
JP P,L3113
LD A,H
XOR #08
LD H,A
LD A,L
XOR #10
LD L,A
SCF
L3113: ADC HL,HL
LD (L3092),HL
DEC E
JR NZ,L30F3
LD A,D
SCF
L311D: POP BC
POP DE
RET
L3120: LD A,R
RRCA
RRCA
INC A
AND #1F
LD C,A
L3128: LD B,#F5
L312A: LD A,C
ADD A,#02
LD C,A
JR C,L3147
IN A,(C)
XOR L
AND #80
JR NZ,L312A
LD R,A
RRC L
EXX
JR C,L3143
OUT (C),L
EXX
SCF
RET
L3143: OUT (C),H
EXX
RET
L3147: XOR A
INC A
RET
motor_off: LD BC,#F708
OUT (C),C
RET
motor_on: LD BC,#F709
OUT (C),C
RET
decod:
PUSH HL
PUSH BC
POP HL
POP BC
ADD HL,BC
PUSH HL
PUSH BC
POP HL
POP BC
;; Ahora BC Contiene la última posición de los datos comprimidos
paso:
LD A,B
CP H
RET C ;; Salir si nos hemos pasado
JR NZ,falta
LD A,C
CP L
RET C ;; Salir si nos hemos pasado
RET Z ;; Salir si hemos llegado
falta:
LD A,(HL)
INC HL
CP #80
JR NC,LRE
;; Si menor que #80, solo hay que copiar los datos
PUSH BC
LD C,A
XOR A
LD B,A
LDIR
POP BC
JR paso
lRE:
CP #FF
JR NZ,lz77
PUSH BC
LD A,(HL)
INC HL
PUSH AF
LD A,(HL)
INC HL
CP #80
JP p,lrelargo
JR lrecorto
lrelargo:
CP A
RL A
CP A
RR A
LD B,A
LD A,(HL)
INC HL
LD C,A
JR go_lre
lrecorto:
LD C,A
XOR A
LD B,A
go_lre:
POP AF
PUSH HL
LD (DE),A
PUSH DE
POP HL
INC DE
DEC BC
LDIR
POP HL
POP BC
JR paso
lz77:
PUSH BC
LD C,(HL)
INC HL
BIT 6,A
JR Z,noextra
LD B,C
LD C,(HL)
INC HL
JR cpbloq
noextra:
LD B,0
cpbloq:
AND #3F
PUSH HL
PUSH AF
PUSH DE
POP HL ;; HL = final de buffer de salida. Restamos BC
LD A,L
SUB C
LD L,A
LD A,H
SBC B
LD H,A
POP AF
LD B,0
LD C,A
LDIR
POP HL
POP BC
JR paso
Y la cinta final.
Re: Tutorial para pasar de dsk a cdt por CECPC
Hola a CECPC y al resto de usuarios interesados en este hilo
Siento mi desconexión durante los últimos dos días, por motivos de trabajo.
He visto que CECPC ha agregado varios video-tutoriales
Ahora mismo me pongo a ojearlos y a continuar con el tema.
Gracias CECPC, por tu voluntad y buen hacer con los videos y un saludo especial para ti
Ya te cuento.
Siento mi desconexión durante los últimos dos días, por motivos de trabajo.
He visto que CECPC ha agregado varios video-tutoriales
Ahora mismo me pongo a ojearlos y a continuar con el tema.
Gracias CECPC, por tu voluntad y buen hacer con los videos y un saludo especial para ti
Ya te cuento.
-
- Megaforero
- Mensajes: 256
- Registrado: Vie 21 Feb , 2014 5:53 pm
Re: Tutorial para pasar de dsk a cdt por CECPC
Sobran las palabras.
Para quitarse el sombrero. Gracias!
Para quitarse el sombrero. Gracias!
¿Quién está conectado?
Usuarios navegando por este Foro: Semrush [Bot]
La Comunidad Española |