CPC Workbench

¡Hola a todos! :slight_smile:

He estado trabajando en mi propio emulador para el CPC, centrándome mucho en las herramientas de desarrollo, y he decidido compartirlo por aquí por si a alguien más le resulta útil :wink:

No os voy a soltar un parrafada enorme, pero básicamente:

  • Escrito en C/WASM, por lo que funciona directamente en el navegador
  • Empaquetado también en Electron, así que está disponible como aplicación independiente (para Windows y Linux)
  • Lo he diseñado para que pase la mayoría de los test de Shaker de Longshot, buscando la máxima precisión
  • Compatible con CPC 464, 664, 6128, 464 Plus, 6128 Plus y GX4000
  • Convertidor de imágenes, editor de sprites, editor de fuentes y editor de paletas integrados
  • Depurador con rastreador de haz (beam tracer), puntos de interrupción (breakpoints), puntos de interrupción de E/S y puntos de interrupción condicionales
  • Perfilador (profiler) con mapa de calor de memoria
  • Creador de cartuchos
  • Editor de ensamblador integrado que muestra cuántos NOPs consume cada instrucción
  • Editor de BASIC integrado para extraer o inyectar código fácilmente
  • Editor de discos integrado (archivos o sectores en hexadecimal)

Aquí lo tenéis: https://cpcworkbench.gradew.net

Contadme qué os parece :wink:

12 Me gusta

¡Algunas funciones geniales como la pantalla NOP! :+1:

1 me gusta

¡Gracias! Sí, eso era algo que siempre había querido hacer desde que empecé a usar WinApe para programar por fin mis propios efectos de raster :wink:

Pinta muy bien, pero no ejecuta mi juego de GX4000:

Ronald In The Maze (GX4000) - Games! - CPCWiki

El cual funciona en Arnold y Retro Virtual Machine.

¡Estaría genial ver eso integrado ahí! :slight_smile:

Dabzy

1 me gusta

¡Gracias por los comentarios, me pongo con ello enseguida! :smiley:

¿Quieres decir que no consigues que inicie? Porque por aquí parece funcionar bien:

Lo cargué a través de Máquina>Cartucho

¿Podría ser el mismo problema con el que me encontré al intentar jugar en cpcec y que reporté en Ronald In The Maze (GX4000) - #5 by cpcitor?

1 me gusta

Mmmm… No quería arrancar… ¡Volveré a intentarlo! :slight_smile:

EDITO: Bueno, ha funcionado… Pero no dibuja los sprites por hardware (a Ronald y a los enemigos) :slight_smile:

Dabzy

2 Me gusta

¡Entendido, voy a investigarlo!

2 Me gusta

¡Uups, toda la razón, fallo mío! :smiley: Ya arreglé el error, ahora los sprites se ven bien.

Gracias por esta ROM, es genial por dos cosas:

  • para corregir errores
  • me dan unas ganas increíbles de jugarla :smiley:
3 Me gusta

¡Súper! :slight_smile:

¡Me alegra que Ronald haya podido ayudar! :wink: jejeje

Dabzy

2 Me gusta

Este es un conjunto de herramientas realmente bueno combinado en un IDE, fácilmente disponible en cualquier lugar. Es impresionante lo que se puede hacer hoy en día en un navegador. Como usuario de WinAPE, pude encontrar fácilmente la mayoría de las cosas que uso a menudo.

Para hacer pruebas, además de los programas de prueba incluidos, también usé mi pequeña pre-demo «circles» para ver si la emulación del CRTC funciona como se espera. ¡Y así es! Solo hay un pequeño detalle: en la parte inferior de la pantalla, las últimas cuatro líneas de píxeles no se ven como deberían. Parece que la imagen se desplaza hacia arriba cuatro líneas de píxeles. No puedo probarlo en hardware real, pero otros emuladores no muestran este efecto. La demo configura exactamente 272 líneas de píxeles y no se preocupa por las 40 líneas restantes. De alguna manera, la región visible parece estar un poco desplazada. En el hardware real, es posible que el marco del monitor cubra esto.

1 me gusta

¡Impresionante trabajo, felicitaciones! Si pudieras añadir algunas barras de desplazamiento en la ventana del depurador, sería perfecto.
El filtro de TV se ve particularmente bien y realmente coincide con lo que tenía en ese entonces :clap:

1 me gusta

¡Gracias por los comentarios!
Esta demo es otra mina de oro para mí, me pongo a trabajar en ello de inmediato :slight_smile:

¡Gracias por tus comentarios!

Buen punto sobre las barras de desplazamiento, ¿cómo no se me ocurrió antes…? :smiley:

Las acabo de añadir, ya deberías poder verlas (tanto en versión web como ejecutable)

1 me gusta

Pregunta rápida: ¿en qué CRTC tuviste el problema? Veo que está completamente roto para el CRTC 3, más que solo unas pocas líneas de píxeles :smiley: Voy a empezar a trabajar en eso primero.

Sí, yo también he notado un pequeño fallo con las imágenes en overscan. Muestra algunas líneas extra en la parte inferior.
Esta imagen es de 192x272. Adjunto el código fuente por si puede ayudar. Parece afectar a todos los tipos de CRTC.

MAP.asm (108,6 Ko)

1 me gusta

He corregido el problema con el CRTC 3 que mostraba una imagen completamente rota.
Logré reproducir el problema de las líneas que te faltaban; huele al típico problema de sincronización :slight_smile: Le estoy echando un vistazo ahora mismo, creo que voy por buen camino…

2 Me gusta

Listo, las 4 líneas han desaparecido, tu mapa ahora se muestra perfectamente :slight_smile: Muchísimas gracias por los comentarios y las fuentes, de verdad lo aprecio <3
Emulador web actualizado y la versión independiente v1.1 recompilada (todavía estoy trabajando en un proceso adecuado de CI/CD y lanzamientos, así que estoy haciendo algo de trampita :stuck_out_tongue:)

Ahora vuelvo a trabajar en la rama del CRTC 2, porque me he dado cuenta de algo feo :smiley:

Tu problema debería estar resuelto ahora con la versión publicada (web y independiente). Avísame si notas algo raro, ¡y muchísimas gracias por toda la información y la demostración que compartiste!

1 me gusta