Consulta emulación TS2068

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Consulta emulación TS2068

Mensaje por antoniovillena » 04 Ene 2017, 23:16

Con el código de McLeod, también sin probar, subo los fuentes. El tap generado está bajo la carpeta rom_taps. Para ensamblar se necesita sjasmplus.

Actualizo: todavía sin probar, pongo un out al final que le faltaba a McLeod en el código y quito la parte de devcontrol que también sobra.

Código: Seleccionar todo

                define  TIMEXSCREEN $ff
                define  TIMEXMMU    $f4

                        output  rom_binaries/ts2068.rom

Start                   di
                        ld      hl, CodigoParaRAM
                        ld      de, $5B00
                        ld      bc, LCodigoParaRAM-CodigoParaRAM
                        ldir
                        jp      $5B00

CodigoParaRAM           ld      a, $80          ;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, $2000
                        ld      de, 0
                        ld      bc, $2000
                        ldir
                        xor     a
                        out     (TIMEXMMU), a   ;despagina banco 0 de EXROM
                        out     (TIMEXSCREEN),a ;resetea registro de modo de pantalla del Timex

                        ld      bc, $7FFD
                        ld      a, %00110000    ;pagina ROM 1 y bloquea cualquier otra operación de paginación
                        out     (c), a
                        rst     $00             ;salta a la ROM 1, que es la principal del Timex
                        
LCodigoParaRAM          block   $2000-$
EXROMCode               incbin "rom_binaries/ts2068-1.rom"  ; ROM extra para Timex (8 KB)
                        incbin "rom_binaries/ts2068-0.rom"  ; ROM principal de Timex (16 KB)
Adjuntos
ts2068.zip
(34.19 KiB) Descargado 382 veces

Rickyarg
Mensajes: 20
Registrado: 29 Dic 2016, 11:46

Re: Consulta emulación TS2068

Mensaje por Rickyarg » 05 Ene 2017, 14:34

antoniovillena escribió:Con el código de McLeod, también sin probar, subo los fuentes. El tap generado está bajo la carpeta rom_taps. Para ensamblar se necesita sjasmplus.

Actualizo: todavía sin probar, pongo un out al final que le faltaba a McLeod en el código y quito la parte de devcontrol que también sobra.

Excelente! Muchas gracias Antonio,y a todos los que colaboraron!!! Lo puedo probar en el ZXUno real? Tengo que incorporarlo por EAR, correcto?

Muchas gracias de nuevo a todos! Parece que tendré regalo de Reyes .... :gracias!:

Rickyarg
Mensajes: 20
Registrado: 29 Dic 2016, 11:46

Re: Consulta emulación TS2068

Mensaje por Rickyarg » 05 Ene 2017, 14:35

aowen escribió:You can already run TS2068 software. Just run in Chloe mode and use the TS2068 emulator.
I didn´t know there was a TS2068 emulator for Chloe, will take a look into it. Thanks! Sincerely,

Ricardo.

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Consulta emulación TS2068

Mensaje por antoniovillena » 05 Ene 2017, 16:36

Ha sido McLeod el que ha sacado el código. Yo solo he creado el archivo. Sí, tienes que incorporarlo por EAR.
Rickyarg escribió:
antoniovillena escribió:Con el código de McLeod, también sin probar, subo los fuentes. El tap generado está bajo la carpeta rom_taps. Para ensamblar se necesita sjasmplus.

Actualizo: todavía sin probar, pongo un out al final que le faltaba a McLeod en el código y quito la parte de devcontrol que también sobra.

Excelente! Muchas gracias Antonio,y a todos los que colaboraron!!! Lo puedo probar en el ZXUno real? Tengo que incorporarlo por EAR, correcto?

Muchas gracias de nuevo a todos! Parece que tendré regalo de Reyes .... :gracias!:

Rickyarg
Mensajes: 20
Registrado: 29 Dic 2016, 11:46

Re: Consulta emulación TS2068

Mensaje por Rickyarg » 05 Ene 2017, 18:26

antoniovillena escribió:Ha sido McLeod el que ha sacado el código.
claro! ya he visto que Miguel ha sido el "alma mater" de la solución. Y también César, que me ayudó desde el comienzo; muchas gracias a los tres! Veré si lo pruebo lo antes posible.

Saludos!

jotabe
Mensajes: 69
Registrado: 26 Sep 2017, 15:36

Re: Consulta emulación TS2068

Mensaje por jotabe » 07 Dic 2017, 20:33

Alguien me puede explicar que es lo del emulador de ts2068?. Es algún tap para usar en modo Chloe?

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Consulta emulación TS2068

Mensaje por antoniovillena » 07 Dic 2017, 20:51

jotabe escribió:Alguien me puede explicar que es lo del emulador de ts2068?. Es algún tap para usar en modo Chloe?
En realidad no es emulación. Es un método para meter la ROM del TS2068 (clon americano legal de spectrum) en un ZX-Uno.

Avatar de Usuario
aowen
Mensajes: 178
Registrado: 07 Oct 2015, 13:32

Re: Consulta emulación TS2068

Mensaje por aowen » 24 Dic 2017, 03:13

antoniovillena escribió:En realidad no es emulación. Es un método para meter la ROM del TS2068 (clon americano legal de spectrum) en un ZX-Uno.
The TS2068 emulator is a 32K soft-ROM for the ZX Spectrum SE, dating from 17 years ago. I wrote it with help from Alvin Albrecht. The 2068 has a 24K of ROM, 16K in the HOME bank, and 8K in the EX bank. The Spectrum SE has a 32K ROM (same paging as the Spectrum 128). But it also has 128K of shadow RAM in the EX and DOCK banks. The emulator takes the HOME ROM and modifies it to run in the DOCK bank, and puts the lower 8K of the EX ROM and the upper 8K of the HOME ROM in the EX bank. The upshot is you can run TS2068 software. The Spectrum SE has the AY on both the 128 and Timex ports. Not sure about the Uno. But basically the Uno implements the Spectrum SE (thanks to Miguel). So as a result you can use the emulator to run TS2068 software on the Uno. It really ought to be in the Uno archive. I probably have a copy of the .tap file kicking around somewhere. If anyone is interested I'll go see if I can find it.

Avatar de Usuario
SevenFFF
Mensajes: 43
Registrado: 23 Dic 2017, 22:50

Re: Consulta emulación TS2068

Mensaje por SevenFFF » 21 Ene 2018, 06:29

mcleod_ideafix escribió:También está implementado el puerto $F4, que se usa en conjunción con el bit 7 del puerto $FF. El puerto $F4 es el manejador de la MMU horizontal del Timex. Este manejador trabaja con bancos de 8K. En cada porción de 8K del espacio de direcciones puede haber una de estas tres cosas:
- Memoria proveniente de HOME
- Memoria proveniente de DOC
- Memoria proveniente de EXT

La memoria HOME es la memoria normal de un 128K. Esta memoria puede ser ROM (para las direcciones $0000 a $3FFF) como siempre, o memoria RAM, para direcciones a partir de $4000. Lo que aparezca en el espacio de direcciones del Z80 cuando está activa la memoria HOME depende unicamente del manejador de memoria estándar del 128K o +3. Por otra parte, las memorias DOC y EXT son memorias RAM en su totalidad.

El puerto $F4 usa un bit por cada banco de 8K, siendo el bit 0 el que controla el banco $0000-$1FFF... , hasta el bit 7 que controla el banco $E000-$FFFF. Si el bit está activo, en ese banco aparece una página DOC, o EXT (según el valor del bit 7 de $FF). Cuando se usa la MMU del Timex, la memoria que aparece en los bancos activados por $F4 es o bien toda DOC o toda EXT. No es posible tener bancos con DOC y otros con EXT, ya que sólo hay un bit que indique qué memoria se usa.

El mapa de memoria, contando con el manejador de memoria del 128K, el del +3, y el del Timex, queda así (no se tiene en cuenta la paginación automática del DivMMC en este esquema, que se superpondría a la ROM)

Código: Seleccionar todo

 Banco             HOME            DOC    EXT
------------+--------------------+------+-----
$0000-$1FFF ¦ ROM3/2/1/0 RAM0/4  ¦ DOC0 ¦ EXT0
$2000-$3FFF ¦ ROM3/2/1/0 RAM0/4  ¦ DOC1 ¦ EXT1
$4000-$5FFF ¦ RAM5/1/7           ¦ DOC2 ¦ EXT2
$6000-$7FFF ¦ RAM5/1/7           ¦ DOC3 ¦ EXT3
$8000-$9FFF ¦ RAM2/1/6           ¦ DOC4 ¦ EXT4
$A000-$BFFF ¦ RAM2/1/6           ¦ DOC5 ¦ EXT5
$C000-$DFFF ¦ RAM0/1/2/3/4/5/6/7 ¦ DOC6 ¦ EXT6
$E000-$FFFF ¦ RAM0/1/2/3/4/5/6/7 ¦ DOC7 ¦ EXT7

ROM3/2 disponibles desde puerto $1FFD
ROM1/0 disponibles desde puerto $7FFD
DOC si bit 7 de $FF = 0
EXT si bit 7 de $FF = 1
Can I use horizontal MMU with any ROM in the ZX core. Even +2 and 48K!

Same question for +2A/+3 special paging mode - every ROM?

Thanks, Robin
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Consulta emulación TS2068

Mensaje por mcleod_ideafix » 21 Ene 2018, 22:14

SevenFFF escribió:Can I use horizontal MMU with any ROM in the ZX core. Even +2 and 48K!

Same question for +2A/+3 special paging mode - every ROM?

Thanks, Robin
Yes, you can. There is provision to "lock" the ROM page (so you can have a 48K ROM as ROM 0 and it won't change to any other ROM) while allowing any other memory option to work (such as allowing all-RAM mode). here you have a screenshot of a 48K ROM being configured so it will allow 128K memory paging, +2A/+3 paging, and Timex MMU.

This is acomplished by setting the options "Disable high bit ROM..." for I/O ports 7FFDh and 1FFDh, so writting to these bits won't have any effect, thus avoiding the ROM to leave bank 0. It will, of course, unpaged if the all-RAM option is in use. It will be unpaged also if DivMMC automapping feature is enabled (so you can use ESXDOS and the NMI browser)
48k_with_all.png
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder