Nueva feature para ZEsarUX: remote command protocol

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Nueva feature para ZEsarUX: remote command protocol

Mensaje por chernandezba » 19 Ene 2017, 22:10

Hola

El siguiente vídeo es una demo de lo último que estoy agregando a ZEsarUX: protocolo remoto para conectarse con ZEsarUX e interactuar con él

phpBB [media]


:holaa!:
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por Haplo » 19 Ene 2017, 22:25

Ostrás, esto abre la puerta a que cualquiera pueda currarse un debugger externo!

:plasplas: :plasplas:

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por chernandezba » 19 Ene 2017, 22:27

Exacto! :silbando:
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por Haplo » 19 Ene 2017, 22:53

No estoy muy puesto que digamos con FreeBasic, ya que lo uso de forma muy muy sencilla, pero seguro que tiene librerías para usar Telnet directamente.
No debería ser muy complicado hacer un interfaz para mostrar los valores leídos y mandar comandos al emulador.
¿alguien tiene experiencia con este tema en FreeBasic?

Avatar de Usuario
Tromponauta
Mensajes: 123
Registrado: 03 Feb 2016, 20:15

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por Tromponauta » 20 Ene 2017, 11:03

He intentado instalar ZEsarUX con YAROUT en Manjaro Linux y solo me ofrece la versión 3 y avisa que esta de actualizada :(
Enviado desde mi ZX-UNO

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por Uto » 20 Ene 2017, 11:35

Hmmmm, vaya por delante que me mola bastante, y que me parece un comienzo excelente, pero siempre hay peros ...

1) No se si el dissasembly vale de mucho como está, y me explico:

Haces dissasembly 0 y te devuelve DI, ¿pero como sabes cuanto tienes que aumentar el PC para hacer disassembly del siguiente opcode?

Un debugger externo tendría que parsear el output y determinar cuantos bytes ocupa el opcode en cuestión, porque por por ejemplo si en vez de DI retorna LD A, 27 serían 2, pero si es LD IYH, 27 serían 3.

Por supuesto, ese parseo se puede hacer, pero como supongo que zesarux ya se ve obligado a sacar todos los bytes que hagan falta para desensamblar... ¿no tendría más sentido que dissasembly devolvier el opcode y los bytes que ocupa?

Código: Seleccionar todo

[media]>dissasembly 28
LD A, 27 # 2
>dissasembly 30
LD IY, 32768 # 4
[/media]
(o algo así vamos)

2) Le falta alguna manera de meter un breakpoint, con la misma sintaxis que dentro del GUI:

Código: Seleccionar todo

>set-breakpoint PC=32768
3) Y claro, para hacer un debugger le faltan las acciones tradicionales: step-into, step-over y run.

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por Uto » 20 Ene 2017, 11:37

Haplo escribió:No estoy muy puesto que digamos con FreeBasic, ya que lo uso de forma muy muy sencilla, pero seguro que tiene librerías para usar Telnet directamente.
No debería ser muy complicado hacer un interfaz para mostrar los valores leídos y mandar comandos al emulador.
¿alguien tiene experiencia con este tema en FreeBasic?

Yo en freebasic ni idea, pero para mi sería fácil montar una base en Lazarus (freepascal) con su GUI, y portable (WIndows, Linux, Mac). Eso sí, fácil no significa poco laborioso, llevaría su tiempo, que es lo que no tengo (o al menos no lo tengo agrupado, que es lo que hace falta para concentrarse).

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por chernandezba » 20 Ene 2017, 12:30

Uto escribió:Hmmmm, vaya por delante que me mola bastante, y que me parece un comienzo excelente, pero siempre hay peros ...

1) No se si el dissasembly vale de mucho como está, y me explico:

Haces dissasembly 0 y te devuelve DI, ¿pero como sabes cuanto tienes que aumentar el PC para hacer disassembly del siguiente opcode?

Un debugger externo tendría que parsear el output y determinar cuantos bytes ocupa el opcode en cuestión, porque por por ejemplo si en vez de DI retorna LD A, 27 serían 2, pero si es LD IYH, 27 serían 3.

Por supuesto, ese parseo se puede hacer, pero como supongo que zesarux ya se ve obligado a sacar todos los bytes que hagan falta para desensamblar... ¿no tendría más sentido que dissasembly devolvier el opcode y los bytes que ocupa?

Código: Seleccionar todo

[media]>dissasembly 28
LD A, 27 # 2
>dissasembly 30
LD IY, 32768 # 4
[/media]
(o algo así vamos)
Vaya por delante que no está acabado aún ;)
Si, tienes razón, debe retornar la longitud en bytes. Es fácil pues yo lo obtengo; haré que lo retorne en la siguiente línea

2) Le falta alguna manera de meter un breakpoint, con la misma sintaxis que dentro del GUI:

Código: Seleccionar todo

>set-breakpoint PC=32768
Si, también lo tengo pendiente

3) Y claro, para hacer un debugger le faltan las acciones tradicionales: step-into, step-over y run.
Idem, pendiente
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por chernandezba » 20 Ene 2017, 12:33

Uto escribió:
Haplo escribió:No estoy muy puesto que digamos con FreeBasic, ya que lo uso de forma muy muy sencilla, pero seguro que tiene librerías para usar Telnet directamente.
No debería ser muy complicado hacer un interfaz para mostrar los valores leídos y mandar comandos al emulador.
¿alguien tiene experiencia con este tema en FreeBasic?

Yo en freebasic ni idea, pero para mi sería fácil montar una base en Lazarus (freepascal) con su GUI, y portable (WIndows, Linux, Mac). Eso sí, fácil no significa poco laborioso, llevaría su tiempo, que es lo que no tengo (o al menos no lo tengo agrupado, que es lo que hace falta para concentrarse).
Hace meses contacté con un desarrollador del BorIDE, tengo que volver a hablar con él a ver si quiere integrar ese IDE con mi protocolo remoto
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Nueva feature para ZEsarUX: remote command protocol

Mensaje por chernandezba » 20 Ene 2017, 12:37

Tromponauta escribió:He intentado instalar ZEsarUX con YAROUT en Manjaro Linux y solo me ofrece la versión 3 y avisa que esta de actualizada :(
Supongo que eso utiliza repositorios AUR Linux, que sí, están desactualizados en la versión 3, y yo no soy quien mantiene esa versión.
Prueba a usar una versión binaria o a compilar desde código fuente

https://sourceforge.net/projects/zesarux/

Esta característica de protocolo remoto sólo está disponible en la última versión de código fuente

https://sourceforge.net/p/zesarux/code/ci/master/tree/

Saludos
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Responder