Apple II manual NEW Print ROW, Newcol LDA

Page 182

2585

F15D DE

74

A4

OP06

DEC IDIR,X

;DIRECTION <= $FF (-)

2586

F160

 

 

 

 

 

 

 

2587

F160

 

 

 

;START

OF NEW PRINT ROW

 

2588

F160

1E

7C

A4

NEWROW

ASL

IMASK,X

;UPDATE ROW MASK FOR DOT PATTERNS

2589

F163

 

 

 

;START

OF NEW PRINT COLUMN

2590

F163

A9

00

 

NEWCOL LDA

#0

;CLEAR OUTPUT PATTERN

2591

F165

9D

78

A4

 

STA

IOUTL,X

;PATTERN FOR 8 RIGHT CHRS

2592

F168

9D

79

A4

 

STA

IOUTU,X

;PATTERN FOR 2 LEFT SOLEN

2593

F16B 9D

7B

A4

 

STA

IBITU,X

;OUTPUT MSK FOR LEFTMOST SOLEN

2594

F16E A9

01

 

 

LDA

#1

 

2595

F170

9D

7A

A4

 

STA

IBITL,X

;OUTPUT MSK FOR RIGHTMOST SOLEN

2596

F173

 

 

 

;GET ADDRESS OF DOT PATTERN TABLE FOR NEXT COLUMN

2597

F173

BD

75

A4

 

LDA ICOL,X

;GET COLUMN NUMBER (0-4)

2598

F176

0A

 

 

 

ASL A

;*2 ,INDEX INTO TBL OF TBL ADDRS

2599

F177

A8

 

 

 

TAY

 

 

2600

F178

B9

D7

F2

 

LDA MTBL,Y

;LSB OF ADDR OF TABLE

2601

F17B 9D

7D

A4

 

STA JUMP,X

;PTR TO TBL WITH DOT PATTERNS

2602

F17E B9

D8

F2

 

LDA MTBL+1,Y

;MSB OF TABLE ADDRESS

2603

F181

9D

7E

A4

 

STA

JUMP+1,X

 

2604

F184

A9

12

 

 

LDA

#18

;COMPUTE INDEX INTO PRNTR BUFFER

2605

F186

1D

76

A4

 

ORA IOFFST,X

;+1 IF RIGHT CHR

2606

F189

AA

 

 

 

TAX

 

 

2607

F18A 60

 

 

 

RTS

 

 

2608

F18B

 

 

 

 

 

 

 

2609

F18B

 

 

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

2610

F18B

 

 

 

;OUTPUT ACC TO TAPE BUFFER SUBROUTINE

2611

F18B

 

 

 

; & WHEN FULL OUTPUT BUFF TO TAPE.

2612

F18B

 

 

 

; IF INFLG=OUTFLG= T USE TWO BUFFERS

2613

F18B

 

 

 

;OTHERWISE

USE SAME BUFFER FOR INPUT

2614

F18B

 

 

 

;AND OUTPUT (MONIT BUFFER)

2615

F18B 20

9E

EB

TOBYTE JSR PHXY

;SAVE X

2616

F18E AE

37

A4

 

LDX TAPTR2

;TAPE BUFFER POINTER FOR OUTPUT

2617

F191

20

0F

F2

 

JSR BKCK2

;STORE IN BUFFER

2618

F194

E8

 

 

 

INX

 

 

2619

F195

8E

37

A4

 

STX TAPTR2

;FOR NEXT

2620

F198

E0

50

 

 

CPX #80

;BUFFER FULL?

2621

F19A D0

32

 

 

BNE TABY3

;NO , GO BACK

2622

F19C

 

 

 

;OUTPUT A BLOCK FROM BUFFER TO TAPE

2623

F19C 20

E7

F1

 

JSR BKCKSM

;COMPUT BLOCK CHECKSUM

2624

F19F 20

1D

F2

 

JSR TAOSET

;SET TAPE FOR OUTPUT

2625

F1A2 A9

23

 

 

LDA #'#'

;CHAR FOR BEGINNING

2626

F1A4 20

4A

F2

 

JSR OUTTAP

;OF BLOCK

2627

F1A7

 

 

 

;OUTPUT CHRS FROM ACTIVE BUFFER

2628

F1A7 20

D2

F1

TABY2

JSR CKBUFF

;LOAD CHR FROM ACTIVE BUFFER

2629

F1AA 20

4A

F2

 

JSR OUTTAP

; FROM BUFFER

2630

F1AD E8

 

 

 

INX

 

 

2631

F1AE E0

53

 

 

CPX #83

;2 BLOCK CKSUM CHR + 1 EXTRA CHR..

2632

F1B0 D0

F5

 

 

BNE TABY2

;OTHERWISE ERROR

2633

F1B2 AD

00

A8

 

LDA

DRB

 

2634

F1B5 29

CF

 

 

AND

#$CF

;TURN TAPES OFF PB5,PB4

2635

F1B7 8D

00

A8

 

STA

DRB

 

2636

F1BA 58

 

 

 

CLI

 

;ENABLE INTERRUPT

2637

F1BB A9

00

 

 

LDA

#0

 

2638

F1BD 8D

37

A4

 

STA

TAPTR2

;CLR TAPE BUFF PTR

2639

F1C0 A9

00

 

 

LDA

#T1I

;RESET FREE RUNNING TO 1 SHOT

2640

F1C2 8D

0B

A8

 

STA

ACR

 

2641

F1C5 20

9A

FF

 

JSR

PAT22

;ADD 1 TO BLK COUNT & OUTPUT

2642

F1C8 AD

68

01

 

LDA

BLKO

;PUT BLK CNT IN FIRST LOC (TABUFF)

2643

F1CB 20

8B

F1

 

JSR

TOBYTE

 

2644

F1CE 20

AC EB

TABY3

JSR

PLXY

 

2645

F1D1 60

 

 

 

RTS

 

 

2646

F1D2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Image 182
Contents Apple II Original ROM Information Data Qjjj0005A0 FDA9A920 EDFDA98D 4CEDFDA9 8D4CEDFD Page Page Page JI@ Page 001AE0 E8EEE7E8 Efefeeef Eeefeeee Efeeeeee 001AA0 F3FFE8E1 E8E8EFEB FFFFE0FF Ffefeeef001AC0 FFFFE1E1 EFEEE7E8 EEE7F3FB FBEEE1EF 001DB0 9CDD9CDE DD9EC3DD Cfcacdcb 00479AAD 001FB0 Ffffffff FFFF2071 E14CBFEF 2003EEA9 Page 02E61FBD JJJ DDBAF9F0 0DBDBAF9FA60FFFF 60FFFFFF .JJAEAEA8AD Page Page Return Page LOC1 System Monitor CopyrightLOC0 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 BNE Nomove LDA IN,YCMP JSRBNZ Mloop MloopDCR RTNBNZ INRBNC BM1Store Indirect ExampleLoad Indirect Load DOUBLE-BYTE IndirectStore POP Indirect Store DOUBLE-BYTE IndirectPOP Indirect POP DOUBLE-BYTE Indirect ACCSubtract LOOP1 SUB CompareBF A0 SET $A0BF BNC LOOP1LOOP2 Return to 6502 ModeDecrement BNZ LOOP2Branch if Plus Branch if no CarryBranch if Carry SET LOOP3 SUBBreak Branch if Minus ONEBranch if not Minus ONE Return from Sweet 16 SubroutineSTA IND JMP LDA #ADRHSTA IND+1 LDA OPTBL,X Page Page Sweet 16 Introduction Page Source Input Enter String a $ , a $ DSPPrint Dbload Sweet REM Ctrl D NVACall -605 Return REM XAM8 in Monitor Poke 776 , a REM Poke DestinationPrint Print Goto SweetMneml MINI-ASSEMBLERBaum MnemrSBC PCL Form ADDR-PC-2 JSR Cout Position FORM7 STX A1H Save Index STA ORGCLC BNENorm LDA EXP1 ZERO? Shift Dividend Left Floating Point Package Floating Point Representation LOWFloating Point Representation Examples StoredHigh LOW EXP Mantissa Number Exponent MantissaFloating Point Subroutine Descriptions Page Page Page Page Calling Sequence STY Init MANT1 LDYSTY HIGH-ORDERPage Page Page Page Page Page Fsub SeeeeeeeMmmmmmmm 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 CMP YES,RETURN with MANT1 NormalizedRight Shift MANT1 or Swap with MANT2 on Carry AddendNormx BCC Norm If EXEN, Normalize PRODUCT, Else Complement LDA STA Errata for Rankins Floating Point RoutinesLDX Load X for High Byte of Exponent Fsub LOGFadd FmulPage Mantissa MOD 9/76 Load X for Later M2MHL Contin 1EAD LFA LDA Z,X L2E DCM Normx RTLOG1Mdend Object Code Dump Page Toutfl TapdelHsbdry Lstcom=UBRKVC OutvecUrcvec =UIRQVCTAX ADCORA Stocom STABPL HASHUS+2 Restore Except A,F CPX BEQSTX JMPOutxah PHA Exwrap RTSChksad PHP 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 LOADT2 BufadhDdrdig STA Mode BNE Lcerr Last Char not Kgettr LDA H8DFF BCC PACKT3 DMPT1A LDA DumptDUMPT1 TXA DUMPT4 LDYOutbth LDX Register Name Patch Outcht STXHS Tape Boundary Uddra Rockwell InternationalUdrah NowlnMovad OldlenLength TMASK1 =MOVADTabuff CurposChecksum 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 OUTDD1 PHA OUTD1A CPXOUTD2A TXA 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 MNNDX1 LSR RtmodeGetfmt TAX MNNDX2 LSRPRADR4 DEX PRADR2 LDAPLA 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 Startm JSR ROM TableFB46 8A9AAABACADA Rdaddr LDY Tryjmp LDA IMMED1 LDXConvrt LDA OPCMP1 LDABrnchc JMP Compbr LDX FORMD2 LDXBrcomp LDA Backwd LDA Forwrd LDAMATCH1 JMP Curead TXAPATCH4 LDX CURPO2 Dont do Anything if 8D PATC15 JSR Crlf Decode Command Bkcksm AddblkADDS1A BrcompCRA Goerr Namo E8CF NAMO1 RD2 EA5D RD1 AIM 65 Microcomputer Monitor Program Listing E6ACIntroduction Table of ContentsAIM 65 Microcomputer Basic Language Reference Manual Memory SIZE? Installing Basic in the AIM ROM Installation ProcedureEntering Basic WIDTH?Basic Cursor Exiting BasicReentering Basic Printer ControlCHR$ Getting Started with Basic Basic Command SETASC Operating on Programs and Lines Direct and Indirect Commands Direct CommandsIndirect Commands Listing a ProgramDeleting a Program Deleting a LineReplacing a Line List Printing DataNumber Output Format Print ONE Half Equals 1/2Number Format Variable Names Variables Assigning Variables with AN Input StatementInput R Reserved Words PSTG$Print A, A*2 LET Z=7 Print Z, Z-A Relational Tests Program Using RelationsRemarks Input BAN Improved Square Root Program LoopingSquare Root Program Print NsqrnCOUNT-BACKWARD Program Another Square Root ProgramPrint Nsqrn Next N Some Other Looping OperationsMatrix Operations Print What is the NumberPrint I,J Next Next J Sort ProgramPrint Must be Integer Print BAD GUESS, TRY Again RestoreInput N Stopping a ProgramLEN Function Strings$=ROCKWELL R6500 Print A$ Rockwell R6500 Print LENA$,LENMICROCOMPUTERRIGHT$ Function MID$ FunctionCHR$ Function Print B$ Basic for Rockwell R6500Print C$ Basic FOR-ROCKWELL-R6500 VAL and Strs Functions Data AIM 65,DOGInput Input X$ Additional String ConsiderationsName Example PURPOSE/USE DIM Print Print X$Cntl Print Operators Symbol Sample StatementESC Print X/1.3Relational Operators Symbol Sample Statement PURPOSE/USENegation Not If not Q3 then Operator Argument Result NotAlert CommandsPrint Intruder Alert Statement SYNTAX/FUNCTION Example ClearStatement SYNTAX/FUNCTION Load Statement SYNTAX/FUNCTION FREStatement SYNTAX/FUNCTION List Statement SYNTAX/FUNCTION NEWProgram Statements Statement SYNTAX/FUNCTION Example RUNStatement SYNTAX/FUNCTION Example Save Statement SYNTAX/FUNCTION Example DEFStatement SYNTAX/FUNCTION For Statement SYNTAX/FUNCTION DIMStatement SYNTAX/FUNCTION END Statement SYNTAX/FUNCTION IF...GOTO Statement SYNTAX/FUNCTION GosubStatement SYNTAX/FUNCTION Goto Statement SYNTAX/FUNCTION IF...THENStatement SYNTAX/FUNCTION Next If X0 then Print ERROR, X Negative Goto ExampleStatement SYNTAX/FUNCTION LET Statement SYNTAX/FUNCTION ON...GOSUBExample Restore Return Statement SYNTAX/FUNCTION RestoreSymbol SYNTAX/FUNCTION Wait Statement SYNTAX/FUNCTION ReturnStatement SYNTAX/FUNCTION Print Statement SYNTAX/FUNCTION InputStatement SYNTAX/FUNCTION POS Print Value ISAStatement SYNTAX/FUNCTION TAB Statement SYNTAX/FUNCTION ReadStatement SYNTAX/FUNCTION SPC String Functions Statement SYNTAX/FUNCTION ASCStatement SYNTAX/FUNCTION MID$ Statement SYNTAX/FUNCTION LEFT$Statement SYNTAX/FUNCTION LEN Statement SYNTAX/FUNCTION RIGHT$Statement SYNTAX/FUNCTION COS Arithmetic Functions Statement SYNTAX/FUNCTION ABSStatement SYNTAX/FUNCTION ATN Statement SYNTAX/FUNCTION EXPStatement SYNTAX/FUNCTION Example SIN Statement SYNTAX/FUNCTION Example SGNPrint Sgnx Print SinxInverse Hyperbolic Secant Error Messages?XX Error PRINTX,Y,Z TAB, SPCSpace Hints Storage Allocation Information Speed HintsOLD AIM This is Probably the Most Important Speed HintConverting Basic Programs not Written for AIM 65 Basic OLDNUL Assembly Language SubroutinesAscii Character Codes Decimal SOHInputnumbern Address Content$AE PrintxStoring AIM 65 Basic Programs on Cassette Recording on Cassette Using the Basic Save CommandRUN NUMBER? OUT=T F=FNAME T= Cassette Operations Using the AIM 65 EditorOUT=T F= IN=OF9C ATN ImplementationEntered by Alter Memory M 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.