----- Original Message -----
From: "Yahoo" <dberdugo1(_en_)yahoo(_punto_)es>
To: "Flyguille" <hispamsx(_en_)yahoogroups(_punto_)com>
Sent: Tuesday, March 02, 2004 7:55 AM
Subject: Re: [hispamsx] proyectos relacionados
Me encantaria colaborar con el lenguaje BASIC, pero aun no he tocado nada
sobre
sistemas operativos :( ni de programacion orientada a objetos.
Un par de dudas que me surgen:
1.- Seria un interprete o un compilador? por lo que he leido entiendo
que debe ser ejecutable tal y como esta codificado en memoria, pero,
¿se compila y luego se ejecuta? ¿o se va interpretando directamente de
la codificacion en memoria, siendo mas rapido que su forma ASCII?
La idea sería que se codifique en memoria de modo tal que sea ejecutable por
el z80 y no interpretable (siempre con la ayuda de las subrutinas del módulo
BASIC), o sea, codificar los comandos de modo que sean CALL a la subrutina
de ese comando en forma directa, algo así como lo que hace Quick basic, pero
que dé la posibilidad de salvar el programa en un archivo en modo texto a
pedido del usuario.
2.- La idea de el sistema operativo MNBIOS, ¿es que un MSX pueda
funcionar de forma autonoma con él? sin MSX-BASIC ni MSX-DOS, etc...
Sería buena idea conseguir que un MSX funcionase con una EPROM del
MNBIOS y asi tener un pie fuera del alcance de las patentes que aún
posee Microsoft.
Cualquier MSX2 puede correr el kernel. El tema no es el MNBIOS, sino si
se dispone o no del drivers para soportar la disquetera o el HD que tenés
instalado.
De todas formas, para los amantes del BASIC, (que creo que es lo que
sinceramente ha creado mas adeptos en sus buenos tiempos), habrá un
interprete totalmente compatible, se seguira pudiendo programar en
Ensamblador...
Gracias por tu entusiasmo.
-Daniel Berdugo-
------------------------------------------------
Monday, March 1, 2004, 5:28:17 PM, you wrote:
F> SOLICITADA
F> Mediante la presente solicito la conformación de un equipo de
programadores
F> en assembler para los siguientes proyectos relacionados con el MNBIOS.
F> 1. Crear un lenguaje de BASIC para el mnbios.
F> El programa será llamado por conveniencia "MNBASIC.EXEC".
F> El código no podrá ocupar más de (32KB al menos en su primera versión
F> y debe ser programado en assembler.
F> Como se busca velocidad se soportarán únicamente matrices y variables,
INT, LONG
F> y alfanuméricas, en funciones donde se requieran obligatoriamente
variables
F> flotantes (por ej:, SIN, COS, se transladarán los rángos de I/O a
enteros).
F> Los programas en BASIC resultantes podrán ser tan grandes como 128MB
F> (máxima longitud de cada archivo almacenable en memoria RAM)
F> es decir, usar punteros LONG en vez de INT para toda la codificación.
F> Se deberán dar soporte a entrada y salida de dispositivos
F> (es decir soportar a full la comunicación con el driver MDOS).
F> Soporte a variables COMMON, gestionandolas en la estructura DATAMEMO.
F> Soportar el uso de variables LOCALES en subrutinas siendo anidables.
F> Se entiende por ello, variables que nacen entre un GOSUB y
F> mueren en el RETURN, usando DIM para declarar este tipo de variables.
F> Siendo ideal su ubicación en la "Stack Point" del programa BASIC
F> para lograr recursividad.
F> Compatibilidad de sintaxis con el MSX-BASIC.
F> Posibilidad de leer y grabar en formato ASCII.
F> Soportar todas las instancias del sistema multitarea.
F> Soportar la posibilidad de ejecución en CPU secundarios módulos del
F> programa BASIC.
F> Que la codificación en memoria del programa BASIC sea ejecutable
F> (en forma compilada para lograr velocidad de interpretación).
F> agregando soporte de las funciones que provee el MNBIOS como por ej:
F> FSTICK FSTRIG, evento PAUSE, evento CLOSE, WINDOWING etc.
F> 2. Módulo (driver de código) orientado a objeto que haga de puente
entre
F> el soporte WINDOWING del kernel y programación de alto nival.
F> OBJETOS:
F> form, listbox, textbox, label, picturebox, buttons, checklist, timer.
F> Cada uno con todas las propiedades, eventos y comandos conocidos.
F> Siendo la totalidad de los accesos gestionables a través de las
siguiente
F> entradas al driver.
F> Y con la posibilidad de anexar más objetos en forma externa:
F> InstallObject ; Para instalar objetos externos.
F> UninstallObject ; Para desinstalar objetos externos.
F> LoadObject ; Para cargar una instancia de un objeto.
F> UnloadObject ; Para descargar una instancia de un objeto.
F> ListObject ; Para listar todos los objetos instalados.
F> SetProperty
F> GetProperty
F> LinkEvent ; Para subscribir una rutina de una aplicación a un evento o
instancia del objeto.
F> SendCommand ; Para enviar un comando.
F> La forma de llamar a estas funciones es a discreción del programador
F> pero siempre usando el sistema ADR (administrador de recursos),
F> es decir el soporte deberá ser en formato (driver de código).
F> 3. Una demo demostrativa e interactiva de todo el potencial
audio-visual del kernel.
F> A discreción del artista.
F> Recuerde que se puede inscribir a la lista de programadores del MNBIOS
en www.mnbios.com.ar
F> -Flyguille-
F> [Se han eliminado los trozos de este mensaje que no contenían texto]
F> *HispaMSX. La mailing-list de MSX en castellano*
F> Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
F> Web de lista: http://www.hispamsx.org
F> Enlaces a Yahoo! Grupos
F> Para visitar tu grupo en la web, accede a:
F> http://es.groups.yahoo.com/group/hispamsx/
F> Para cancelar tu suscripción en este grupo, envía
F> un mensaje en blanco a:
F> hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
F> El uso que hagas de Yahoo! Grupos está sujeto a
F> las Condiciones del servicio de Yahoo!:
F> http://es.docs.yahoo.com/info/utos.html
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos
Para visitar tu grupo en la web, accede a:
http://es.groups.yahoo.com/group/hispamsx/
Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
El uso que hagas de Yahoo! Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
http://es.docs.yahoo.com/info/utos.html