Gracias por hacer el ZX-Uno algo palpable

Discursiones en general sobre el proyecto que no tienen cabida en otro foro / General discussion for uncateorized topics about the ZX-Uno project
Avatar de Usuario
mapache
Mensajes: 272
Registrado: 15 Dic 2016, 22:24

Gracias por hacer el ZX-Uno algo palpable

Mensaje por mapache » 30 Nov 2017, 19:06

Simplemente agradecer a todos los que habéis hecho una realidad esta maravillosa idea, que me ha hecho recobrar mi interés por la computación a bajo nivel, y recordar viejos tiempos.

Estoy leyendo el curso de ensamblador Z80 de Compiler software y, tras momentos de pura frustración, como fallos al compilar por poner end: en lugar de fin:, he conseguido que funcione un "Hola mundo". Por supuesto lo he pasado a wav y lo he probado en "la máquina" ;) y funciona :)

Código: Seleccionar todo

; My first ZX Spectrum assembly program
; Hello World!

ORG     50000

        LD HL, message

loop:

        LD A, (HL)
        CP 0
        JR z,fin
        RST 16			; print ASCII character at A 
        INC HL 
        JP loop

fin:

        RET

message         DB      "Hello world!",0

END 50000
Estoy seguro de que "el tito" Clive Sinclair se sentiría más que orgulloso de quienes habéis hecho posible esta realidad. Simplemente, ¡Gracias!

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

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por Uto » 01 Dic 2017, 01:10

Cuidado que cuando uno se pone no para!!

Y luego te pasan cosas como no poderte resistir a decir que si en vez de CP 0 pones OR A te ahorras 1 byte X-D

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

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por Uto » 01 Dic 2017, 01:11

De hecho si en vez del JR z pones un RET z te sobra el fin: y el RET de abajo

Y ya paro O:-)

Avatar de Usuario
mapache
Mensajes: 272
Registrado: 15 Dic 2016, 22:24

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por mapache » 01 Dic 2017, 07:21

Muchas gracias por las observaciones, tomo buena nota. De momento intento hacer el código lo más legible posible.

Del ensamblador MS-DOS recuerdo que XOR A, A es más rápido, al igual que usar desplazamientos de bits en lugar de multiplicaciones o divisiones. Me gusta mucho este lenguaje porque no tiene capas y capas de abstracción y programas directamente la máquina, y es una gozada ver programas tan rápidos y en tan pocos bytes. Tiene un nosequé :-)

Tengo ganas de portar un efecto fuego en C/ASM que hice hace tiempo para MS-DOS al modo Radastan en ensamblador, puede quedar muy chulo al tener muchos más colores... aunque todavía estoy en pañales con el Z80.

Avatar de Usuario
Hark0
Mensajes: 683
Registrado: 27 Sep 2015, 00:31
Ubicación: Cornellà de Llobregat - BCN
Contactar:

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por Hark0 » 07 Dic 2017, 17:46

mapache escribió:Tengo ganas de portar un efecto fuego en C/ASM que hice hace tiempo para MS-DOS al modo Radastan en ensamblador, puede quedar muy chulo al tener muchos más colores... aunque todavía estoy en pañales con el Z80.

El modo radastaniano es muy agradecido de trabajar.... ya lo verás... ah! no te pierdas la interrupción raster que implementó McLeod, así como el scroll, etc.

;-)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
mapache
Mensajes: 272
Registrado: 15 Dic 2016, 22:24

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por mapache » 07 Dic 2017, 17:54

Así da gusto, lo añado a mi "TODO list" ;) aprovecho para poner el "Hello world" con las sugerencias de Uto:

Código: Seleccionar todo

ORG     50000

        LD HL, message

loop:

        LD A, (HL)
        OR A
        RET z  
        RST 16
        INC HL 
        JP loop

message         DB      "Hello world!",0

END 50000

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

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por mcleod_ideafix » 07 Dic 2017, 22:45

No olvides abrir el canal 2. Si no, tu Hello world aparecerá en las dos lineas inferiores de la pantalla y no lo podras leer a menos que hagas un PRINT USR o pongas un PAUSE 0 después del RANDOMIZE USR

Código: Seleccionar todo

ORG     50000
        ld a,-2       ;si, se pone el numero de canal en negativo
        call 1601h    ;CHAN_OPEN
        
        LD HL, message

loop:

        LD A, (HL)
        OR A
        RET z  
        RST 16
        INC HL 
        JP loop

message         DB      "Hello world!",0

END 50000
[/quote]
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
mapache
Mensajes: 272
Registrado: 15 Dic 2016, 22:24

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por mapache » 08 Dic 2017, 09:54

Gracias por la información, ya tengo algo nuevo que leer.

Acabo de probar en fuse la versión que has publicado abriendo el canal y el resultado que produce en pantalla es exactamente el mismo que el del código de mi mensaje anterior. Lo compilo usando pasmo --tapbas hello.asm hello.tap

Avatar de Usuario
mapache
Mensajes: 272
Registrado: 15 Dic 2016, 22:24

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por mapache » 08 Dic 2017, 13:55

Bueno, pues después de perder horas intentando hacer una simple multiplicación he decidido pasarme a z88dk en cuanto monte un nuevo PC de desarrollo. Es muy frustrante saber lo que quiero hacer con la memoria y tener que ceñirme a un montón de restricciones al programar el Z80 directamente... simplemente decir que me quito el sombrero ante los que se os da bien esto. Es increíble hacerse una ligerísima idea de lo que hay detrás de juegos como el Manic Miner, especialmente sin las facilidades y recursos que tenemos hoy día.

Pasar de usar C con rutinas ensamblador en MS-DOS a puro ensamblador Z80 es durísimo.

Soy un programador malo pero disfruto de la programación, especialmente al escribir directamente sobre la videoram. El ZX-Uno me ha devuelto las ganas de seguir trasteando con código :)

Avatar de Usuario
Hark0
Mensajes: 683
Registrado: 27 Sep 2015, 00:31
Ubicación: Cornellà de Llobregat - BCN
Contactar:

Re: Gracias por hacer el ZX-Uno algo palpable

Mensaje por Hark0 » 08 Dic 2017, 18:30

Si vas a usar Z88Dk.... pásate por aqui.... hay info del amigo Radastán que te puede ayudar.

http://zxuno.speccy.org/maquina.shtml#software

;-)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Responder