BETABASIC, MAME 0.260 Y SISTEMAS DE DISCO ---------------------------------------------------------------------------------- Estas son mis mas recientes notas tras probar el BetaBasic en los mas ultimos sistemas de disco emulados por MAME y de los cuales no tenia experiencia practica alguna como son el Swift Disk I y II, FloppyOne de Rocky Gush o el Watford SP-dos y SpeccyDos 2.42. I - MAME 0.260 Continuo con los demas sistemas asociados a Sinclair y de paso viendo su compatibilidad con Betabasic, empezando por... ZX SPECTRUM 128K Cuando busco y selecciono el 128k, MAME me pide que escoja el BIOS entre ingles (la britanica) y espa~ol (la original de Investronica). Al entrar en el SLOT DEVICE nos damos con los sigtes. sistemas de disco (voy a omitir todos los demas perifericos que no sean discos): Beta128, Disciple, ZX IF1, Opus, +D, Speccydos, Swiftdisk 1 y 2, por ultimo Wafadrive. Si selecciono el +2, entonces las BIOS a elegir son: ingles, frances, espa~ol, +2c de A.Owen y +2c de NamCo. Emulacion OK. Ya no queda mas que aclarar, excepto que Speccydos y Wafa drive si funcionan con el 128k pero solo en modo 48k a diferencia de los otros sistemas. ELWRO 800 Aparece bajo el nombre de 800-3junior. Al seleccionarlo obtenemos la pantalla inicial de: ELWRO Elwro 800-3 junior 64k RAM 24k ROM versja dyskowa K Y eso es todo, el cursor esta a la espera de que uno pulse algo en el buen estilo del Spectrum. Y tal como el mensaje dice, esta es la version de discos. Al entrar en el menu de SLOT DEVICE obtenemos: ---------------------------- Slot Device ---------------------------- upd765:0 525hd - 5.25" disco de alta densidad upd765:1 525hd centronics: printer - elegimos una impresora a usar ---------------------------- Reset System Return to previous menu ---------------------------- Y al ir al menu FILE MANAGER: ---------------------------- File Manager ---------------------------- [root] cassette(cass) --- ---------------------------- [root:upd765:0] floppydisk1(flop1) --- [root:upd765:1] floppydisk2(flop2) --- [root:centronics:printer] printout (prin) --- ---------------------------- Reset System Return to previous menu ---------------------------- Si elijo cintas, veo que me ofrece todo el repertorio de programas de Spectrum. Si elijo floppy, paso a las opciones de extraer disco, crear o ver lista de software. Este ultimo no muestra nada y solo nos saca del menu. Si elijo crear, nos pedira su nombre y extension. Se me ocurre ponerle extension .ELW y paso a las opciones de crear disco como mfi o mfm (es decir un disco MAME o disco para HxC floppy emulator). Elijo mfi y paso a un nuevo (para mi) menu en pantalla : Select initial contents unformated double sided high density u525dshd unformated double sided high density u35dshd en suma solo puedo crear discos no formateados de 5.25" o 3.5" a doble cara y en alta densidad. Y eso es todo lo que puedo hacer. Sin el manual solamente puedo probar los comandos del Basic Sinclair pero me doy conque FORMAT ha sido reemplazado por DISPL@ que supongo significa "display at" (mostrar en) y CAT ahora es DIR. En vez de MOVE tengo CP/J que concluyo me permite accesar al CP/M. El problema es que para ello necesito justo el disco de CP/J. En internet si hay una WEB con discos del ELWRO 800 jr. en "https://oldcrap.org/document/elwro-800-junior-disks/" pero al intentar leerlos, MAME los acepta como de solo lectura y al dar DIR me da error J de dispositivo no valido. Asi que al final no me los reconoce. Sin la sentencia FORMAT ya no se como se formatea un disco nuevo ni que formato tiene. Solo puedo probar el Basic de Cassette pero no el de Discos. Mas ya no puedo hacer, asi que lo dejo ahi. Compatibilidad BetaBasic Parece ser que es plenamente compatible al menos trabajando con cintas, ya que no tengo acceso a los discos ni se cuales son sus comandos o su sintaxis. SAM COUPE Si escojemos el SAM, MAME nos pide que elijamos un BIOS y nos ofrece: v3.1, 3.0, 2.5, 2.4, 2.1, 2.0, 1.81, 1.8, 1.4, 1.3, 1.2, 1.0, 0.4, 0.1 y ATOM HDD interface auto boot. Al entrar en el menu de SLOT DEVICE obtenemos: ---------------------------- Slot Device ---------------------------- mouseport --- - mouse o nada por defecto drive1 floppy (*) drive1:floppy:fdc:0 35dd (+) drive2 floppy (*) drive2:floppy:fdc:0 35dd (+) exp: --- (-) ---------------------------- (*) Los drives 1 y 2 solamente tienen dos opciones: floppy y ATOM (+) si se elije ATOM, tenemos ahora: ---------------------------- mouseport --- drive1 floppy drive1:floppy:fdc:0 35dd drive2 atom drive2:atom:ata:0 hdd (%) drive2:atom:ata:1 --- (%) exp: --- (-) ---------------------------- (%) las alternativas son nada (---), disco duro IDE (hdd), PlexCombo CD-rw/ DVD (px320a), IOmega Zip 100mb IDE drive (zip100), disco duro Conner (cp 2024), ATA compact flash (cf) y el Atapi (cdrom). (-) al bus de expansion puedo conectarle lo sigte.: por defecto nada (---), Blue Alpha Sound Sampler (blue_sampler), Dallas Clock (dallas), interfaz 1mb (one meg), interfaz de expansion de 4 slots (sambus), adaptador SD ide (sdide), interfaz SID (sid6581), interfaz SID (sid8580), interfaz sam spi paralelo (spi) y (voicebox). En cuanto al File Manager: ---------------------------- [root] cassette(cass) --- ---------------------------- [root:drive1:floppy:fdc:0] floppydisk1(flop1) --- [root:drive2:floppy:fdc:0] floppydisk2(flop2) --- ---------------------------- obviamente este menu cambiara dependiendo de lo seleccionado en el Slot Device. La emulacion parece Ok, pero no me acepta todos los discos que si son admitidos por otros emuladores de SAM como Simcoupe o ASCD. Al menos me ofrece mas opciones para el bus de expansion. Y bueno, lo dejo aqui. Compatibilidad BetaBasic Podemos retipear algunos listados BB en el SAM, pero no todos los programas funcionaran como se desea, pues algunos comandos del BB no existen en el SAM. QL En MAME podemos elegir entre el QL original QL (UK) y QL danes (Denmark - que aun no funciona), QL aleman (Germany), QL griego (Greece), QL italiano (Italy), QL hispano (Spain) o QL norteamericano (USA). Si elijo QL (UK) entonces se nos pide que escojamos entre las sigtes. BIOS: v1.10 (js)(por defecto), v1.00(fb), v1.01(pm), v1.02(ah), v1.03(jm), v1.0?(tb), v2.05 (tyche) y por ultimo Minerva v1.89. Si elijo QL (Germ) se nos pide escojer entre: v1.10(mg), v1.14(mf) y Ultrasoft - pero este ultimo me deja con la pantalla en negro y nada funciona. Si elijo cualquier otro QL no se me pide ninguna BIOS de sistema a escojer. Una vez seleccionado el QL, vamos a SLOT DEVICE para: ---------------------------- ser1 --- (a) ser2 --- (b) exp --- (c) rom --- (d) ---------------------------- (a) podemos elegir entre rs232 loopback (dec_loopback), terminal (ie15), teclado serial (keyboard), rs232 (loopback), Sweet micro systems (mocking board), rs232 (null_modem), rs232 (patch) box, impresora serial (printer), pseudo terminal (pty), rs232 (rs232_sync_io), impresora serial Radio Shack (rs_printer), adaptador teclado Sun (sunkbd), terminal (swtpc8212), (terminal) serial y nada (----). (b) idem (c) aqui podemos usar la interfaz cumana de disco (cumanafdi), tarjeta miracle (gold), interfaz kempston de disco (kdi), interfaz micro peripherals de disco (mpfdi), (opdbasic) master, interfaz pcml Q+ de disco (pcmlqdi), interfaz cst ql de disco (qldisc), cst q+4 (qplus4) con cuatro buses de expansion, (qbide) para dos discos duros, super disco de Sandy (sdisk) para dos disqueteras y toma de impresora paralelo, sandy superqboard 256k (sqboard) y 512k (sqboard512k), sandy superqmouse (sqmouse) y 512k (sqmouse512k) ambos para dos disq. y una toma de impresora, tarjeta ql (trump), (trump256k), (trump512k) y (trump 768k) o por defecto nada (----) (d) solo permite el disco duro miracle (mhd) Al momento de escribir estas notas carezco de lso manuales de los aqui mencionados sistemas de disco apra el QL, por lo que no he podido aun probar ninguno a ver aque tal funcionan o que tan bien han sido emulados. Y si vamos al menu del FILE MANAGER: ---------------------------- [root] microtape1(utap1) --- - cartucho MDR de QL microtape2(utap2) --- - idem cartridge (cart) --- ---------------------------- nuevamente el menu debe cambiar segun lo seleccionado en el S.Device. Compatibilidad BetaBasic Ninguna. Pero podemos retipear algunos listados BB en el QL, ya que el Super Basic es plenamente estructurado y tiene la ventaja de las funciones multilinea. II - BETABASIC y DISCOS A partir de aqui retomo el tema del BetaBasic y su compatibilidad con los distintos sistemas de disco, ya que antes solo pude tratar con lo que pude probar que ya estaban emulados como son el OPUS Discovery (emulado perfectamente en x128, RealSpectrum y FUSE), Disciple y +D (tambien probados en x128, RealS y FUSE), Beta128 (diversos emuladores), Microdrives (RealS, Spectaculator, Warajevo, FUSE y EightyOne o EmuZwin 2.5xx), Didaktik d80 (RealS, x128 y FUSE), Wafadrive (RealS y x128), MB-02+ (exclusivo hasta el momento de RealS), Timex FDD (FUSE modificado), HC-200 de Ice Felix (rom modificada para Spectaculator y FUSE 111 modificado), Speccy-dos 2.41 (entonces solo x128) y Kempston-dos (ultima version de RealS). Me faltaban el FloppyOne de Rocky Gush, SP-dos, Swift Disk 1 y 2 ademas del Speccy-dos 2.42 actualmente emulados en MAME. Y aun me faltan muchos otros sistemas que no han sido emulados como son el Convoy C-dos y el Clive Drive o el Delta Disk. FLOPPYONE Desconocia este sistema de disco hasta que probe la ultima version de x128. Fue aqui donde hice mis primeros experimentos con esta interfaz. Al no tener entonces el manual de dicho dispositivo, solo pude por prueba y error saber que acepta la sintaxis de cinta y microdrive, pero desconociendo todos los demas comandos extras que ofrece no pude hacer mas. Ahora, gracias a MAME y a que ya existe el manual publicado en Internet, para ser mas preciso lo descargue de la WEB speccy4ever, pude finalmente probar uno a uno cada comando asi como crear un disco y formatearlo. Con toda esta informacion y el disco creado, decidi retomar el x128, solo para darme cuenta de que x128 solo emula la ROM pero no accede a ningun disco que se le inserte, por lo que solo puedo usarlo en x128 con cintas. Compatibidad BetaBasic BetaBasic 1.0 - carga sin problemas y puede ser salvado mediante el boton NMI al disco. Se salva automaticamente como "nmi0". Podemos renombrarlo como "BB10". Para cargarlo tipeamos ahora LOAD "nmi0" CODE y listo. Funciona Ok. BetaBasic 1.8 y 1.9 - puede ser cargado y pasado a disco. Todo Ok. BB 3.0 y 3.1 - idem FloppyOne posee un modo de 64 caracts. que es plenamente compatible con el BB, incluido los que carecen de la posibilidad de cambiar el tam. de texto. Tanto BB como FloppyOne tienen rutinas de captura de errores por lo que si podemos usarlos al escribir programas que los usen. Pero si se tiene conectado el ZX IF1, entonces BB ya no acepta los comandos de disco, se cuelga. En este caso, no se si es el emulador o asi es el interfaz real. Todo parece indicarnos que es un solido sistema y una buena alternativa para que trabajemos con discos. En suma, lo considero optimo combinado con BB y eso es debido a que FL1 se comporta como un casete virtual, redirigiendo todos los comandos de cinta al disco. SWIFTDISK Ya conocia este sistema de discos debido a articulos que le fueron dedicados en magazines britanicos. Debido a eso decidi reunir toda la informacion posible para escribir mi propio manual en castellano sobre sus comandos, pero sin la posibilidad de probarlo pues aun no estaba emulado. James McKay logro hacerlo funcionar en su emulador x128, pero al no tener un disco ni saber como crear uno y formatearlo, termino por no incluirlo en la version de x128 que hizo publica. Actualmente ya existe al menos el disco para Swift Disk con el emul. de Microdrives, encima MAME ha logrado hacer una emulacion que es funcional tanto del Swift disk I como del SW II. Compatibilidad BetaBasic BetaBasic 1.0 - tras cargar lo podemos salvar mediante el boton NMI al disco. Usamos S nombre y esperamos a que se salve el snapshot. Para cargarlo debemos volver al NMI y tipear L nombre. Una vez cargado pregunta si queremos ejecutar la imagen. Respondemos con N y luego Q. Listo ya estamos de nuevo con el BB 1.0. Funciona Ok excepto que no puede capturar los errores de disco. BetaBasic 1.8 y 1.9 - puede ser cargado y pasado a disco. Todo Ok. BB 3.0 y 3.1 - idem BB 4.0 - en modo 128k. No parece haber incompatibilidad alguna. Ninguna version de BB puede capturar los errores de disco de SW, pero al igual que Timex FDD o Disciple y Beta128, SW permite capturar los errores de disco. Emulacion Microdrive Se emula la version de la ROM original de la ZX Interfaz 1, por lo que la mejor opcion aqui son el BB 1.9 y BB 3.1 ya que estos fueron optimizados exclusiva mente para usar esa ROM. Simplemente hay que evitar los errores de micro drive con la 1.9 ya que no los captura. En cambio BB 3.1 si puede hacerlo. Nota: debido a que MAME no permite actualmente leer cartuchos MDR, la unica forma de intercambiar informacion con otros emuladores es convirtiendo los programas a cinta (en caso de estar en cartuchos) primero y asi pasarlos al Swiftdisk. El unico problema son los ficheros OPEN que no pueden ser pasados a cinta a menos que se los convierta en matrices. SPECCYDOS Ya he tratado bastante sobre este singular sistema. Ahora quiero contar cuales fueron mis experiencias y descubrimientos respecto al BB en cada una de las emulaciones tanto del x128 como de MAME. Compatibilidad BetaBasic Excepto BB 4.0, es posible transferir cualquier version del BetaBasic al disco, pero una vez cargado el BB del disco, ya ningun comando de disco es aceptado, por lo que me quedo limitado a cinta. Eso me sucede en x128. Si uso MAME eso no me pasa y decidi descubrir el por que. Segun los boletines de BB, Speccydos no es compatible con BB a menos que se le haga un parche que no conozco. Resulta que en efecto, eso sucede en la ROM v2.41 que es la que emula x128. Por lo que si uso esa misma ROM en MAME pasa lo mismo. Sin embargo no ocurre eso si uso la ROM 2.42(fd1770) o v2.42(fd1772). En suma, cualquier usuario que tuviese la interfaz con las primeras ROMs carece de la posibilidad de usar el BB. En cambio, el afortunado poseedor de una con las ultimas ROMs, si podia usar BB. Ahora, voy a explicar cual es el procedimiento para poder ejecutar BB y discos. El cargador BetaBasic 1.xx y 3.xx - tras cargar de la cinta, desactivamos el BB para poder usar los comandos de Speccydos y ya lo podemos salvar al disco. A modo de experimento, hice el sigte. cambio a la linea 2 del cargador, aunque no se si ayuda en algo o no, a la compatibilidad: 2 CLEAR rt: LOAD*"bb.c" CODE: POKE 15169,64: CLS 3 RAND USR 58419: POKE 15169,0: DELETE 1 TO 3 Modo comando directo Es imposible acceder a los comandos de disco sin desactivar BB. Primero: RAND. USR 59904 - desactivamos BB Segundo: comando * - ahora ya podemos salvar, cargar, borrar o ver catalogo Tercero: RAND. USR 58419 - volvemos a BB y seguimos con nuestro programa. Modo sentencia Supongamos que queremos ver el directorio desde dentro de un programa: 9005 DPOKE DPEEK(23613), 4867: DPOKE DPEEK(23613)-2,7030 9010 LIST* 9015 INPUT USR 58419 9005 desactiva sin resetear la pila. Para ingresar la linea 9010 debemos primero desactivar BB. El INPUT en 9015 es para que el mensaje de BB desaparezca apenas salga. Y asi con todas las sentencias de disco que queramos insertar en un listado. Si queremos podemos crear un procedimiento con: 9000 DEFPROC dir Y para ejecutarlo tipeamos PROC dir, o solo DIR si usamos BB 3.xx. La razon es que ninguno de los POKEs usados para que opere con Timex FDD, Didaktik d80 u otros sistemas, funciona en este caso. KEMPSTON-DOS y SP-DOS Aunque ambos estan emulados en MAME, solamente puedo leer discos pero no escribir en ellos, por lo que me veo obligado a retomar REALS para mis pruebas. Pensaba hacer una actualizacion a mi texto sobre el K-dos y SP-dos, considerando todo lo que ahora ya se por prueba y error, pero decidi ponerlo todo aqui. Vamos a ver y expandir acerca de cuan diferentes son. Watford SP-dos Disco de sistema La primera diferencia con K-dos, es que SP-dos requiere de un disco de sistema de la misma forma que Disciple o Timex FDD lo hacen. Como obtenerlo Mi truco ha sido el sigte.: en speccy4ever existe un disco llamado spdos.hfe pero como dice su extension, esta en formato que el emulador ya sea MAME o REALS ninguno puede leer. En cambio hay otros discos compilatorios de juegos con los nombres SPDOS_games.kdi y resulta que estos contienen el sistema deseado. Lo que hice fue copiar uno de estos discos y lo llame "blankdisk.wsp.kdi" y luego use K-dos en REALS. Entonces tipee "PRINT #4: ERASE "^^^^^^^^^^" y asi es como pude crear mi disco en blanco con el sistema spdos. Fue con este disco que pude probar la emulacion de SP-dos en MAME. Ahora, si uso este mismo disco con el Kempston-dos, este pasa a comportarse como un SP-dos basico. Los comandos SP-dos solamente posee CAT, SAVE, LOAD, MERGE, ERASE, MOVE y CLEAR, asi como las instrucciones para manejo de ficheros secuenciales OPEN #, CLOSE #, PRINT#, INPUT# e INKEY$#. Carece EN CAMBIO de los comandos utiles del K-dos que son FORMAT, COPY, GOTO y NEW. El disco de utilidades Aqui es donde se encuentran las rutinas para formatear, copiar o hacer un backup al cual no tengo acceso al momento de escribir estas notas. Compatibilidad BetaBasic SP-dos con BB 1.0 - los comandos de disco generan mensaje de error. Con BB 1.8 no generan nada. Con BB 3.xx tambien se genera error. Compatibilidad: ninguna. K-dos con BB 1.0 - da error apenas se carga de cinta. BB 1.8 aparentemente es plenamente compatible. ON ERROR captura los errores de disco, siendo preferible a la captura de errores de K-dos "PRINT #4:GOTO n". Esto es debido a que el manual del K-dos no explica cual es el equivalente a las variables de error como ERR o ERL o el modo de desactivar la captura de errores. BB 3.xx parece aceptar todos los comandos de K-dos incluso sin POKEarlo. Conclusion: K-dos es compatible con BB 1.8 y 3.xx SISTEMA VISION Tanto x128 como MAME emulan actualmente VISION, por lo que voy solo a mencionar como lo hacen ambos. En el caso de x128 debemos pulsar F3 para ir al final de la lista de micros donde encontramos LEC (DDR), luego vamos a la sigte. pantalla y seleccionamos Beta48 disco. Una vez hecho esto buscamos la seccion de cambio de ROMs para usar la 80lec en vez de la 48k y VISION en vez del betadisk. En cuanto al MAME, supongo que debemos optar por Zx Spectrum 80k y de ahi vamos a SLOT DEVICE para buscar Betaclon con lo que por fin ya tenemos VISION. El problema es que carezco del disco de CPM DDR para poder probar cualquiera de ambos emuladores en lo que al CP/M respecta. Compatibilidad BetaBasic Betabasic 1.8 puede ser pasado a disco y parece ser plenamente compatible con el TRDOS v4.12. Incluso permite acceder a VISION y volver sin problemas. Betabasic 1.0 acepta al parecer los comandos Betadisco pero se cuelga si se intenta acceder al sistema Vision. Encima el unico modo de pasarlo a disco es ya sea usar el Multifaz 1 o el boton NMI del Betadisco mismo. BB 3.xx tambien hace que se cuelgue el sistema si se intenta acceder a Vision. Excepto eso parece muy compatible con el Betadisco 48 con el TRDOS v4.12 y sin que se tenga que POKEarlo. Para cerrar Ya solo queda probar y comparar lo que siempre hago con cada sistema de disco para ver su plena compatibilidad con el BB y es si la captura de errores es perfecta asi como el manejo de ficheros no da problemas. Y con esto cierro este texto. (c)2023 zx_if1@hotmail.com