Tag archive for ‘6502’

Microhistoria: Código fuente de Microsoft BASIC para 6502

by tuxotron - on Ene 15th 2015 - No Comments


Bill-Gates-and-Paul-Allen-19811.jpg

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)

Por lo que conocemos sobre el Altair Basic y el de la versión para 8080, el código de este intérprete fue escrito por Bill Gates, Paul Allen y Monte Davidoff. Paul Allen se encargó de las rutinas de emulación, las macros y código de soporte, Davidoff fue contratado para escribir principalmente las rutinas de operaciones en coma flotante y parece que escribió la librería matemáticas y Bill Gates escribió el resto con la ayuda de Ric Weiland, como se puede ver en los comentarios.

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.


pet2.png


pet3.png

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.

Entradas relacionadas:

Introducción al ensamblador del 6502

by tuxotron - on Oct 11th 2013 - No Comments

asm6502

Hace un tiempo publicamos una entrada con el mismo título que esta, donde os hablamos sobre un tutorial sobre la programación en ensamblador del microprocesador 6502.

La razón de está entrada es que Jorge Acereda ha hecho una traducción íntegra de dicho tutorial en nuestra lengua.

Si el inglés se interpuso entonces en tu camino, ya no tienes excusa para aprender un poco de ensamblador y 6502

Entradas relacionadas: