Microhistoria: Código fuente de Microsoft BASIC para 6502
Ya sabemos todos como fueron los inicios de Microsoft, o debería decir Micro-Soft.
Básicamente el primer producto que Microsoft creó fue el Altair Basic, un intérprete de Basic para Altair 8800. A partir de éste, la empresa de Redmon empezó a crear versiones de dicho intérprete para otras arquitecturas como el 6800 de Motorola, Z80 o el MOS 6502, entre otros.
La creación de Microsoft Basic, empezando con su versión para Altair 8800, fue creado en un PDP-10, por lo tanto Microsoft no sólo tenía que crear el propio intérprete sino también el código de emulación para cada una de las arquitecturas para las que lo desarrollaron.
En el código fuente de la versión para MOS 6502 fue escrito usando el lenguaje ensamblador MACRO-10. En el mismo se pueden ver las distintas rutinas o macros para facilitar ciertas partes del desarrollo del intérprete, ciertas constantes para personalizar la compilación del mismo, entre las que se encuentra una llamada: REALIO.
REALIO=4 ;5=STM
;4=APPLE.
;3=COMMODORE.
;2=OSI
;1=MOS TECH,KIM
;0=PDP-10 SIMULATING 6502
Esta constante es donde definimos la plataforma para la que queremos compilar.
Entre las distintas arquitecturas tenemos:
Valor | Comentario | Banner | Máquina |
---|---|---|---|
0 | PDP-10 SIMULATING 6502 | SIMULATED BASIC FOR THE 6502 V1.1 | Paul Allen’s Simulator on PDP-10 |
1 | MOS TECH,KIM | KIM BASIC V1.1 | MOS KIM-1 |
2 | OSI | OSI 6502 BASIC VERSION 1.1 | OSI Model 500 |
3 | COMMODORE | ### COMMODORE BASIC ### | Commodore PET 2001 |
4 | APPLE | APPLE BASIC V1.1 | Apple II |
5 | STM | STM BASIC V1.1 | (unreleased) |
A través del código se pueden ver otras curiosidades, incluido el huevo de pascua introducido por Bill Gates en la versión para Commodore PET, en la que si escribes “WAIT6502,1″, aparece MICROSOFT! en la parte superior izquierda, sobrescribiendo la palabra COMMODORE.
En la web pagetable.com hacen un repaso mucho más detallado y técnico, así que no dejes de visitar el enlace si quieres conocer más al respecto.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec