Apple II manual OUTTA1 PHA, OUTTA2 LDX

Page 184

2709

F24A

 

 

 

;OUTPUT ACC TO TAPE

 

2710

F24A 8E

2D

A4

OUTTAP STX CPIY+3

;SAVE X

2711

F24D A0

07

 

 

LDY #$07

;FOR THE 8 BITS

2712

F24F 8C

27

A4

 

STY

STIY

 

2713

F252

AE

08

A4

 

LDX

TSPEED

 

2714

F255

30

39

 

 

BMI OUTTA1

;IF ONE IS SUPER HIPER

2715

F257

48

 

 

 

PHA

 

 

2716

F258

A0

02

 

TRY

LDY

#2

;SEND 3 UNITS

2717

F25A 8C

28

A4

 

STY

STIY+1

;STARTING AT 3700 HZ

2718

F25D BE

0A

A4

ZON

LDX NPUL,Y

;#OF HALF CYCLES

2719

F260

48

 

 

 

PHA

 

 

2720

F261

B9

0B

A4

ZON1

LDA TIMG,Y

;SET UP LACTH FOR NEXT

2721

F264

8D

06

A8

 

STA T1LL

;PULSE (80 OR CA) (FREC)

2722

F267

A9

00

 

 

LDA

#0

 

2723

F269

8D

07

A8

 

STA

T1LH

 

2724

F26C 2C

0D

A8

ZON2

BIT

IFR

;WAIT FOR PREVIOUS

2725

F26F 50

FB

 

 

BVC

ZON2

;CYCLE (T1 INT FLG)

2726

F271

AD

04

A8

 

LDA T1L

;CLR INTERR FLG

2727

F274

CA

 

 

 

DEX

 

 

2728

F275

D0

EA

 

 

BNE ZON1

;SEND ALL CYCLES

2729

F277

68

 

 

 

PLA

 

 

2730

F278

CE

28

A4

 

DEC

STIY+1

 

2731

F27B F0

05

 

 

BEQ

SETZ

;BRCH IF LAST ONE

2732

F27D 30

07

 

 

BMI

ROUT

;BRCH IF NO MORE

2733

F27F 4A

 

 

 

LSR

A

;TAKE NEXT BIT

2734

F280

90

DB

 

 

BCC

ZON

;...IF IT'S A ONE...

2735

F282

A0

00

 

SETZ

LDY

#0

;SWITCH TO 2400 HZ

2736

F284

F0

D7

 

 

BEQ

ZON

;UNCONDITIONAL BRCH

2737

F286

CE

27

A4

ROUT

DEC

STIY

;ONE LESS BIT

2738

F289

10

CD

 

 

BPL TRY

;ANY MORE? GO BACK

2739

F28B 68

 

 

ROUT1

PLA

 

;RECOVER CHR

2740

F28C AE

2D

A4

 

LDX CPIY+3

;RESTORE X

2741

F28F 60

 

 

 

RTS

 

 

2742

F290

 

 

 

 

 

 

 

2743

F290

 

 

 

;OUTPUT HALF PULSE FOR

0 (1200 HZ) &

2744

F290

 

 

 

;TWO HALF PULSES FOR 1

(2400 HZ) (00 TSPEED)

2745

F290

48

 

 

OUTTA1 PHA

 

 

2746

F291

8D

28

A4

 

STA STIY+1

;STORE ACC

2747

F294

A2

02

 

OUTTA2 LDX

#2

;# OF HALF PULSES

2748

F296

A9

D0

 

 

LDA

#$D0

;1/2 PULSE OF 2400

2749

F298

8D

06

A8

 

STA

T1LL

 

2750

F29B A9

00

 

 

LDA

#00

 

2751

F29D 8D

07

A8

 

STA

T1LH

 

2752

F2A0 20

BC FF

 

JSR

PATC25

;WAIT TILL COMPLETED

2753

F2A3 4E

28

A4

 

LSR

STIY+1

;GET BITS FROM CHR

2754

F2A6 B0

0A

 

 

BCS

OUTTA3

 

2755

F2A8 A9

A0

 

 

LDA

#$A0

;BIT=0 ,OUTPUT 1200 HZ

2756

F2AA 8D

06

A8

 

STA

T1LL

 

2757

F2AD A9

01

 

 

LDA

#$01

 

2758

F2AF 8D

07

A8

 

STA

T1LH

 

2759

F2B2 20

BC FF

OUTTA3 JSR

PATC25

 

2760

F2B5 CA

 

 

 

DEX

 

 

2761

F2B6 10

FA

 

 

BPL OUTTA3

;OUTPUT 3 HALF PULSES

2762

F2B8 88

 

 

 

DEY

 

 

2763

F2B9 10

D9

 

 

BPL OUTTA2

;ALL BITS ?

2764

F2BB 4C

8B

F2

 

JMP ROUT1

;RESTORE REGS

2765

F2BE EA

 

 

 

NOP

 

 

2766

F2BF EA

 

 

 

NOP

 

 

2767

F2C0

 

 

 

 

 

 

 

2768

F2C0

 

 

 

;SET SPEED FROM NORMAL TO 3 TIMES NORMAL

2769

F2C0 AD

08

A4

SETSPD LDA TSPEED

;SPEED FLG

2770

F2C3 6A

 

 

 

ROR A

;NORMAL OR 3* NORM

 

 

 

 

 

 

 

 

 

Image 184
Contents Apple II Original ROM Information Data Qjjj0005A0 FDA9A920 EDFDA98D 4CEDFDA9 8D4CEDFD Page Page Page JI@ Page 001AC0 FFFFE1E1 EFEEE7E8 EEE7F3FB FBEEE1EF 001AA0 F3FFE8E1 E8E8EFEB FFFFE0FF Ffefeeef001AE0 E8EEE7E8 Efefeeef Eeefeeee Efeeeeee 001DB0 9CDD9CDE DD9EC3DD Cfcacdcb 00479AAD 001FB0 Ffffffff FFFF2071 E14CBFEF 2003EEA9 Page DDBAF9F0 0DBDBAF9 FA60FFFF02E61FBD JJJ 60FFFFFF .JJAEAEA8AD Page Page Return Page System Monitor Copyright LOC0LOC1 BaslMask INY NO, INC Index X-COORD LDY PCH PRMN1 LDA FMT1 DFB Format Above EOR STA A3H FAE2 A2 FB Tabv STA Vtabs to ROW in A-REG STA Bash BCC Clreol Clear to END of Line NXTA4 INC A4L Incr 2-BYTE A4 STA BASL,Y Replace Flashing Screen Fdad A5 3C LT2 LDA A2L,X Copy A2 2 Bytes to Ioprt LDA A2L SET RAM IN/OUT Vectors BCC RD3 Loop Until Done STA A3H,X DFB LIST-1 FFF3 CC Save BRTBL,XLSR Prepare Carry for BC, BNC Stat LDA R0L JSR STAT2 Push LOW PC Byte VIA R12 LDA IN,Y CMPBNE Nomove JSRMloop DCRBNZ Mloop RTNINR BNCBNZ BM1Example Load IndirectStore Indirect Load DOUBLE-BYTE IndirectPOP Indirect Store DOUBLE-BYTE IndirectStore POP Indirect Subtract ACCPOP DOUBLE-BYTE Indirect Compare BF A0 SET $A0BFLOOP1 SUB BNC LOOP1Return to 6502 Mode DecrementLOOP2 BNZ LOOP2Branch if no Carry Branch if Carry SETBranch if Plus LOOP3 SUBBranch if Minus ONE Branch if not Minus ONEBreak Return from Sweet 16 SubroutineSTA IND+1 LDA OPTBL,X LDA #ADRHSTA IND JMP Page Page Sweet 16 Introduction Page Source DSP Print Dbload Sweet REM Ctrl DInput Enter String a $ , a $ NVAPoke 776 , a REM Poke Destination Print Print GotoCall -605 Return REM XAM8 in Monitor SweetMINI-ASSEMBLER BaumMneml MnemrSBC PCL Form ADDR-PC-2 JSR Cout Position FORM7 STX A1H Save Index ORG CLCSTA BNENorm LDA EXP1 ZERO? Shift Dividend Left Floating Point Package Floating Point Representation LOWStored High LOW EXP MantissaFloating Point Representation Examples Number Exponent MantissaFloating Point Subroutine Descriptions Page Page Page Page STY Init MANT1 LDY STYCalling Sequence HIGH-ORDERPage Page Page Page Page Page Mmmmmmmm SeeeeeeeFsub ORG SET Base page Adresses STA X2,X Common LOG of MANT/EXP1 Result in MANT/EXP1 Ovflw BRK Overflow 1EBB STA X2,X Load EXP/MANT2 with Z 1EBD DEX 1EBE BPL LF3 YES,RETURN with MANT1 Normalized Right Shift MANT1 or Swap with MANT2 on CarryCMP AddendNormx BCC Norm If EXEN, Normalize PRODUCT, Else Complement LDX Load X for High Byte of Exponent Errata for Rankins Floating Point RoutinesLDA STA LOG FaddFsub FmulPage Mantissa MOD 9/76 Load X for Later M2MHL Contin 1EAD LFA LDA Z,X L2E DCM Mdend RTLOG1Normx Object Code Dump Page Tapdel HsbdryToutfl LstcomOutvec Urcvec=UBRKVC =UIRQVCTAX ADCORA Stocom STABPL HASHUS+2 Restore Except A,F BEQ STXCPX JMPExwrap RTS Chksad PHPOutxah PHA TXANibasc and #$0F Nibble in a to Ascii in a BCS INST1 RTI Ldbyte JSR Inbyte Verify MEM E1PARM JMP STD2 MORED2 LDY JSR Brtt INC Ercnt UP to FF MEM3EX CLC SBC P3L BNE Exitgk Ksconf LDA Txtmov LDA BNE INRT2 Outone Dftxfr LDX Newdev LDALDA Toutfl 8BFF 0D Msfirst Ddrdig BufadhLOADT2 STA Mode BNE Lcerr Last Char not Kgettr LDA H8DFF BCC PACKT3 Dumpt DUMPT1 TXADMPT1A LDA DUMPT4 LDYOutbth LDX Register Name Patch Outcht STXHS Tape Boundary Rockwell International UdrahUddra NowlnOldlen LengthMovad TMASK1 =MOVADCurpos ChecksumTabuff TABUF2Write Edge Detect Control not Used Because KB CRB EQSDB TO,EQS CFD2A0A0A0A0SEI Disable Interrupt RS6 JSR Crlow Clear Display E1AC Have Valid Command Nxtadd TYA Space CommFor LOAD1A LDALOADK5 LDX JMP LOADK5 Next E46A EE INC Bkflg SET FLG Outcks LDA OUTCK1 PHADumpta LDX DUMPT1 LDAE5EA TOGTA1 LDA TOGTA2 LDA BCC JD3 MSG Whereo LDY ANY Other CPYSTA Outflg Output PHA Outall PHAROL Priflg Restore FLG Wrax JSR Numa EAA3 CA DEX Memerr JSR STA STIY+2 Dehalf LDA EC5E 4A LSR Only ROW Onekey LDA Debkey LDXED3B GET a Char from Tape Subroutine Edba LSR Cpiy Make Room for MSB Outtty PHA OUTD2A TXA OUTD1A CPXOUTDD1 PHA LDA First Chip Select Prndot LDA LDA #PRTIME/256 Start T2 for 1.7 Msec BIT Imask See if DOT is SET NEW Print ROW Newcol LDACkbuff LDA Bkcksm LDAOUTTA1 PHA OUTTA2 LDXF2E1 3E7E7F3E7F7FCOL0 Zero Leftmost ColumnDB BGYU76HN Rtmode Getfmt TAXMNNDX1 LSR MNNDX2 LSRPLA PRADR2 LDAPRADR4 DEX BPL PCADJ4 AIM Text Editor LDA END+1 CMP with END AF E7 JMP KEP RUB COMMAND-FIND String JMP CHN1 See if WE RAN Past END of Buffer Limit BEQ REP2 SBC Oldlen GOGO1 RTS FB46 8A9AAABACADA ROM TableStartm JSR Rdaddr LDY Tryjmp LDA IMMED1 LDXBrnchc JMP OPCMP1 LDAConvrt LDA Brcomp LDA FORMD2 LDXCompbr LDX Backwd LDA Forwrd LDAMATCH1 JMP Curead TXAPATCH4 LDX CURPO2 Dont do Anything if 8D PATC15 JSR Crlf Decode Command Addblk ADDS1ABkcksm BrcompCRA Goerr Namo E8CF NAMO1 RD2 EA5D RD1 AIM 65 Microcomputer Monitor Program Listing E6ACAIM 65 Microcomputer Basic Language Reference Manual Table of ContentsIntroduction Installing Basic in the AIM ROM Installation Procedure Entering BasicMemory SIZE? WIDTH?Exiting Basic Reentering BasicBasic Cursor Printer ControlASC Getting Started with Basic Basic Command SETCHR$ Direct and Indirect Commands Direct Commands Indirect CommandsOperating on Programs and Lines Listing a ProgramDeleting a Line Replacing a LineDeleting a Program List Printing DataNumber Format Print ONE Half Equals 1/2Number Output Format Input R Variables Assigning Variables with AN Input StatementVariable Names Print A, A*2 LET Z=7 Print Z, Z-A PSTG$Reserved Words Program Using Relations RemarksRelational Tests Input BLooping Square Root ProgramAN Improved Square Root Program Print NsqrnAnother Square Root Program Print Nsqrn Next NCOUNT-BACKWARD Program Some Other Looping OperationsPrint What is the Number Print I,J Next Next JMatrix Operations Sort ProgramPrint BAD GUESS, TRY Again Restore Input NPrint Must be Integer Stopping a ProgramStrings $=ROCKWELL R6500 Print A$ Rockwell R6500LEN Function Print LENA$,LENMICROCOMPUTERRIGHT$ Function MID$ FunctionPrint B$ Basic for Rockwell R6500 Print C$ Basic FOR-ROCKWELL-R6500 VAL and Strs FunctionsCHR$ Function Data AIM 65,DOGAdditional String Considerations Name Example PURPOSE/USE DIMInput Input X$ Print Print X$Operators Symbol Sample Statement ESCCntl Print Print X/1.3Negation Symbol Sample Statement PURPOSE/USERelational Operators Not If not Q3 then Operator Argument Result NotCommands Print Intruder AlertAlert Statement SYNTAX/FUNCTION Example ClearStatement SYNTAX/FUNCTION FRE Statement SYNTAX/FUNCTION ListStatement SYNTAX/FUNCTION Load Statement SYNTAX/FUNCTION NEWStatement SYNTAX/FUNCTION Example RUN Statement SYNTAX/FUNCTION Example SaveProgram Statements Statement SYNTAX/FUNCTION Example DEFStatement SYNTAX/FUNCTION END Statement SYNTAX/FUNCTION DIMStatement SYNTAX/FUNCTION For Statement SYNTAX/FUNCTION Gosub Statement SYNTAX/FUNCTION GotoStatement SYNTAX/FUNCTION IF...GOTO Statement SYNTAX/FUNCTION IF...THENIf X0 then Print ERROR, X Negative Goto Example Statement SYNTAX/FUNCTION LETStatement SYNTAX/FUNCTION Next Statement SYNTAX/FUNCTION ON...GOSUBStatement SYNTAX/FUNCTION Restore Symbol SYNTAX/FUNCTION WaitExample Restore Return Statement SYNTAX/FUNCTION ReturnStatement SYNTAX/FUNCTION Input Statement SYNTAX/FUNCTION POSStatement SYNTAX/FUNCTION Print Print Value ISAStatement SYNTAX/FUNCTION Read Statement SYNTAX/FUNCTION SPCStatement SYNTAX/FUNCTION TAB String Functions Statement SYNTAX/FUNCTION ASCStatement SYNTAX/FUNCTION LEFT$ Statement SYNTAX/FUNCTION LENStatement SYNTAX/FUNCTION MID$ Statement SYNTAX/FUNCTION RIGHT$Arithmetic Functions Statement SYNTAX/FUNCTION ABS Statement SYNTAX/FUNCTION ATNStatement SYNTAX/FUNCTION COS Statement SYNTAX/FUNCTION EXPStatement SYNTAX/FUNCTION Example SGN Print SgnxStatement SYNTAX/FUNCTION Example SIN Print Sinx?XX Error Error MessagesInverse Hyperbolic Secant Space Hints TAB, SPCPRINTX,Y,Z Storage Allocation Information Speed HintsThis is Probably the Most Important Speed Hint Converting Basic Programs not Written for AIM 65 BasicOLD AIM OLDAssembly Language Subroutines Ascii Character Codes DecimalNUL SOHAddress Content $AEInputnumbern PrintxRUN NUMBER? Recording on Cassette Using the Basic Save CommandStoring AIM 65 Basic Programs on Cassette Cassette Operations Using the AIM 65 Editor OUT=T F=OUT=T F=FNAME T= IN=ATN Implementation Entered by Alter Memory MOF9C 0FACWIDTH? Bytes Free AIM 65 Basic Saving ATN Object Code on Cassette
Related manuals
Manual 19 pages 1.54 Kb

II specifications

The Apple II, launched in April 1977, was one of the first highly successful mass-produced microcomputer products. It marked a significant leap in personal computing, setting standards for future developments in the industry. Created by Steve Wozniak and Steve Jobs, the Apple II differentiated itself with its user-friendly design, appealing aesthetics, and robust capabilities.

One of the standout features of the Apple II was its open architecture, which allowed users to expand and enhance the computer's functionality. This design enabled hundreds of third-party hardware and software developers to contribute to its ecosystem, resulting in an array of peripherals, including printers, modems, and storage devices. The Apple II utilized a MOS Technology 6502 microprocessor running at a clock speed of 1 MHz. Initially equipped with 4 KB of RAM, the machine could be expanded to 48 KB, accommodating more complex applications and programs.

The Apple II was also notable for its colorful graphics. It was one of the first computers to support color display, offering a 6-color palette with a resolution of 280x192 pixels in 16 colors when using its Color Graphics Card. This feature significantly enhanced the visual appeal of games and educational software developed for the platform, making computing more accessible and entertaining for various audiences.

Apple's commitment to user experience was evident in the design of the machine. It featured an integrated keyboard and a plastic case, which was both durable and visually appealing. The self-contained design included drive bays for floppy disk drives, allowing for quicker data access than traditional tape drives. It also supported audio output, enabling sound effects and music, a novelty at the time.

The introduction of the Apple DOS operating system further underscored the machine's capabilities. DOS streamlined file management and made it easier for users to navigate and manage their data. The combination of hardware and software positioned the Apple II as an educational tool and a gaming platform, fostering a vibrant software ecosystem.

The Apple II family continued to evolve, with variations like the Apple II+, IIe, and IIgs being introduced over the years. These iterations brought enhancements in memory, processing power, and graphics capabilities. The legacy of the Apple II endures, not only as a foundational product in personal computing but also as a symbol of innovation that paved the way for future advancements in technology. Its impact is still felt today, as it inspired countless developers and shaped the trajectory of the computer industry.