Arquitectura del sistema operativo para computadoras compatibles con ZX Spectrum

NedoOS es un sistema operativo multitarea para el "Russian ZX Spectrum" con entornos de programación en lenguaje ensamblador, Basic, Pascal, C, NedoLang. Funciona en TR-DOS, FAT16 y FAT32 con nombres largos, admite tar, gz, zip, rar2 y casi todos los formatos de archivo Spectrum realmente utilizados, las utilidades de red incluyen navegador web y servidor web, cliente Telnet y servidor Telnet, IRC -cliente, etc. Los juegos están escritos para el sistema operativo, incluidos los juegos en red. Ahora hay 6 miembros en el repositorio. El código fuente de todo el sistema (58 programas) es de 230 mil líneas en lenguaje ensamblador y 70 mil líneas en C.



Introducción



Arquitectura de Computadores



ZX Spectrum es una computadora de 8 bits basada en el procesador Z80. Se diferencia de otras computadoras similares en que en lugar de un controlador de video especializado, solo tiene una combinación de contadores y multiplexores (originalmente ensamblados en BMK , pero fácilmente traducidos a "sueltos" - pequeños microcircuitos lógicos). Debido a esto, la computadora ganó primero la carrera de precios y se convirtió en la máquina predeterminada para la "programación de dormitorios", y luego escapó fácilmente del fabricante original y ganó un lugar importante en la informatización de muchos países del mundo. Incluidos: los países que formaban parte de la URSS, donde los automóviles compatibles con Spectrum se produjeron en aproximadamente un millón de copias (en cualquier caso, más que BC, DVK y UKNT combinados).



Una lista impresionante de clones famosos - aquí... La "apertura" de la arquitectura (desde el punto de vista de un soldador - y sin un soldador, nuestros clones eran incluso problemáticos para conectar a un televisor) convirtió al ZX Spectrum en una plataforma muy sofisticada, atípica para otras plataformas de 8 bits (que ya están muertas o en alcohol) megabytes, megahertz, discos duros y tarjetas de red.



ZX Spectrum todavía funciona como una plataforma para juegos independientes (vea la batalla de juegos Yandex Retro actualmente en curso y los concursos Your Game 6 , cuya fecha límite se ha extendido hasta el 1 de diciembre ), pero el desarrollo rara vez se realiza en el formato original, porque. mi. en el propio Spectrum. Esto se debe, entre otras cosas, al hecho de que los entornos de desarrollo nativos escritos bajo TR-DOS en los años 90 y 2000, se quedaron atrás de la vida y nada nuevo vino para reemplazarlos.



La necesidad de un sistema operativo



Los sistemas operativos para Spectrum se han escrito durante mucho tiempo. El sistema operativo, que se encuentra en la ROM, te permite escribir en BASIC y jugar con cinta magnética. Sistemas operativos de disco TR-DOS, GDOS, + 3DOS, etc. agregaron comandos para trabajar con un disquete en BASIC, sin embargo, solo TR-DOS adquirió utilidades serias, y no debido a una interfaz BASIC bastante incómoda, sino debido a los puntos de entrada documentados (y no tanto) en la ROM TR-DOS.



Aparte de varias versiones de CP / M (que no fue escrito originalmente para Spectrum y no usa sus capacidades en su verdadero valor), el primer sistema operativo serio de Spectrum fue iS-DOS de una sola tarea ( uno , dos , tres , archivo), desarrollado en San Petersburgo a principios de los años 90. "Fuera de la caja" proporcionó un comandante y un sistema de archivos con subdirectorios (incompatibles con cualquier cosa), un editor de texto de tamaño arbitrario, muchos discos de utilidad y la capacidad de expandirse con sus residentes. Desafortunadamente, las extensiones solo están dentro de la ventana de RAM de 48K. Las primeras versiones de iS-DOS se contentaban con 41K para todo el sistema, residentes y programa de usuario, el resto del espacio RAM lo ocupaba una pantalla de 6912 bytes.





iS-DOS en hábitat natural



Las últimas versiones, aún lanzadas con el nombre TASiS ( uno , dos ) y perfeccionadas bajo el clon ATM-Turbo 2+, le permiten expandirse a todo el espacio de direcciones de 64K, eliminar la pantalla de la memoria y cambiar las páginas de RAM, pero el núcleo del sistema aún permanece en el espacio de direcciones. (Lo mismo se aplica a CP / M; en todas las versiones conocidas, el sistema ocupa las direcciones superiores y es indestructible).



Se han realizado otros intentos para escribir un sistema operativo. Desafortunadamente, ninguno de estos sistemas operativos recibió una distribución notable y muchos no se terminaron en absoluto.



El iS-DOS ya mencionado se ha extendido en San Petersburgo y Moscú. Un análogo funcional aproximado de iS-DOS en el disco TR-DOS - X-DOS - se quedó dentro de Kirov.





X-DOS y su línea de comandos El



sistema de ventanas múltiples DOMEN OS / Pink Floyd , también de San Petersburgo, no estuvo a la altura de un estado utilizable. En particular, no admitía discos duros y no contenía herramientas de desarrollo.





OS DOMAIN y su documentación en HTML El



sistema operativo Kharkiv DNA , principalmente orientado a copiar archivos, trajo algún beneficio a los propietarios de los "tornillos", pero el "software para tornillos" nunca apareció en él.





DNA OS y su administrador de archivos



Moscow NK-DOS , el hermano NeOS , Grodno DOORS \ AQUA y Saransk ZX-OS / ZXRTK no vivieron para ver lanzamientos viables . De los sistemas operativos multitarea, los más cercanos al usuario fueron MythOS (Dnepropetrovsk) y ChaOS (Taganrog) de múltiples ventanas , pero también terminaron sus vidas en la fuente, también sin el soporte de discos duros y sin herramientas de desarrollo.





MythOS y su consola





CaOS y su caos



¿Por qué hubo tantos fracasos?



Requisitos de hardware para un sistema operativo multitarea



El problema con todos los primeros sistemas operativos del Spectrum era que los desarrolladores intentaron garantizar la máxima compatibilidad de su creación. Por ejemplo, en iS-DOS, con máquinas a partir de ZX Spectrum 48K (con una unidad de disquete o HDD) y en la mayoría de los sistemas posteriores, con ZX Spectrum 128K. Esto dejó una marca indeleble en la asignación de memoria.



El hecho es que en máquinas de 48K, el espacio de direcciones Z80 total de 65536 bytes se dividió en 2 partes: 48K de RAM (de los cuales 6912 bytes fueron consumidos por la pantalla, lo que dejó 41 kilobytes para todo lo demás) y 16K de ROM BÁSICA, lo que es un beneficio real para el sistema operativo No. Las cosas salieron mejor a 128K, pero no mucho. La pantalla del espacio de direcciones Z80 se puede eliminar allí (seleccionando el segundo búfer de video), pero puede cambiar las páginas de RAM solo en el cuarto superior (desde la dirección 0xc000) del espacio de direcciones. Los 32 K restantes de RAM no se pueden cambiar. Y los 16K inferiores siguen conteniendo ROM innecesarios para el sistema operativo. Por supuesto, el 128K patentado permite dispositivos externos (como LEC Memory Extension , DISCiPLE / + D , MB-02) reemplazan el 16K inferior, y sus descendientes, a partir de +3 , generalmente tienen uno u otro puerto integrado para esto (la mayoría de las veces solo hay una página de RAM disponible allí), pero la mitad de la memoria direccionable aún no puede cambiar con el cambio de tareas.



Imagina que estás escribiendo un editor de texto o gráficos para el sistema operativo del ZX Spectrum 128K. Obviamente, el 16K superior es demasiado pequeño para texto o ilustraciones (no estamos hablando de las "pantallas" estándar de 6912 bytes), y tiene que cargar constantemente el archivo desde el disco (lo cual es lento e inconveniente) o esparcir el documento por las páginas. ¿Dónde, en este caso, se ubicará el código del propio editor, sus variables y pila? No en el top 16K de RAM, porque ahí es donde está el documento. No en los 16K inferiores, porque lo más probable es que haya una ROM. Resulta que todas las tareas tendrán que compartir un bloque común de 32K RAM. Residentes reubicados, divididos, digamos, 256 bytes cada uno, procedimientos de llamada desde la RAM superior, búferes de llamadas de residentes separados para trabajar con datos, la pila también está limitada a 256 bytes ...Esto es muy inconveniente para los desarrolladores. Resultado: solo los propios autores escribieron para tales sistemas, y solo tenían suficiente fusible para uno o dos años, lo que no es suficiente ni siquiera para crear un entorno de desarrollo.



Por lo tanto, para un sistema multitarea conveniente en el Spectrum, es vital tener páginas de RAM intercambiables en cada uno de los trimestres (la elección de trimestres de 16K es tradicional para Speccy) del espacio de direcciones Z80. Hay pocos circuitos de Spectrum que pueden hacer esto: este es el poco conocido "ZX-MMU" de fk0 (2000) y el más o menos común ATM-Turbo 2 (+) (1992, 1993):





De la documentación. Establecer bit 6 habilita el control a través del puerto # 7ffd (ROM TR-DOS reemplaza automáticamente ROM 48 BASIC cuando se ejecuta código en # 3dxx), de lo contrario el bit 7 simplemente activa la página ROM especificada. "ROM2" es el bit 4 del puerto # 7ffd, siempre funciona.



Muchos autores de sistemas operativos creían que este requisito para que un subsistema de memoria pudiera cambiar todo limitaría severamente el número de usuarios y no lo aceptaron. Como resultado, obtuvieron alrededor de 0 usuarios, debido a la falta de software.



Desarrollo de



Antecedentes; que es NedoPC



En 2002-2003, el movimiento NedoPC nació en la inmensidad de tres continentes, que se puede describir brevemente como ... um ... el desarrollo de computadoras a partir de medios improvisados. Y NedoPC comenzó con lo que otros habían terminado en ese momento: producir Spectrum y dispositivos para ellos. Y como Spectrum tomaron el mismo Turbo 2+ (1993), un descendiente de ATM-Turbo 2 (1992), que es un descendiente de ATM-Turbo (1991), que es un descendiente de Pentagon 128 (1990), conocido en círculos estrechos como ATM 128 (historia de la lucha firmas de los años 90 se pueden encontrar en la descripción de Honey Commander'y). En un momento, Turbo 2+ (a la que la designación ATM ya estaba pegada automáticamente, como en versiones anteriores) casi tenía la intención de reemplazar la PC IBM de las primeras configuraciones, con un HDD (más tarde un CD-ROM), un análogo de un EGA, un teclado XT (más tarde AT), COM-port, DAC, ADC (que también jugó el papel de un módem) y los juegos "Prince of Persia" y " Gobliiins ", que son absolutamente correctos desde la versión para PC (no menciono todo el software, hay mucho). Pero parte del ingenioso esquema estaba oculto en el PLM, por lo que muy pocas personas pudieron copiarlo. En la inmensidad de Ucrania, se oyeron rumores sobre la sustitución del PLM por ROM y sobre la copia de un controlador de disco duro independiente, pero en general, una computadora en los años 90 era mucho menos común que el Pentágono. Afortunadamente, más tarde los desarrolladores de Turbo 2+ - empresa MicroART - donaron toda la documentación para su uso gratuito.



Casi de inmediato, varios desarrolladores de software se involucraron en la órbita de NedoPC, y la charla fue sobre sistemas operativos. De lo contrario, la respuesta a la pregunta "hacia dónde deberíamos navegar" no funcionó. El primer fruto de una intensa reflexión en 2005 fue el ya mencionado sistema TASiS, para el cual se adquirió el código fuente de iS-DOS.



Paralelamente, en 2007, uno de los autores de este artículo creó un personaje virtual SMAN, que estaba desarrollando un sistema operativo multitarea. Y sí, también pasó por la fase Residente en RAM inferior. Esta etapa se prolongó durante años, en 2016-2017 se escribió un compilador para un lenguaje similar a C, NedoLang , que encaja en 48K (también compila para ARM Thumb). El nudo gordiano se cortó solo con la aparición del editor gráfico Scratch (2018).





Scratch y su menú



La elección en 2018 ya fue fácil: la compatibilidad con ATM-Turbo 2+ estaba disponible para todos los usuarios, si no en la pieza de hardware original y no en el ZX Evo y Pentagon 2.666LE de NedoPC, luego en el ATM3 de Zorel o al menos en un emulador (Unreal Speccy, Xpeccy, ZXMAK2, Es.pectrum, etc.).





Turbo 2+ (1993, pero la placa es claramente más nueva)





Pentágono 2.666LE (2009), un coche muy raro





ZX Evolution (2009), se puede comprar en cualquier panadería





ATM3 (2017), puedes conseguirlo solo por un conocido o hacerlo tú mismo.



A partir de ese momento, el sistema se llamó NedoOS y comenzó a desarrollarse explosivamente.



Cabe señalar que para frenar las fantasías en la etapa inicial de esta explosión, el sistema se construyó principalmente sobre comandos compatibles con CP / M y MSX-DOS. Hasta ahora, la lista de comandos está dividida en tres apartados: compatible con CP / M (ahora hay 13 de ellos, no se recomienda su uso por el inconveniente del sistema FCB), compatible con MSX-DOS (hay 11, allí el nombre del archivo ya está en texto, y en su lugar Las estructuras FCB usan números - identificadores) e incompatibles (en su mayoría sin archivo, hay 48 de ellos ahora, pero se planea eliminar algunos).



Sistema de desarrollo en este momento



El código fuente de NedoOS aún no está adaptado para los compiladores disponibles en el sistema (NedoLang y su ensamblador NedoAsm, Turbo Pascal y BDS C). Hasta ahora, solo se compilan internamente 5 utilidades. Y la parte principal del paquete está construida en una PC usando SjASMPlus (código principal) y Z80 IAR C (sistema de archivos FatFs y algunas utilidades).



Los archivos están alojados en un servidor SVN dedicado y consisten en fuentes, una versión binaria y una colección de herramientas para construir en una PC.



El sistema se ensambla con un botón (archivo por lotes o Makefile: dos sistemas de compilación). También puede recopilar por separado uno de los objetivos (para HDD, tarjeta SD, etc.) con un botón e iniciar inmediatamente el emulador. Puede recolectar por separado cada utilidad con una camisa de cuerpo de nivel inferior. Los dos sistemas de compilación sucedieron porque algunos de los desarrolladores de NedoOS están en Windows y otros en Linux.



Además de los compiladores, también hay un procesador de comandos cmd.com (puede ejecutar * .bat) y un intérprete NedoBasic escrito desde cero con capacidades gráficas.





NedoLang se compila a sí mismo



Arquitectura del sistema



Dispositivo de kernel



La parte de NedoOS visible para el programa de usuario es una serie de llamadas en el área de memoria 0x0000..0x0038, el llamado kernel. La última de estas llamadas es un controlador de interrupciones de 50 Hz, seguido de una línea de comando con parámetros para el programa con 0x0080. El dispositivo del núcleo sigue siendo compatible con CP / M (llamada a través de 0x0005), pero nos estamos alejando poco a poco de esto (las llamadas CP / M se utilizan solo en 4 programas de 58). Todas las llamadas al sistema están organizadas como macros (los programas utilizan el módulo /src/_sdk/sys_h.asm con estas macros y constantes) y pueden modificarse significativamente a medida que evoluciona el sistema operativo. La consecuencia de esto es la necesidad de reconstruir todo el sistema y el software de la aplicación en caso de cambios en estas macros, pero, como hemos visto, esto se hace con un solo botón.



El interior de NedoOS está escondido en páginas de RAM y contiene:





Todos los controladores se compilan en el kernel, por lo que hay varios "objetivos" diferentes para construir el sistema ( ATM2 , ATM2 + HDD , ATM3 , ZX Evo , Pentagon 2.666LE ).



El manejador de interrupciones, que se encuentra en el espacio de usuario, tiene este aspecto:



        push af
        push bc
        push de
user_fdvalue6=$+1
        ld a,fd_system ;    
        out (0xfd),a ;    (      ),        
;---------
;    :
;bc=memport0000
;d=pgmain
        out (c),d ;may switch this code page
curpg16k=$+1
        ld a,0
        ld b,memport4000/256
        out (c),a
curpg32klow=$+1
        ld a,0
        ld b,memport8000/256
        out (c),a
curpg32khigh=$+1
        ld a,0
        ld b,memportc000/256
        out (c),a
        pop de
        pop bc
        pop af
        ei
        ret


El cambio de tareas ocurre en un círculo (las tareas congeladas se omiten), todavía no hay prioridades. Pero la tarea inactiva se ejecuta solo cuando todos los demás están congelados o en el marco actual que ellos mismos llamaron YIELD (la macro del sistema YIELD es para dar tiempo al sistema hasta la próxima interrupción, la macro del sistema YIELDKEEP es para dar tiempo al sistema con la capacidad de devolver el control en cualquier momento).



La tarea puede cambiar el controlador de interrupciones, es posible con un retorno a él y un código arbitrario después. Hay ciertas recomendaciones y ejemplos para esto.



Sistema de terminales



Las tareas se dividen en tres tipos:



  1. aquellos que no necesitan una pantalla en absoluto,
  2. aquellos para los que un terminal de texto es suficiente,
  3. gráfico - con su propia pantalla de la resolución requerida y su propia paleta.


En NedoOS, además del concepto de tarea actual, existe un concepto de "foco" (acceso al teclado, ratón y pantalla). El enfoque entre tareas se cambia manualmente (mediante la combinación de Shift de símbolo + Enter) o automáticamente (cuando enciende gráficos, apaga gráficos o cierra una tarea).



Tareas como (1) nunca se enfocan. Además, las tareas de tipo (2) tampoco reciben el enfoque; en cambio, el enfoque está en el terminal de texto al que están adjuntas. Y están vinculados a través de los flujos stdin y stdout, a lo largo de los cuales caminan letras, números, garabatos y códigos de la terminal VT-100 con algunas adiciones. Stdin y stdout se implementan a través de la biblioteca stdio.asm como colas (canalizaciones). En el kernel, la cola tiene un búfer de 255 bytes. Las funciones de escritura y lectura de la cola devuelven cuánto se lee o escribe realmente (como para los archivos) y si la cola está cerrada en el otro extremo. Estas corrientes se heredan de padres a hijos. Pero al final todo se muestra en el terminal term.com, que se puede desplazar e incluso copiar y pegar. También hay un servidor Telnet de red netterm.com. No es necesario iniciar netterm.com, pero term.com se inicia automáticamente al iniciar el sistema.





Nedovigator en el terminal, y el terminal se desplaza con la rueda del mouse.Para



tareas como (3), por supuesto, no se trata de dibujar píxeles a través del sistema; no hay suficientes megahercios Z80 para esto (la mayoría de los usuarios solo tienen 14 de ellos). Por tanto, es necesario dibujar de memoria. Y dado que solo hay dos áreas de pantalla en ATM (como en 128K), solo una tarea puede tener sus propias páginas de pantalla. Las páginas de la pantalla se interceptan cuando se cambia el enfoque y, en lugar de ellas, la tarea perdedora recibe un número de página falso, una página que simplemente puede estropearse. Cuando una tarea recibe el foco, recibe un mensaje separado sobre ella, como si fuera del teclado, pero no corresponde a ningún botón real. Esto permite que la tarea restaure la pantalla a tiempo. Otra tarea puede activar el modo cuando el propio sistema almacena la pantalla y la restaura.



Línea de comando



Las funciones de la línea de comandos son implementadas por la utilidad cmd, que se inicia automáticamente al iniciar el sistema. Más precisamente, la primera tarea inactiva se ejecuta con los parámetros cmd.com autoexec.bat. Esto significa que cmd ejecutará el archivo por lotes especificado. Los comandos escritos allí se ejecutan en orden. De forma predeterminada, los comandos se ejecutan esperando el final, pero si el comando es el inicio del programa, entonces puede poner inicio delante de él: el programa se ejecutará en segundo plano (solo que esto no es compatible con el concepto de herencia de stdin y stdout; los datos en las colas se pueden mezclar)



Después del final de la operación especificada en el parámetro (si había algún parámetro), cmd generalmente sale. Se deja una excepción solo para autoexec.bat, de modo que después de que termine, no se quedará con un canal roto. Sin embargo, en cuyo caso inactivo espera la pulsación simultánea de C + M + D y puede reiniciar el término con cmd.



La línea de comandos es similar a MS-DOS. Puede redirigir la salida de una operación en ejecución a un archivo (por ejemplo, dir> nombre de archivo) oa otro programa (por ejemplo, dir | more.com), puede redirigir la entrada (por ejemplo, more.com <nombre de archivo). Pero aún no se admite el encadenamiento.



Para un trabajo más conveniente con archivos, se utiliza el comando Nedovigator (nv.com).





Kitty, porque ya has visto el Nedovigator



Colocación del sistema



Cabe aclarar que cada sistema de archivos que tenemos está montado en una letra específica, por lo que las rutas se ven como m: /bin/filename.txt. Las colas tienen la letra z: mount, pero hasta ahora se abren sin un nombre; la conexión entre las tareas es pasando el número de cola (identificador).



Para evitar cargadores de arranque especializados como GRUB, NedoOS espera que la ROM de la computadora tenga la capacidad de ejecutar el archivo troncal (*. $ C) desde el dispositivo deseado, por ejemplo, en el ZX Evo con un navegador de archivos o presionando el botón 5 en el menú principal y en el Pentágono 2.666 LE - a través de la copiadora integrada Fatall... De lo contrario, tendrá que iniciar el sistema operativo desde disquetes TR-DOS. Los archivos del sistema están ubicados en el directorio / bin del disco del sistema, los juegos están en / nedogame. Los archivos de juegos adicionales generalmente se encuentran en un subdirectorio del juego del mismo nombre: por ejemplo, un juego de color NedoOS /nedogame/br.com ( Black Raven ) también tiene un directorio / nedogame / br con gráficos, música y niveles.





Cuervo de color



Oportunidades corrientes



Memoria: se admite hasta 4M de RAM (configurable en el sistema de compilación), la memoria se asigna a tareas bajo demanda en páginas de 16K, las tareas pueden devolverlas al sistema por sí mismas. Debido a la falta de protección de la memoria en el hardware, toda la memoria se puede considerar compartida. De forma predeterminada, las páginas se asignan desde el principio de la memoria, sin contar algunas páginas del sistema. El intercambio no es compatible (se consideró en las primeras etapas, pero requiere volver a numerar la página, lo que reducirá en gran medida el rendimiento de las tareas comunes).



Multitarea:desplazante (por interrupción de 50 Hz) y cooperativo; se pueden lanzar hasta 16 tareas simultáneamente (una de ellas está inactiva, se puede eliminar, pero luego YIELD no da garantías); puede sustituir su reproductor de música en el controlador de interrupciones del sistema; se ejecutará en el contexto del kernel con tres páginas de usuario (todavía no puede cambiarlas sobre la marcha). Las tareas se pueden congelar (si se acaban de crear, eliminar o están esperando un hijo). Puede ver la lista de tareas en cmd, su actividad y la presencia de un modo gráfico, eliminar de ejecución (esto libera sus páginas, registros de archivos FatFs y sockets de red).



Archivos:Se pueden abrir hasta 16 archivos FAT, 8 archivos TR-DOS y 8 colas simultáneamente. Puede leer y escribir varios archivos al mismo tiempo (importante para el compilador), ¡incluso en un disquete! Puede leer los parámetros del archivo, un puntero a la posición actual, cambiar esta posición, crear y renombrar directorios. Las colas asumen dos tareas de usuario, deben abrirse una vez (cuando se crean), pero cerrarse dos veces. Las operaciones de archivo se realizan en el contexto del kernel, en este momento el programador de tareas no funciona, pero el procesador de música del sistema se está ejecutando.



Redes:Protocolos ICMP, TCP, UDP, hasta 8 sockets simultáneamente. Hay utilidades ping, time, telnet, netterm (servidor Telnet), dmirc (cliente IRC), dmftp (cliente FTP) 3ws (servidor web para copiar y lanzar archivos de forma remota), NedoBrowser (navegador de texto con la capacidad de ver imágenes por separado jpg, gif, png, bmp y svg: los dos últimos formatos con restricciones; admite los protocolos http y gopher, https a través de un proxy), wget (descarga de archivos de fondo, se ejecuta desde el navegador, puede comenzar a ver gráficos y un reproductor de música automáticamente).





NedoBrowser está buscando algo en Internet



Trabajando con archivos: .tar y .rar están disponibles para lectura y escritura (ZXRar es un análogo simplificado de Rar 2.x para DOS - sin una cantidad de códigos, archivos sólidos, formato multimedia y cifrado, ZXUnRar admite todos los códigos y archivos sólidos, pero tampoco admite multimedia ni cifrado), .gz y .zip son de solo lectura. Hasta ahora, todo es solo a través de utilidades de línea de comandos.



Tipos de documentos: las asociaciones de archivos se registran para el comandante integrado de Nedovigator en el archivo nv.ext. Ahora este archivo se ve así:



bmp:scratch.com
bat:cmd.com
txt,new,ext,ini,nfo,diz:texted.com
gif,jpg,png,htm,svg:browser.com
tfc,pt2,pt3,mt3,m  :player.com (pt3     Pro Tracker  NedoOS)
bas:basic.com
zip,gz :pkunzip.com
trd,scl,fdi,tap:dmm.com ( TR-DOS   —    ZX Evo   ,   ,      Magic;   , ,         )
16c,scr,fnt,img,3  ,888,y  ,+  ,-  ,plc,mc ,mcx,grf,ch$,mg1,mg2,mg4,mg8,rm ,mlt:view.com
mod:modplay.com
tar:tar.com
sna,b  ,z80:nmisvc.com
rar:unrar.com


También hay una docena de juegos disponibles, incluido un emulador de Super Mario (requiere un volcado de cartucho para funcionar), un pintado por Eric and the Floaters, un puerto parcial de Endless Summer y un Snake en red.



Planes



  • Ampliación de la funcionalidad de los archivos por lotes (los parámetros ya se están transfiriendo)
  • IDE y autohospedaje
  • Capas en el editor de gráficos
  • ...


Conclusión



Por el momento, NedoOS tiene todas las funciones básicas necesarias, por lo que si tiene el hardware necesario, el sistema es más conveniente de usar que de no usar.



Pero aún queda mucho trabajo por delante. Cuanto más se acerque el ideal, más desarrolladores se unirán al proyecto.





La mayoría de los desarrolladores de NedoOS viven en el canal de IRC #mhm en irc.forestnet.org (también disponible a través de http://chat.forestnet.org/ ). Hay un canal de Twitch nocturno (con un espejo de YouTube). Desde el sitio web de NedoOS puede descargar la versión estable y las últimas fuentes .



All Articles