diff --git a/LICENCE b/LICENCE index ffafcd5..a3ee997 100644 --- a/LICENCE +++ b/LICENCE @@ -1,28 +1,44 @@ - MSX N'gine is distributed under CREATIVE COMMONS licence: - "Attribution-NonCommercial 4.0 International" - https://creativecommons.org/licenses/by-nc/4.0/ +-------------------------------------------------------------------------------- - You are free to: + N'gine para MSX Asm Z80 + + https://nightfoxandco.com/ + contact@nightfoxandco.com - - Share - copy and redistribute the material in any medium or format. - - Adapt - remix, transform, and build upon the material. +-------------------------------------------------------------------------------- - The licensor cannot revoke these freedoms as long as you follow - the license terms. - Under the following terms: +N'gine para MSX Asm Z80 se distribuye bajo la licencia CREATIVE COMMONS +"Attribution-NonCommercial 4.0 International" +https://creativecommons.org/licenses/by-nc/4.0/ - - Attribution - You must give appropriate credit, provide a link to the license, - and indicate if changes were made. You may do so in any reasonable - manner, but not in any way that suggests the licensor endorses you - or your use. +You are free to: - - NonCommercial - You may not use the material for commercial purposes. + - Share + copy and redistribute the material in any medium or format. + - Adapt + remix, transform, and build upon the material. + + The licensor cannot revoke these freedoms as long as you follow + the license terms. + +Under the following terms: + + - Attribution + You must give appropriate credit, provide a link to the license, + and indicate if changes were made. You may do so in any reasonable + manner, but not in any way that suggests the licensor endorses you + or your use. + + - NonCommercial + You may not use the material for commercial purposes. + + - No additional restrictions + You may not apply legal terms or technological measures that + legally restrict others from doing anything the license permits. + + +DESCARGO DE RESPONSABILIDAD. EL SOFTWARE SE CONCEDE CON LICENCIA “TAL CUAL”. +POR CONSIGUIENTE, USTED ASUME EL RIESGO DE UTILIZARLO. +NO SE OTORGA NINGUNA GARANTÍA NI CONDICIÓN EXPLÍCITAS. - - No additional restrictions - You may not apply legal terms or technological measures that - legally restrict others from doing anything the license permits. diff --git a/README.md b/README.md index ed799ce..966b1ea 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,15 @@ -# msx_ngine -Small game engine written in Z80 assembler for MSX. Based upon ASMSX compiler. +-------------------------------------------------------------------------------- + + N'gine para MSX Asm Z80 + + https://nightfoxandco.com/ + contact@nightfoxandco.com + +-------------------------------------------------------------------------------- + +N'gine para MSX Asm Z80 es una librería de lenguaje ensamblador del procesador +Zilog Z80 destinada a ayudar al desarrollo de software para los ordenadores de +la familia MSX. La sintaxis está orientada al compilador asMSX. + +https://github.com/Fubukimaru/asMSX + diff --git a/docs/changelog.txt b/docs/changelog.txt new file mode 100644 index 0000000..72a0fd9 --- /dev/null +++ b/docs/changelog.txt @@ -0,0 +1,8 @@ +-------------------------------------------------------------------------------- +N'gine para MSX Asm Z80 Changelog +-------------------------------------------------------------------------------- + +2020-04-11 Ver.0.2.1. +-------------------------------------------------------------------------------- +- Compilado usando la actualizacin de MSX N'gine, que incorporaba algunas + optimizaciones en la llamada de rutinas del BIOS. (Gracias a Nstor Sancho) \ No newline at end of file diff --git a/docs/licence.txt b/docs/licence.txt new file mode 100644 index 0000000..d6bfbf4 --- /dev/null +++ b/docs/licence.txt @@ -0,0 +1,44 @@ +-------------------------------------------------------------------------------- + + N'gine para MSX Asm Z80 + + https://nightfoxandco.com/ + contact@nightfoxandco.com + +-------------------------------------------------------------------------------- + + +N'gine para MSX Asm Z80 se distribuye bajo la licencia CREATIVE COMMONS +"Attribution-NonCommercial 4.0 International" +https://creativecommons.org/licenses/by-nc/4.0/ + +You are free to: + + - Share + copy and redistribute the material in any medium or format. + - Adapt + remix, transform, and build upon the material. + + The licensor cannot revoke these freedoms as long as you follow + the license terms. + +Under the following terms: + + - Attribution + You must give appropriate credit, provide a link to the license, + and indicate if changes were made. You may do so in any reasonable + manner, but not in any way that suggests the licensor endorses you + or your use. + + - NonCommercial + You may not use the material for commercial purposes. + + - No additional restrictions + You may not apply legal terms or technological measures that + legally restrict others from doing anything the license permits. + + +DESCARGO DE RESPONSABILIDAD. EL SOFTWARE SE CONCEDE CON LICENCIA TAL CUAL. +POR CONSIGUIENTE, USTED ASUME EL RIESGO DE UTILIZARLO. +NO SE OTORGA NINGUNA GARANTA NI CONDICIN EXPLCITAS. + diff --git a/docs/readme.txt b/docs/readme.txt new file mode 100644 index 0000000..966b1ea --- /dev/null +++ b/docs/readme.txt @@ -0,0 +1,15 @@ +-------------------------------------------------------------------------------- + + N'gine para MSX Asm Z80 + + https://nightfoxandco.com/ + contact@nightfoxandco.com + +-------------------------------------------------------------------------------- + +N'gine para MSX Asm Z80 es una librería de lenguaje ensamblador del procesador +Zilog Z80 destinada a ayudar al desarrollo de software para los ordenadores de +la familia MSX. La sintaxis está orientada al compilador asMSX. + +https://github.com/Fubukimaru/asMSX + diff --git a/lib_source/formats/f_binary.asm b/lib_source/formats/f_binary.asm index f27427d..e37576e 100644 --- a/lib_source/formats/f_binary.asm +++ b/lib_source/formats/f_binary.asm @@ -15,31 +15,31 @@ - - ;*********************************************************** ; Directivas para el compilador ;*********************************************************** +OUTPUT_FORMAT = 1 ; Define el formato de salida + ; ---------------------------------------------------------- ; Directivas del formato ; ---------------------------------------------------------- .ORG $8000 ; Selecciona la pagina 2 [$8000] (Codigo del programa) .BASIC ; Se creara el binario en formato BASIC de hasta 32kb -.START PROGRAM_START_ADDRESS ; Indicale al compilador donde empieza el programa -OUTPUT_FORMAT = 1 ; Define el formato de salida +; Indicale al compilador donde empieza el programa +.START PROGRAM_START_ADDRESS + ; ---------------------------------------------------------- -; Definicion de variables [PAGE 3] $C000 +; Definicion de variables ; ---------------------------------------------------------- ; Almacena las variables .INCLUDE "ngn/ngn_vars.asm" - ;*********************************************************** ; Fin del archivo ;*********************************************************** diff --git a/lib_source/formats/f_cas.asm b/lib_source/formats/f_cas.asm new file mode 100644 index 0000000..85457ae --- /dev/null +++ b/lib_source/formats/f_cas.asm @@ -0,0 +1,49 @@ +;*********************************************************** +; +; NGN TEMPLATE para ASMSX +; ASM Z80 MSX +; Directivas de compilacion para BINARIO de 32kb +; Genera un archivo .CAS y .WAV +; +; (cc) 2018-2020 Cesar Rincon "NightFox" +; https://nightfoxandco.com +; +; +; Compilar con asMSX 0.19 o superior +; https://github.com/Fubukimaru/asMSX +; +;*********************************************************** + + + +;*********************************************************** +; Directivas para el compilador +;*********************************************************** + +OUTPUT_FORMAT = 4 ; Define el formato de salida + +; ---------------------------------------------------------- +; Directivas del formato +; ---------------------------------------------------------- + +.ORG $8000 ; Selecciona la pagina 2 [$8000] (Codigo del programa) +.BASIC ; Se creara el binario en formato BASIC de hasta 32kb +.CAS ; Genera el archivo .CAS +.WAV ; Genera el archivo .WAV + +; Indicale al compilador donde empieza el programa +.START PROGRAM_START_ADDRESS + +; ---------------------------------------------------------- +; Definicion de variables +; ---------------------------------------------------------- + +; Almacena las variables +.INCLUDE "ngn/ngn_vars.asm" + + + +;*********************************************************** +; Fin del archivo +;*********************************************************** +F_CAS_EOF: \ No newline at end of file diff --git a/lib_source/formats/f_com.asm b/lib_source/formats/f_com.asm new file mode 100644 index 0000000..d379649 --- /dev/null +++ b/lib_source/formats/f_com.asm @@ -0,0 +1,43 @@ +;*********************************************************** +; +; NGN TEMPLATE para ASMSX +; ASM Z80 MSX +; Directivas de compilacion para .COM de MSX-DOS +; +; (cc) 2018-2020 Cesar Rincon "NightFox" +; https://nightfoxandco.com +; +; +; Compilar con asMSX 0.19 o superior +; https://github.com/Fubukimaru/asMSX +; +;*********************************************************** + + + +;*********************************************************** +; Directivas para el compilador +;*********************************************************** + +OUTPUT_FORMAT = 3 ; Define el formato de salida + +; ---------------------------------------------------------- +; Directivas del formato +; ---------------------------------------------------------- + +; Los programas de MSX-DOS no requieren direccion inicial +.MSXDOS ; Se creara el binario en formato .COM para MSX-DOS + + +; ---------------------------------------------------------- +; Definicion de variables +; ---------------------------------------------------------- + +; Almacena las variables +.INCLUDE "ngn/ngn_vars.asm" + + +;*********************************************************** +; Fin del archivo +;*********************************************************** +F_COM_EOF: \ No newline at end of file diff --git a/lib_source/formats/f_rom.asm b/lib_source/formats/f_rom.asm index 1fba97d..0fabb55 100644 --- a/lib_source/formats/f_rom.asm +++ b/lib_source/formats/f_rom.asm @@ -15,12 +15,12 @@ - - ;*********************************************************** ; Directivas para el compilador ;*********************************************************** +OUTPUT_FORMAT = 2 ; Define el formato de salida + ; ---------------------------------------------------------- ; Definicion de variables [PAGE 3] $C000 ; ---------------------------------------------------------- @@ -30,18 +30,16 @@ .INCLUDE "ngn/ngn_vars.asm" - ; ---------------------------------------------------------- ; Directivas del formato ; ---------------------------------------------------------- .PAGE 1 ; Selecciona la pagina 1 [$4000] (Codigo del programa) .ROM ; Se creara el binario en formato ROM de hasta 32kb -.START PROGRAM_START_ADDRESS ; Indicale al compilador donde empieza el programa -.db 78, 71, 78, 95, 84, 69, 77, 80, 76, 65, 84, 69 ; 12 digitos para completar la cabecera de la ROM - -OUTPUT_FORMAT = 2 ; Define el formato de salida +.db 77, 83, 88, 95, 68, 73, 65, 71, 0, 0, 0, 0 ; 12 digitos para completar la cabecera de la ROM +; Indicale al compilador donde empieza el programa +.START PROGRAM_START_ADDRESS ;*********************************************************** diff --git a/lib_source/ngn/ngn.asm b/lib_source/ngn/ngn.asm index 2b5a0a5..bf1abfb 100644 --- a/lib_source/ngn/ngn.asm +++ b/lib_source/ngn/ngn.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -40,7 +40,6 @@ .INCLUDE "ngn/ngn_start.asm" ; Fin de los includes de la libreria -ret diff --git a/lib_source/ngn/ngn_background.asm b/lib_source/ngn/ngn_background.asm index 497f8ad..e9d6d40 100644 --- a/lib_source/ngn/ngn_background.asm +++ b/lib_source/ngn/ngn_background.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -91,10 +91,9 @@ NGN_BACKGROUND_CREATE: ; Habilita la pantalla - call $0044 ; Ejecuta la rutina [ENASCR] + jp $0044 ; Ejecuta la rutina [ENASCR] - ; Fin de la rutina de carga - ret + ; El RET lo aplica la propia rutina de BIOS @@ -197,10 +196,9 @@ NGN_BACKGROUND_CREATE_RLE: call @@DATA_TO_VRAM ; Habilita la pantalla - call $0044 ; Ejecuta la rutina [ENASCR] + jp $0044 ; Ejecuta la rutina [ENASCR] - ; Fin de la rutina de carga - ret + ; El RET lo aplica la propia rutina de BIOS diff --git a/lib_source/ngn/ngn_consts.asm b/lib_source/ngn/ngn_consts.asm index 199a0fb..8e18d8c 100644 --- a/lib_source/ngn/ngn_consts.asm +++ b/lib_source/ngn/ngn_consts.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -20,15 +20,15 @@ ; Definiciones para la VRAM ; ---------------------------------------------------------- ; Registros -NGN_VDPR0 .EQU $F3DF ; Valores del registro 0 del VDP -NGN_VDPR1 .EQU $F3E0 ; Valores del registro 0 del VDP +NGN_VDPR0 .EQU $F3DF ; Valores del registro 0 del VDP +NGN_VDPR1 .EQU $F3E0 ; Valores del registro 0 del VDP ; Fondos -NGN_CHRTBL .EQU $0000 ; Tabla de caracteres de los fondos (pattern) -NGN_NAMTBL .EQU $1800 ; Tabla de nombres de los fondos (mapa) -NGN_CLRTBL .EQU $2000 ; Tabla del color de los caracteres (paleta) +NGN_CHRTBL .EQU $0000 ; Tabla de caracteres de los fondos (pattern) +NGN_NAMTBL .EQU $1800 ; Tabla de nombres de los fondos (mapa) +NGN_CLRTBL .EQU $2000 ; Tabla del color de los caracteres (paleta) ; Sprites -NGN_SPRATR .EQU $1B00 ; Tabla de los atributos de los sprites -NGN_SPRTBL .EQU $3800 ; Tabla de caracteres de los Sprites (pattern) +NGN_SPRATR .EQU $1B00 ; Tabla de los atributos de los sprites +NGN_SPRTBL .EQU $3800 ; Tabla de caracteres de los Sprites (pattern) ; Color NGN_COLOR_ADDR .EQU $F3E9 ; Direccion del Color diff --git a/lib_source/ngn/ngn_keyboard.asm b/lib_source/ngn/ngn_keyboard.asm index 2634393..b37f750 100644 --- a/lib_source/ngn/ngn_keyboard.asm +++ b/lib_source/ngn/ngn_keyboard.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -53,14 +53,14 @@ NGN_KEYBOARD_READ: call @@KEY_ANY ; Limpia el buffer del teclado con la rutina de BIOS [KILBUF] - call $0156 + jp $0156 - ; Vuelve - ret + ; El RET lo aplica la propia rutina de BIOS + ; @@GET_KEY ; Lee el estado de la tecla solicitada usando los puertos $A9 y $AA ; Usa el registro BC para pasar la fila (B) y el BIT (C) diff --git a/lib_source/ngn/ngn_psg.asm b/lib_source/ngn/ngn_psg.asm index f5aa4f6..4265d5b 100644 --- a/lib_source/ngn/ngn_psg.asm +++ b/lib_source/ngn/ngn_psg.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com diff --git a/lib_source/ngn/ngn_rle.asm b/lib_source/ngn/ngn_rle.asm index 34608c7..8d76d4a 100644 --- a/lib_source/ngn/ngn_rle.asm +++ b/lib_source/ngn/ngn_rle.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com diff --git a/lib_source/ngn/ngn_screen.asm b/lib_source/ngn/ngn_screen.asm index edcc3fd..c02cf71 100644 --- a/lib_source/ngn/ngn_screen.asm +++ b/lib_source/ngn/ngn_screen.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -53,10 +53,9 @@ NGN_SCREEN_SET_MODE_0: call @@SETUP_VDP ; Inicializa el VDP con la rutina [INITXT] de la BIOS - call $006C + jp $006C - ; Sal de la rutina - ret + ; El RET lo aplica la propia rutina de BIOS @@ -102,10 +101,9 @@ NGN_SCREEN_SET_MODE_1: call @@SETUP_VDP ; Inicializa el VDP con la rutina [INIT32] de la BIOS - call $006F + jp $006F - ; Sal de la rutina - ret + ; El RET lo aplica la propia rutina de BIOS @@ -147,10 +145,10 @@ NGN_SCREEN_SET_MODE_2: call @@SETUP_VDP ; Inicializa el VDP con la rutina [INIGRP] de la BIOS - call $0072 + jp $0072 + + ; El RET lo aplica la propia rutina de BIOS - ; Sal de la rutina - ret @@ -192,10 +190,9 @@ NGN_SCREEN_SET_MODE_3: call @@SETUP_VDP ; Inicializa el VDP con la rutina [INIMLT] de la BIOS - call $0075 + jp $0075 - ; Sal de la rutina - ret + ; El RET lo aplica la propia rutina de BIOS @@ -208,10 +205,9 @@ NGN_SCREEN_SET_MODE_3: NGN_SCREEN_KEYS_ON: ; Muestra las teclas de funcion llamando a la funcion de la BIOS [DSPFNK] - call $00CF + jp $00CF - ; Sal de la rutina - ret + ; El RET lo aplica la propia rutina de BIOS @@ -225,10 +221,9 @@ NGN_SCREEN_KEYS_ON: NGN_SCREEN_KEYS_OFF: ; Oculta las teclas de funcion llamando a la funcion de la BIOS [ERAFNK] - call $00CC + jp $00CC - ; Sal de la rutina - ret + ; El RET lo aplica la propia rutina de BIOS diff --git a/lib_source/ngn/ngn_sprite.asm b/lib_source/ngn/ngn_sprite.asm index b02a8d5..4437398 100644 --- a/lib_source/ngn/ngn_sprite.asm +++ b/lib_source/ngn/ngn_sprite.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -46,11 +46,11 @@ NGN_SPRITE_MODE_16x16_D: ; Actualiza el VDP @@SETUP_VDP: - di ; Deshabilita las interrupciones + di ; Deshabilita las interrupciones ld b, a ; B = Valor a escribir en el registro del VDP ld c, $01 ; C = Seleccion del registro call $0047 ; [WRTVDP] Escribe los datos - ei ; Habilita las interrupciones + ei ; Habilita las interrupciones ret @@ -63,12 +63,12 @@ NGN_SPRITE_MODE_16x16_D: NGN_SPRITE_RESET: - call $0069 ; Borra los sprites con la rutina [CLRSPR] de la BIOS + call $0069 ; Borra los sprites con la rutina [CLRSPR] de la BIOS ld hl, NGN_SPRATR ; Puntero a la tabla de sprites en VRAM - ld de, NGN_SPRITE_00 ; Puntero al primer sprite en RAM + ld de, NGN_SPRITE_00 ; Puntero al primer sprite en RAM ld bc, $0080 ; 128 bytes de datos (32*4) - call $0059 ; Ejecuta la rutina [LDIRMV] (Mueve datos de VRAM a RAM) - ret ; Sal de la funcion + jp $0059 ; Ejecuta la rutina [LDIRMV] (Mueve datos de VRAM a RAM) + ; El RET lo aplica la propia rutina de BIOS @@ -81,16 +81,16 @@ NGN_SPRITE_RESET: NGN_SPRITE_UPDATE: ld hl, NGN_SPRITE_00 ; Puntero al primer sprite en RAM - ld bc, $0080 ; 128 bytes de datos (32*4) - ld de, NGN_SPRATR ; Puntero a la tabla de sprites en VRAM + ld bc, $0080 ; 128 bytes de datos (32*4) + ld de, NGN_SPRATR ; Puntero a la tabla de sprites en VRAM ; Transfiere los datos a la VRAM (usando la BIOS) - call $005C ; Ejecuta la rutina [LDIRVM] + jp $005C ; Ejecuta la rutina [LDIRVM] ; HL Origen de los datos (RAM) ; BC Cantidad de datos a transferir ; DE Destino de los datos (VRAM) - ret ; Sal de la funcion + ; El RET lo aplica la propia rutina de BIOS @@ -134,22 +134,21 @@ NGN_SPRITE_LOAD_DATA: ; Transfiere los datos a la VRAM @@DATA_TO_VRAM: - ld d, h ; Direccion de destino (DE) + ld d, h ; Direccion de destino (DE) ld e, l - pop hl ; Recupera la posicion de los datos (HL) - ld b, [hl] ; Tamaño de los datos a transferir (BC) + pop hl ; Recupera la posicion de los datos (HL) + ld b, [hl] ; Tamaño de los datos a transferir (BC) inc hl ld c, [hl] - inc hl ; Datos a transferir + inc hl ; Datos a transferir ; Transfiere los datos a la VRAM (usando la BIOS) - call $005C ; Ejecuta la rutina [LDIRVM] + jp $005C ; Ejecuta la rutina [LDIRVM] ; HL Origen de los datos (RAM) ; BC Cantidad de datos a transferir ; DE Destino de los datos (VRAM) - ; Sal de la rutina - ret + ; El RET lo aplica la propia rutina de BIOS diff --git a/lib_source/ngn/ngn_start.asm b/lib_source/ngn/ngn_start.asm index 54b80e6..c7d8153 100644 --- a/lib_source/ngn/ngn_start.asm +++ b/lib_source/ngn/ngn_start.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com diff --git a/lib_source/ngn/ngn_system.asm b/lib_source/ngn/ngn_system.asm index ddab643..39ce076 100644 --- a/lib_source/ngn/ngn_system.asm +++ b/lib_source/ngn/ngn_system.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com diff --git a/lib_source/ngn/ngn_text.asm b/lib_source/ngn/ngn_text.asm index 1bf014d..dd4ebdf 100644 --- a/lib_source/ngn/ngn_text.asm +++ b/lib_source/ngn/ngn_text.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com @@ -46,8 +46,7 @@ NGN_TEXT_PRINT: NGN_TEXT_POSITION: - call $00C6; ; Rutina de BIOS [POSIT] - ret + jp $00C6; ; Rutina de BIOS [POSIT] (El RET lo aplica la propia rutina de BIOS) @@ -60,8 +59,7 @@ NGN_TEXT_POSITION: NGN_TEXT_CLS: xor a - call $00C3 ; Borra la pantalla con la rutina [CLS] de la BIOS - ret + jp $00C3 ; Borra la pantalla con la rutina [CLS] de la BIOS (El RET lo aplica la propia rutina de BIOS) @@ -78,8 +76,7 @@ NGN_TEXT_COLOR: ld [hl], b ; Color de frente inc l ld [hl], c ; Color de fondo - call $0062 ; Aplica el color con la rutina [CHGCLR] de la BIOS - ret + jp $0062 ; Aplica el color con la rutina [CHGCLR] de la BIOS (El RET lo aplica la propia rutina de BIOS) diff --git a/lib_source/ngn/ngn_vars.asm b/lib_source/ngn/ngn_vars.asm index 0f93502..4a77c4b 100644 --- a/lib_source/ngn/ngn_vars.asm +++ b/lib_source/ngn/ngn_vars.asm @@ -1,7 +1,7 @@ ;*********************************************************** ; ; N'gine para MSX Asm Z80 -; Version 0.2.0-a +; Version 0.2.1-a ; ; (cc) 2018-2020 Cesar Rincon "NightFox" ; https://nightfoxandco.com diff --git a/lib_source/ngn_template.asm b/lib_source/ngn_template.asm index 7528f9c..70ccf15 100644 --- a/lib_source/ngn_template.asm +++ b/lib_source/ngn_template.asm @@ -10,8 +10,6 @@ - - ;*********************************************************** ; Directivas para el compilador ;*********************************************************** @@ -22,18 +20,21 @@ .BIOS ; Nombres de las llamadas a BIOS -OUTPUT_FORMAT_BINARY = 1 ; Formato de salida binario de BASIC -OUTPUT_FORMAT_ROM = 2 ; Formato de salida ROM - ; ---------------------------------------------------------- ; Selecciona la directiva de compilacion (descomentar) ; ---------------------------------------------------------- +OUTPUT_FORMAT_BINARY = 1 ; Formato de salida binario de BASIC +OUTPUT_FORMAT_ROM = 2 ; Formato de salida ROM +OUTPUT_FORMAT_COM = 3 ; Formato de salida COM para MSX-DOS +OUTPUT_FORMAT_CAS = 4 ; Formato de salida binario de BASIC (Salida en formato .CAS y .WAV) + ;.INCLUDE "formats/f_binary.asm" ; Binario de BASIC .INCLUDE "formats/f_rom.asm" ; Cartucho ROM - +;.INCLUDE "formats/f_com.asm" ; Binario en formato .COM para MSX-DOS +;.INCLUDE "formats/f_cas.asm" ; Imagen .CAS y archivo de audio .WAV