10/25/2021 0 Comments Altair 880 Emulator For Mac
Original list price including RAM Stack over 5000 at 1295 its a.If you type “WAIT6502,1” into a Commodore PET with BASIC V2 (1979), it will show the string “MICROSOFT!” at the top left corner of the screen. To this day nobody knows how many computer kits were sold through the magazine, but Les Solomon told me he estimated over 2,000.Upgraded to Mac screen ROMs for square pixels. The Altair articles ran for several issues of Popular Electronics , and as a result MITS was deluged with orders. Thus, it became Altair 8800, and that's the name stenciled on the front panel.
![]() Altair 880 Emulator Code Contained ExtraMicrosoft BASIC for the 6502In 1976, MOS Technology launched the KIM-1, an evaluation board based around the new 6502 CPU from the same company. In 1975, Microsoft (back then still spelled “Micro-soft”) released Altair BASIC, a 4 KB BASIC interpreter for the Intel 8080-based MITS Altair 8800, which, despite all its other limitations, included a 32 bit floating point library.An extended version (BASIC-80) that consisted of 8 KB of code contained extra instructions and functions, and, most importantly, support for strings. Altair BASICLet’s dig into the history of Microsoft’s BASIC interpreters.Upon startup, it printed:In the same year, MOS started selling a tape version of 9 digit Microsoft BASIC 1.1 for the KIM-1. The 6 digit math code was still an assembly time option the 1981 Atari Microsoft BASIC used that code.In 1977, Ohio Scientific introduced the “Model 500”, which was the first machine to contain (6 digit) Microsoft BASIC 1.0 in ROM. A 6502 machine with BASIC in ROM needed more than 8 KB anyway, why not make it a little bigger to add extra features. The BASIC ROMs of the Ohio Scientific Model 500/600 (KIM-like microcomputer kits from 1977/1978) and the Compukit UK101 were indeed 8 KB in size, but unlike the 8080 version, it didn’t leave enough room for the machine-specific I/O code that had to be added by the OEM, so these machines required an extra ROM chip containing this I/O code.In 1977, Microsoft changed the 6 digit floating point code to support 9 digits and included actual error stings instead of two-character codes, while leaving everything else unchanged. The truth is somewhere in the middle. They licensed Microsoft BASIC for 6502 (also October 1976), renamed it to Commodore BASIC, replaced the “OK” prompt with “READY.”, stripped out the copyright string and shipped it in the ROMs of the first Commodore PET in 1977. Commodore PETCommodore had bought MOS in October 1976 and worked on converting the KIM platform into a complete computer system. On the Apple II Plus (1978), AppleSoft II replaced Integer BASIC. An enhanced version of Woz’ “Integer BASIC” came in the ROM of the Apple II in 1977 Microsoft BASIC (called “AppleSoft”) was available as an option on tape. E064 84 E6 1A 2D 1B -((2*PI)**11)/11! = -14.3813907. On V2, the line is subtly changed to make the two-parameter case branch to a small patch routine.,D747 C9 66 CMP #$66 = low of $1966 (=6502).,D749 D0 D4 BNE $D71F no, back to original code.,D74B A5 12 LDA $12 high byte of address.,D74D E9 19 SBC #$19 = high of $1966 (=6502).,D74F D0 CE BNE $D71F no, back to original code.,D751 85 11 STA $11 low byte of screen buffer = 0.,D754 A9 80 LDA #$80 high byte of screen buffer.,D756 85 12 STA $12 screen buffer := $8000.,D75A BD 81 E0 LDA $E081,X read character.,D75D 29 3F AND #$3F throw away upper bits.,D75F 91 11 STA ($11),Y store into screen RAM.,D764 E6 12 INC $12 increment screen buffer high addressThe text “MICROSOFT!” is stored in 10 consecutive bytes at $E082, cleverly hidden after a table of coefficients that is used for the SIN() function. Apart from updates in array handling, it also contained the WAIT 6502 easter egg.This is what the easter egg code looks like.,D710 20 C6 D6 JSR $D6C6 fetch address and value.,D713 86 46 STX $46 save second parameter.,D715 A2 00 LDX #$00 default for third parameter.,D717 20 76 00 JSR $76 CHRGOT get last character.,D71A F0 29 BEQ $D745 no third parameter.,D71C 20 CC D6 JSR $D6CC check for comma and fetch parameter.,D723 B1 11 LDA ($11),Y read from WAIT addressOn pre-V2 BASIC, the branch at $D71A just skipped the next line: If there is no third parameter, don’t fetch it. What vpn type should i use for macWhile BASIC used the ASCII character encoding, the Commodore character set had its own encoding, with “A” starting at $01, but leaving digits and special characters at the same positions as in ASCII. E087 8F 52 43 89 CD "MICRO" | random upper bitsIf we reverse the bytes, we get CD 89 43 52 8F 13 8F 46 54 A1The easter egg code clears the upper 2 bits, resulting in 0D 09 03 12 0F 13 0F 06 14 21The easter egg code does not print the characters through library routines, but instead writes the values directly into screen RAM. E082 A1 54 46 8F 13 "SOFT!" | backwards and with. E078 86 A5 5D E7 28 -((2*PI)**3)/3! = -41.3147021. E073 87 23 35 DF E1 ((2*PI)**5)/5! = 81.6052237. E06E 87 99 68 89 01 -((2*PI)**7)/7! = -76.7041703. ![]() The Easter Egg before the PETBut Microsoft did not encode its company name specifically for Commodore: The 9 digit BASIC 6502 version 1. It had occupied 51 extra bytes.Interestingly, starting with the BASIC V7 on the C128 six years later, Commodore started crediting Microsoft, like this:According to Jim Butterfield, this is probably due to negotiations concerning Microsoft BASIC for the Amiga. He was enraged: “We have a machine that’s short of memory space, and the #$#!* put that kind of stuff in!!”Commodore employee Andy Finkel states that the “Gates” (!) easter egg had to be removed for space reasons.
0 Comments
Leave a Reply. |
AuthorShelly ArchivesCategories |