z80asm -o rom firmware.s
srec_cat rom -Raw -o rom.list -VMem 8
|
org 0x0000 |
|
;-- Sacar un valor por el puerto |
;-- para verlo en los LEDs |
;-- Puerto 0x40: LEDs |
ld a, 0x03 |
out (0x40),a |
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/c54fbe38-537f-4f52-97eb-bca10e586b56%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CAJXdXgRrRLpu0b9uXwEX3nMfS7s4RDhd4341tUo3wYg9DpoCmA%40mail.gmail.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/431fbdb3-3588-4258-84fc-ce0ce582a35f%40googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/431fbdb3-3588-4258-84fc-ce0ce582a35f%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/e3dc9352-ece1-4fd6-8721-fad62471cc84%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CALrTEbW29dcvkVr3bdXfx7apeYDtZwecswOhDHgONzvB-anngQ%40mail.gmail.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/aceb53d8-fe28-4012-afc8-2c2e4f08b5e0%40googlegroups.com.
Fenomenal! yo voy a seguir preparando firmwares que testéen todos los opcodes y así nos permitan hacer pruebas de regresión según vayamos haciendo cambios poder chequear que no hemos roto nada.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CAEQ-VCYpoZkRP-ba2ebLdX4U5WGcj89kB4ntq3R0JhMH2tUCyQ%40mail.gmail.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CA%2BN4P%3DgwVdpjhdsVdLd-YChSV6JmsN0fKK_r0OLX%3DtNwN8RK-g%40mail.gmail.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/17d75fd7-76b5-45e4-a0ee-b562c41480d6%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/52b5fa59-008c-4c7b-ae0d-ba8a4cb821d8%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/52b5fa59-008c-4c7b-ae0d-ba8a4cb821d8%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/c8e776c4-5144-47ab-8e90-0b911a2df553%40googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/49936743-ae18-4a27-88d1-83468dc3b30c%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/fa7bd62b-38c5-4a26-a93f-99ce9fc831d2%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CAGYZeN8G5Xf%2BD-n8UQaWSzFug7f7VvN7waMhpEbSWqdSnuo0Jw%40mail.gmail.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/49936743-ae18-4a27-88d1-83468dc3b30c%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/f0909f6d-78c2-475a-999d-f43e6376eec2%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CALrTEbW7rx5ugQvnPwoPk2GgtbmYnNFWK0ayP%2BGCLwCr%3DxqzvA%40mail.gmail.com.
Dim As String arg = Command()Dim As Integer contDim As Byte cad
Open Com "COM4:115200, N, 8, 1, CD0, CS0, DS0, RS" For Binary As #1Open arg For Binary As #2
If (Lof(2) = 0) Then Print "No existe el fichero." Close #2 Close #1 Sleep EndEndIf
cad = 0While Not Eof(2) Get #2,, cad Put #1,, cad Print Hex(cad); " ";Wend
Close #2Close #1
Print Print "Enviado!"
End
; El programa arranca en la dirección 0 de la ROMorg 0x0000
; Sacamos un 1 por el puerto 0x40 para encender el led0 de la Alhambra-IIINICIO: ld A, 0x01 out (0x40),A
; Timer de aproximadamente 60ms para los 12MHz de la AlhambraJ50: ld E,0xFFJ51: ld B,0xFFJ52: djnz J52 dec E jr nz,J51
; Rotamos el bit encendido a la izquierda.ROTIZQ: sla A out (0x40),A
CP 0X80 jr nz,J50 ; Timer de aproximadamente 60ms para los 12MHz de la AlhambraJ60: ld E,0xFFJ61: ld B,0xFFJ62: djnz J62 dec E jr nz,J61; Rotamos el bit encendido a la derecha. ROTDER: srl A out (0x40),A CP 0x01 jr nz, J60 ; Volvemos al inicio (bucle infinito)JP J50
; El programa arranca en la dirección 0 de la ROMorg 0x0000
INICIO: ld A, 0x00 ; Registro de propósito general (esencialmente contador para el PWM). ld B, A ; Registro para temporizar incrementos. ld C, A ; Registro para temporizar incrementos. ld D, A ; Registro para la intensidad lumínica. out (0x40), A ; Comienza con la salida de los leds a 0.
PWM: inc A ; El registro A se va a ir incrementando muy rápido (PWM).IF: cp D ; Comparamos con el valor que tenga D. jr nc, ELSE ; Si no hay carry salta a ELSE.
THEN: ld E, A ; Guardamos el valor del registro A (el contador rápido PWM). ld A, 0xFF ; Ahora el registro A vale todos los Leds a 1. out (0x40), A ; Saca dicho valor por el puerto de los Leds de la Alhambra II. ld A, E ; Recuperamos el valor de A, es decir, el contador. jp ENDIF ; Salta a ENDIF
ELSE: ld E, A ; Guardamos el valor del registro A. ld A, 0x00 ; Ahora el registro A vale todos los Leds a 0. out (0x40), A ; Saca dicho valor por el puerto de los Leds de la Alhambra II. ld A, E ; Recuperamos el valor de A, es decir, el contador.ENDIF:
TEMP: inc B ; Esta parte hace de temporización para ir incrementado poco jr nz, PWM ; a poco el registro D, que es el que se encarga de la intensidad inc C ; lumínica de un momento dado. jr nz, PWM ; Hacemos contar a los registros B y C y cuando se cumple un número inc D ; de ciclos dado, es cuando se incrementa D. ld E, A ; En esta parte se evita que el registro C sea demasiado bajo, porque ld A, 0xFC ; si tiene un valor demasiado bajo tarda mucho tiempo en verse la ld C, A ; variación del brillo. ld A, E ; Volvemos al PWM (bucle infinito)JP PWM
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/1ab776ed-76a2-41f9-92fc-a8d14029c692%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CABqu7xrohvuRJDz%2Bopw2_9vd2_TxHWGPcTEG-nc6SQK9jCwuow%40mail.gmail.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/5343e714-f078-4863-830e-76a47cb185ff%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/a4bccb2d-66a2-4488-a647-bae94e7cc716%40googlegroups.com.
Muchas gracias Carlos por aclararlo aún más!Otro abrazo fuerte!
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/b75177dc-f1c4-48ee-b9b9-5acba19b818c%40googlegroups.com.