ZXDOS, sobre la modernización del ZX-SPECTRUM

Proyectos ajenos al equipo oficial pero desarrollados o promovidos por la comunidad, relacionados con el ZX-UNO / Projects outside the official team but developed or promoted by the community, related to the ZX-UNO
jevilon
Mensajes: 339
Registrado: 24 Mar 2016, 12:26

Re: ZXDOS, sobre la modernización del ZX-SPECTRUM

Mensajepor jevilon » 16 Ene 2018, 08:10

Pero con todos esos cambios, estás diseñando un ordenador nuevo... No un spectrum.... Si ya me hablas de sacrificar compatibilidad..... Yo ya no lo veria un spectrum.....

nch
Mensajes: 66
Registrado: 10 Ene 2018, 23:16

Re: ZXDOS, sobre la modernización del ZX-SPECTRUM

Mensajepor nch » 16 Ene 2018, 22:55

Yo es que soy mas de Sabrina que de Darth Vader.

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

Re: ZXDOS, sobre la modernización del ZX-SPECTRUM

Mensajepor aowen » 26 Ene 2018, 23:38

Is it 1998 again? The Spectrum SE is already more Spectrum than anyone is writing code for and that's 18 years old now (and supported in the Uno's ZX core). :)

What is a Spectrum?
A machine that can run most software written for the 48K machine without emulation.

When does it stop being a Spectrum?
When it's an FPGA board with more features taken from other machines that the Spectrum itself.

Use an MSX2 video chip?
Miguel has already added an MSX video chip to a Spectrum. Doing new hardware configurations is easy. Getting people to write software for it is much harder. To date the most successful graphic upgrade has been ULAplus. And in fairness it hasn't been hugely successful, given it's been around for nearly a decade.

What things can be improved in a Spectrum?
I/O decoding, the ROM, Timex video modes. TurboSound AY. Loading from SD card. Palettes. SpecDrum/Covox. K-mouse. You can do all that without breaking existing software. Anything much you add beyond that is going to break something. And people who still bother coding for the Spectrum still mostly target the 48K machine. Mainly because the 128 is such a drag to code for.

open source
The Uno is open. SE Basic is open. UnoDOS 3 is open. If people want to do their own thing they have all the tools they need.

C
Currently the only practical C assembler I know for Z80 is the HiSoft one for CP/M. The best adventure game designer is Inform 6. You can use Inform 7, but the Spectrum isn't fast enough to execute it.

BASIC
The point of having BASIC in ROM is because of the limited address space. Also you have to integrate with the OS. We have esxDOS (and the derivative UnoDOS 3). It requires the system variables to be in a fixed location. The divMMC hardware also pages if you try to execute at certain memory addresses. So you can take the approach of early versions of SE Basic and try to be as close to the original ROM as possible, or you can take the approach I am going with in SE Basic 4.2 and build it around the known limitations of keeping it working with the OS. I'm aiming for something closer to MS BASIC syntax because it's a more popular dialect.

Hardware
There's no reason to extend the Z80 CPU. So binary compatibility isn't an issue. Really if you want to go forward you have to throw out perfect timing compatibility though. The X80 was my idea, but it was conceived to interact with the ROM's floating point calculator (and bypass it to speed up certain routines). Typically in FPGA you just end up ramping up the CPU speed as it's easier than creating an FPU (which currently has no software support).

bankswitching
It's all terrible. Fortunately it's also unnecessary as SD cards give you virtually unlimited storage and you can just move data between the 64K address space and disc fast enough.

I/O
The Spectrum expansion bus is crippled by lazy decoding which ensures that no three devices picked at random will all work at once. The Uno has plenty of I/O ports if you want to build your own hardware projects.

interrrupts
The Uno's ZX core borrows this from the SAM Coupe.

RAM
You don't need dual port RAM. The Uno can already do uncontended memory access.

ROM
Still has the advantage of preventing the machine being bricked. Ideally you want BASIC and OS in ROM.

mass storage
divIDE is evil. It uses far too many ports. divMMC is the defacto standard. But it has some limitations such as paging being triggered on addresses rather than ports, and auto-paging being a pain to work around.

TCP/IP
Use a Toshiba FlashAir wireless router on an SD card via the SPI access. No-one has this working yet, but you really don't want the poor old Z80 having to do the TCP/IP stuff. Even SpectraNet (the original ZX Ethernet solution) farms out TCP/IP to a chip.

sound
Right back to the ZX81, after-market sound boards have used the AY. And Timex was the first to build it into a Spectrum in 1983. If you use something like a SID it doesn't sound right. 6 channels should be enough for anyone and the TurboSound AY system has reasonable software support. Anything else would need new editors writing for it. If you want spot effects then DAC systems like SpecDrum and Covox are already supported.

graphics
As touched on before, all you need in a Spectrum is the Timex modes and ULAplus. The more pixels you have to move around, the faster CPU and the more RAM you need. Bank 5 and 7 together make up a 32K frame buffer. Whatever video modes you want to add need to fit in that scheme. And then they also need to be physically possible on a television, so for PAL that's an upper limit of about 720x256 pixels (23K of VRAM in mono). Using a 6x8 font you can do decent text modes: 40x24 (in 256x192) or 80x24 (in 512x192).

keyboard terminal
I agree. Tokens are stupid. SE Basic doesn't use them.

joystick
The Uno already lets you program it.

other machines
Anything you add to another machine is going to be too niche to get used. The Uno has supported the Timex features for years and they barely get used.

final thoughts
I've seen it all before. Coming up with ideas is the easy part. Hardware is relatively easy to do. How do you get people to write programs for your new machine? So sorry to rain on the parade. The other thing is that, as the FrankenSpec has demonstrated, what people really want is a shiny case and lots of marketing hype.

zxpope
Mensajes: 7
Registrado: 02 Ene 2018, 02:12

Re: ZXDOS, sobre la modernización del ZX-SPECTRUM

Mensajepor zxpope » 29 Ago 2018, 20:29

Hola,

Estoy leyendo sobre una idea de adaptar los juegos de formato de pantalla 4:3 a formato 16:9,
sin modificar la ROM/TAP en el siguiente blog http://prilik.com/blog/wideNES

La verdad es que el resultado es sorprendente, por eso creo oportuno traer la idea a este foro
https://prilik.com/blog/resources/wideN ... S_smb1.gif

Imagen

El hardware de la NES facilita el truco, pues parece tener un hardware que mueve sprites y realiza scrolls.
La implementación en spectrum seria mas dificil, pero no imposible.

Estoy pensando en una posible solución: la fpga/emulador/unasegundacpu realiz capturas de la memoria de pantalla
de forma periódica y luego mediante una correlación 2D adivina el desplazamiento X,Y entre dos pantallazos
y por acumulación forma una imagen ampliada 16:9.

En el blog se apunta tambien la posibilidad, a medida que se avanza en el juego, de hacer automáticamente mapas y permitir "unzoom" para alejarse de la pantalla en curso y tener una perspectiva global.
(la abadia del crimen seguramente quedará rara :-))

Es de esperar "artifacts" en la imagen por el desplazamiento de los sprites que no pueden ser separados del fondo.
Aqui quizás se pueda aplicar una operacion moda, con el contenido mas frecuente (fondo solo, sin sprites)

Esto de retro es como el cinexin, diversión sin fin.

Saludos
1551


Volver a “Proyectos de la comunidad / Community projects”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados