Teclado para ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
aowen
Commodore 128
Commodore 128
Mensajes: 90
Registrado: 14 Mar 2014, 14:31
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy

Re: Teclado para ZX-Uno

Mensajepor aowen » 28 Mar 2014, 20:10

antoniovillena escribió:No. The only way is editing the VHDL code and compiling.

Ok. I had better come up with a good arrangement then.

No. These keys require a previous pressing of EXTEND key. For this reason they are marked in yellow.

Understood. So in this case it will require a previous pressing of the CONTROL key. I can live with that.

Ok. I suppose that you'll replace the ROM that makes the 80 columns mode to the original 48K.

SE Basic IV uses similar ROMs. One provides low res (32 col) and the other high res (80 col). For compatibility, the original ROM can be loaded in RAM and paged over the ROM area. This is uncontended RAM so the timing is as per the original machine.

There is something that I don't understand very well. If mode 1 has double resolution than mode 0, is really need to squeeze more the font? That is, you have a 8x8 font in mode 0 that allows you 32 column mode. You can have a 64 column mode, more readable, with fast routines (don't need rotate bytes) and probably you can implement both modes in a single 16K ROM (because they share the font). So why a 80 column mode?

Note: If you need I have a routine that prints strings with 6x8 fonts almost fast as if they were 8x8. The problem is that you'll need 3K of ROM to store the font (instead 768 bytes).


Have you actually tried the 80 column mode? It's very readable (even on a CRT display) because it has its own font with double width stems. I previously wrote an 80 column mode that used pre-shifted definitions, and SE Basic IV is faster. It's not possible to have more than one display mode in a single ROM without branching. That's why the printing in the original ROM is so slow ... because it is constantly having to decide if it's going to the screen or the printer. That's why SE Basic IV's 80 column mode is much faster than the standard ROM's 32 column mode. The main reason for wanting an 80 column mode was to support a proper 80x24 terminal mode. That could be useful for Spectranet, or for running CP/M programs. If you've ever tried using CP/M in 64 columns with screen flip on the +3 you'll know what an awful experience it is. The way the mode works, the screen is stored in bank 7 which means some existing software will run in that mode with only minor modification for line endings. And you also get the benefit of being able to load a code page in bank 5 that gives you full 8-bit ASCII printing. A further consideration is that if esxDOS gets long filename support, you're going to be really glad to have an 80 column mode. :)

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Teclado para ZX-Uno

Mensajepor antoniovillena » 28 Mar 2014, 21:39

aowen escribió:Have you actually tried the 80 column mode? It's very readable (even on a CRT display) because it has its own font with double width stems. I previously wrote an 80 column mode that used pre-shifted definitions, and SE Basic IV is faster. It's not possible to have more than one display mode in a single ROM without branching. That's why the printing in the original ROM is so slow ... because it is constantly having to decide if it's going to the screen or the printer. That's why SE Basic IV's 80 column mode is much faster than the standard ROM's 32 column mode. The main reason for wanting an 80 column mode was to support a proper 80x24 terminal mode. That could be useful for Spectranet, or for running CP/M programs. If you've ever tried using CP/M in 64 columns with screen flip on the +3 you'll know what an awful experience it is. The way the mode works, the screen is stored in bank 7 which means some existing software will run in that mode with only minor modification for line endings. And you also get the benefit of being able to load a code page in bank 5 that gives you full 8-bit ASCII printing. A further consideration is that if esxDOS gets long filename support, you're going to be really glad to have an 80 column mode. :)


Yes, I have tried. I know the 80x24 terminal mode is very useful but IMHO I had done in a more scalable way. For example, graphic mode. Instead 512x192x1 (hi-res) I would use a 512x192x16, with the same colors and attribute clash than orginal ZX Spectrum mode. The left part of the screen can be managed with page 5 ($4000-$5B00) and the right side with page 7 ($C000-$DB00). This is a screen with square pixels:

double.png
double.png (4.17 KiB) Visto 6825 veces


And this one is with real aspect ratio:

double_compressed.png
double_compressed.png (3.26 KiB) Visto 6825 veces

Avatar de Usuario
aowen
Commodore 128
Commodore 128
Mensajes: 90
Registrado: 14 Mar 2014, 14:31
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy

Re: Teclado para ZX-Uno

Mensajepor aowen » 28 Mar 2014, 22:42

antoniovillena escribió:Yes, I have tried. I know the 80x24 terminal mode is very useful but IMHO I had done in a more scalable way. For example, graphic mode. Instead 512x192x1 (hi-res) I would use a 512x192x16, with the same colors and attribute clash than orginal ZX Spectrum mode.


I'm working with hardware developed 14 years ago before it became relatively trivial to create new screen modes, and I think that the additional overhead of having to update the attributes in addition to the display probably doesn't make that much sense for what is effectively a text mode, especially as the attributes would have to align to columns and so you'd be stuck with 64 column mode.

-- Actualizado 28 Mar 2014, 23:43 --

Ok. I think this will work. Providing there are no problems with this layout, consider it final. Keys shown with the standard ROM is in use.

Imagen

YELLOW keys require EXTEND pressed first (actual value shown).
PINK keys have only one meaning.
ORANGE keys are modified by PURPLE SHIFT.
BLUE keys double as Kempston when TOGGLE is selected.
GREEN keys are normal alphanumeric, CAPS SHIFT, SPACE, and ENTER.
WHITE keys have special functions, NMI, TOGGLE Kempston.

Assumes a UK keyboard layout with the following substitutions:

swap @ and "
swap | and ~
swap \ and `

With SE Basic IV in place the function keys will map to:

Fn: normal / SHIFTed

F1: LIST / MODE
F2: NEW / AND
F3: RESTORE / OR
F4: READ / NOT
F5: LET / UDG
F6: FOR / THEN
F7: GOTO / TO
F8: GOSUB / STEP
F9: NEXT / OPEN #
F10: POKE / CLOSE #
F11: INPUT / DEF FN
F12: REM / LINE
F13: PRINT / MERGE
F14: SCROLL / STR$
F15: PAUSE / DELETE

Let me know if you have any questions.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Teclado para ZX-Uno

Mensajepor antoniovillena » 28 Mar 2014, 23:44

aowen escribió:I'm working with hardware developed 14 years ago before it became relatively trivial to create new screen modes, and I think that the additional overhead of having to update the attributes in addition to the display probably doesn't make that much sense for what is effectively a text mode, especially as the attributes would have to align to columns and so you'd be stuck with 64 column mode.


That's the idea. Extending the BASIC to a 64 columns mode, forgoting the 80 column mode. Same fonts, same print routines, with full color, and the most important, the mode is backward-compatible. That is, if you run a BASIC program prepared to 32 columns (they are now all BASIC programs) in the 64 column mode, you'll see all the screen on the left side. And if you execute a 64-columns BASIC program in the 32 columns mode you'll see only the left half screen of the program. In both cases the program is executed without errors. So it's very easy adapt 32-columns programs to 64-columns ones. Also you can write a BASIC program that works in both modes (detect if 64-column mode is available and change mode if so).

-- Actualizado 28 Mar 2014, 23:52 --

aowen escribió:YELLOW keys require EXTEND pressed first (actual value shown).
PINK keys have only one meaning.
ORANGE keys are modified by PURPLE SHIFT.
BLUE keys double as Kempston when TOGGLE is selected.
GREEN keys are normal alphanumeric, CAPS SHIFT, SPACE, and ENTER.
WHITE keys have special functions, NMI, TOGGLE Kempston


It's ok.

aowen escribió:Assumes a UK keyboard layout with the following substitutions:

swap @ and "
swap | and ~
swap \ and `


Don't worry. PS/2 keyboard don't understand about layout, it only send scan code.

aowen escribió:With SE Basic IV in place the function keys will map to:

Fn: normal / SHIFTed

F1: LIST / MODE
F2: NEW / AND
F3: RESTORE / OR
F4: READ / NOT
F5: LET / UDG
F6: FOR / THEN
F7: GOTO / TO
F8: GOSUB / STEP
F9: NEXT / OPEN #
F10: POKE / CLOSE #
F11: INPUT / DEF FN
F12: REM / LINE
F13: PRINT / MERGE
F14: SCROLL / STR$
F15: PAUSE / DELETE

Let me know if you have any questions.


Why don't you print the tokens instead simple letters?

Avatar de Usuario
aowen
Commodore 128
Commodore 128
Mensajes: 90
Registrado: 14 Mar 2014, 14:31
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy

Re: Teclado para ZX-Uno

Mensajepor aowen » 29 Mar 2014, 11:52

antoniovillena escribió:
aowen escribió:I'm working with hardware developed 14 years ago before it became relatively trivial to create new screen modes, and I think that the additional overhead of having to update the attributes in addition to the display probably doesn't make that much sense for what is effectively a text mode, especially as the attributes would have to align to columns and so you'd be stuck with 64 column mode.


That's the idea. Extending the BASIC to a 64 columns mode, forgoting the 80 column mode. Same fonts, same print routines, with full color, and the most important, the mode is backward-compatible. That is, if you run a BASIC program prepared to 32 columns (they are now all BASIC programs) in the 64 column mode, you'll see all the screen on the left side. And if you execute a 64-columns BASIC program in the 32 columns mode you'll see only the left half screen of the program. In both cases the program is executed without errors. So it's very easy adapt 32-columns programs to 64-columns ones. Also you can write a BASIC program that works in both modes (detect if 64-column mode is available and change mode if so).


Unfortunately, extending BASIC to a 64 column mode requires almost as much work as an 80 column mode. Double height characters really need double width stems. That's why the font on the BBC Micro is bold. But bold characters don't look as good with normal resolution, so you'd either have to compromise or you'd still need two fonts. If I've understood your proposed mode correctly, what you're doing is displaying the normal and shadow video side by side. So yes, you could use the normal routines to write to the left half of the screen. But they would need modifying to write to the right half of the screen. So you make a change to assume the screen is at 0xC000 and page it in before doing any screen writes and out again afterwards. The print code still only handles 32 columns (for backwards compatibility). So if you want to print text across more than 32 columns you have to keep track of the print position is. And you can't use the mode for editing BASIC in 64 columns, which is the main thing I think people will use 80 column mode for.

It's ok... Don't worry. PS/2 keyboard don't understand about layout, it only send scan code.

Ok that's good.

Why don't you print the tokens instead simple letters?

Because I couldn't remember what tokens would show up with the normal ROM paged in. I've updated the graphic. I left the letters under the keys as that's what you'll get if you don't press the EXTEND key first.

When I get the keyboard made I'm going to leave the keys with just the F numbers printed on them in case I change the order or the names of some any of the tokens. Also I might learn VHDL at some point and want to reprogram the system.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Teclado para ZX-Uno

Mensajepor antoniovillena » 29 Mar 2014, 16:33

Lo siento Andrew, pero tenemos que continuar la conversación en otro sitio. Son muchos los mensajes en inglés y ya es la segunda vez que me llaman la atención.

--

I'm sorry Andrew, but we must continue the conversation in other forum. There are many english messages and I've receive the second warning from moderator.

-- Actualizado 29 Mar 2014, 16:44 --

Hola Andrew, acabo de crear un hilo aquí:

http://www.worldofspectrum.org/forums/s ... post761154

----

Hi Andrew, I just created a thread here:

http://www.worldofspectrum.org/forums/s ... post761154

Avatar de Usuario
aowen
Commodore 128
Commodore 128
Mensajes: 90
Registrado: 14 Mar 2014, 14:31
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy

Re: Teclado para ZX-Uno

Mensajepor aowen » 29 Mar 2014, 19:29

No usaré foros "World of Spectrum". He tenido demasiadas malas experiencias allí. Mi impresión general es que el Inglés y holandeses son muy grosero y me prefieren utilizar sólo los foros Spectrum españoles. Por desgracia yo ya estoy aprendiendo mi cuarto idioma, así que no tengo tiempo para aprender español. O podemos seguir en foro.speccy.org, o simplemente envíeme un mensaje privado.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Teclado para ZX-Uno

Mensajepor antoniovillena » 29 Mar 2014, 20:23

De acuerdo. Entonces usamos los foros de speccy.org. Creo que es un tema que puede interesar a otras personas, quizás no a muchas, pero que se lo perderían si lo hablamos por privado.

-- Actualizado 29 Mar 2014, 20:27 --

http://foro.speccy.org/viewtopic.php?f= ... 868#p40868

Avatar de Usuario
Hark0
Amiga 1200
Amiga 1200
Mensajes: 1695
Registrado: 11 Jul 2012, 23:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: (Otro)
Primera consola: (Otro)
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Teclado para ZX-Uno

Mensajepor Hark0 » 30 Mar 2014, 07:56

Mañana me reengancho al tema del diseño del teclado (apps reinstaladas, etc)....

¿tenemos ya claro el teclado del chloe?
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
aowen
Commodore 128
Commodore 128
Mensajes: 90
Registrado: 14 Mar 2014, 14:31
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy

Re: Teclado para ZX-Uno

Mensajepor aowen » 30 Mar 2014, 16:36

Hark0 escribió:Mañana me reengancho al tema del diseño del teclado (apps reinstaladas, etc)....

¿tenemos ya claro el teclado del chloe?


Este diseño es final.

https://dl.dropboxusercontent.com/u/15659782/sekbd4.png


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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