Consulta emulación TS2068
- chernandezba
- Mensajes: 841
- Registrado: 02 Oct 2015, 23:35
Re: Consulta emulación TS2068
Si, porque los bloques de timex son de 8kb, mientras que vosotros los dividís en 16kb, por eso el bloque 24 vuestro de 16 kb son los dos bloques primeros de EX
Re: Consulta emulación TS2068
Excelente! Muchas gracias!antoniovillena escribió:Ah vale, gracias. Pone EX bank 0 & 1. Pues me pongo con la ROM y comento los resultados por aquí.
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Consulta emulación TS2068
De todas formas me viene bien, porque así no tengo que usar compresión. En una parte pequeña de esos 8Kb que sobran irá el código que reubique los bancos y que inicialice en el TS2068 en modo no root.chernandezba escribió:Si, porque los bloques de timex son de 8kb, mientras que vosotros los dividís en 16kb, por eso el bloque 24 vuestro de 16 kb son los dos bloques primeros de EX
- mcleod_ideafix
- Mensajes: 831
- Registrado: 27 Sep 2015, 00:14
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Consulta emulación TS2068
La pregunta es: por qué necesitas el modo rooted? Toda la memoria que necesita el Timex, incluyendo aquella donde se ubican los 8KB de ROM extra, está disponible cuando se activa la MMU horizontal. Te haría falta una ROM de 32KB (como la del 128K). El ROM 0 habría un pequeño programa cuyo cometido se describe a contnuación, más los 8KB de ROM extra. En ROM 1 estaría la ROM principal del Timex.antoniovillena escribió:De todas formas me viene bien, porque así no tengo que usar compresión. En una parte pequeña de esos 8Kb que sobran irá el código que reubique los bancos y que inicialice en el TS2068 en modo no root.chernandezba escribió:Si, porque los bloques de timex son de 8kb, mientras que vosotros los dividís en 16kb, por eso el bloque 24 vuestro de 16 kb son los dos bloques primeros de EX
Al arrancar desde ROM 0, se activaría el soporte de MMU horizontal de Timex, se copiarían 8KB de memoria desde esa misma ROM hacia el bloque 0 de EX (quizás usando RAM como paso intermedio). Luego, se paginaría ROM 1 donde estarían los 16KB de la ROM principal del Timex, se fijaría el bit de inhabilitar cambio de ROM para el puerto 7FFD y 1FFD para impedir que se pueda cambiar de ROM accidentalmente, y por último, se iniciaría la ROM principal con un JP 0.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
- mcleod_ideafix
- Mensajes: 831
- Registrado: 27 Sep 2015, 00:14
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Consulta emulación TS2068
Algo como esto (no probado)
Código: Seleccionar todo
ZXUNOADDR equ 0fc3bh
DEVCONTROL equ 0eh
DEVCTRL2 equ 0fh
TIMEXSCREEN equ 0ffh
TIMEXMMU equ 0f4h
org 0000h
Start di
ld hl,CodigoParaRAM
ld de,23296
ld bc,LCodigoParaRAM
ldir
jp 23296
CodigoParaRAM ;Esto se ejecutará en realidad en RAM
ld bc,ZXUNOADDR
ld a,DEVCONTROL
out (c),a
inc b
ld a,01001000b ;habilita MMU y deshabilita puerto 1FFDh
out (c),a
dec b
ld a,DEVCTRL2
out (c),a
inc b
xor a
out (c),a ;habilita modos Timex
ld a,128 ;selecciona EX-ROM for MMU
out (TIMEXSCREEN),a
ld a,1
out (TIMEXMMU),a ;pagina banco 0 de EXROM en area 0000-1FFF
ld hl,2000h
ld de,0
ld bc,8192
ldir
xor a
out (TIMEXMMU),a ;despagina banco 0 de EXROM
out (TIMEXSCREEN),a ;resetea registro de modo de pantalla del Timex
ld bc,7FFDh
ld a,00110000b ;pagina ROM 1 y bloquea cualquier otra operación de paginación
jp 0 ;salta a la ROM 1, que es la principal del Timex
LCodigoParaRAM equ $-CodigoParaRAM
org 2000h
EXROMCode incbin "exrom.bin" ; ROM extra para Timex (8 KB)
org 4000h
incbin "ts2068.bin" ; ROM principal de Timex (16 KB)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Consulta emulación TS2068
Porque quiero mover el contenido de la ROM de un sitio a otro. La BIOS por defecto carga los 32Kb en los bancos 8 y 9. Yo quiero que estén en los bancos 8 y mitad inferior del 24. Si se puede escribir en el banco 24 en modo no rooted, es posible hacerlo más fácil aunque no sería la ROM exacta (tendría un pequeño parche).mcleod_ideafix escribió: La pregunta es: por qué necesitas el modo rooted?
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Consulta emulación TS2068
No veo cómo mueves los 8Kb de EXROM. Me explico. La BIOS cargará los 32Kb de la ROM de la siguiente forma.
-Primeros 16K (código y EXROM) en banco 8
-Siguientes 16K (Main ROM) en banco 9
El main ROM lo cargas bien porque paginas el banco 9 y justo después deshabilitas. Pero la EXROM debería ir al banco 24 del ZX-Uno. ¿No es así?
-Primeros 16K (código y EXROM) en banco 8
-Siguientes 16K (Main ROM) en banco 9
El main ROM lo cargas bien porque paginas el banco 9 y justo después deshabilitas. Pero la EXROM debería ir al banco 24 del ZX-Uno. ¿No es así?
mcleod_ideafix escribió:Algo como esto (no probado)
Código: Seleccionar todo
ZXUNOADDR equ 0fc3bh DEVCONTROL equ 0eh DEVCTRL2 equ 0fh TIMEXSCREEN equ 0ffh TIMEXMMU equ 0f4h org 0000h Start di ld hl,CodigoParaRAM ld de,23296 ld bc,LCodigoParaRAM ldir jp 23296 CodigoParaRAM ;Esto se ejecutará en realidad en RAM ld bc,ZXUNOADDR ld a,DEVCONTROL out (c),a inc b ld a,01001000b ;habilita MMU y deshabilita puerto 1FFDh out (c),a dec b ld a,DEVCTRL2 out (c),a inc b xor a out (c),a ;habilita modos Timex ld a,128 ;selecciona EX-ROM for MMU out (TIMEXSCREEN),a ld a,1 out (TIMEXMMU),a ;pagina banco 0 de EXROM en area 0000-1FFF ld hl,2000h ld de,0 ld bc,8192 ldir xor a out (TIMEXMMU),a ;despagina banco 0 de EXROM out (TIMEXSCREEN),a ;resetea registro de modo de pantalla del Timex ld bc,7FFDh ld a,00110000b ;pagina ROM 1 y bloquea cualquier otra operación de paginación jp 0 ;salta a la ROM 1, que es la principal del Timex LCodigoParaRAM equ $-CodigoParaRAM org 2000h EXROMCode incbin "exrom.bin" ; ROM extra para Timex (8 KB) org 4000h incbin "ts2068.bin" ; ROM principal de Timex (16 KB)
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Consulta emulación TS2068
Vale. Ya lo veo:
Pues tienes razón. Así es más fácil y no hace falta modo root.
Código: Seleccionar todo
ld hl,2000h
ld de,0
ld bc,8192
ldir
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Consulta emulación TS2068
Entonces lo tienes ya casi. Esto no haría falta:
Puesto que estos bits los configura la BIOS dependiendo de los parámetros que hayas puesto para la ROM con GenRom o con ZX1RomPack
Código: Seleccionar todo
ld a,DEVCTRL2
out (c),a
inc b
xor a
out (c),a ;habilita modos Timex
Re: Consulta emulación TS2068
You can already run TS2068 software. Just run in Chloe mode and use the TS2068 emulator.