Apple II manual BIT Imask See if DOT is SET

Page 181

2523

F0F0 20

58

EB

 

JSR

LDAY

 

2524

F0F3 2C

7C

A4

 

BIT

IMASK

;SEE IF DOT IS SET

2525

F0F6 F0

16

 

 

BEQ

IPS2

;NO SO GO ON TO NEXT CHAR

2526

F0F8 AD

7A

A4

 

LDA

IBITL

;DOT ON SO SET THE CURR SOLENOID

2527

F0FB F0

08

 

 

BEQ

IPS3

;LSB OF SOL MASK IS 0 , DO MSB

2528

F0FD 0D

78

A4

 

ORA

IOUTL

;SET THE SOLENOID IN THE PATTERN

2529

F100

8D

78

A4

 

STA

IOUTL

 

2530

F103

D0

09

 

 

BNE

IPS2

;BRANCH ALWAYS

2531

F105

AD

7B

A4

IPS3

LDA

IBITU

;SOLENOID IS ONE OF THE 2 MSD

2532

F108

0D

79

A4

 

ORA

IOUTU

;SET THE BIT IN THE PATTERN

2533

F10B 8D

79

A4

 

STA

IOUTU

 

2534

F10E 0E

7A

A4

IPS2

ASL

IBITL

;SHIFT MSK TO NXT CHR POSITION

2535

F111

2E

7B

A4

 

ROL

IBITU

 

2536

F114

CA

 

 

 

DEX

 

;DECR PTR INTO BUFFER

2537

F115

CA

 

 

 

DEX

 

 

2538

F116

10

D0

 

 

BPL IPS1

;NOT END YET

2539

F118

 

 

 

;SOLENOID PATTERN IS SET UP IN IOUTU,IOUTL

2540

F118

AD

79

A4

 

LDA IOUTU

;LEFTMOST 2

2541

F11B 29

03

 

 

AND #$03

;DISABLE FOR SEGMENTS

2542

F11D 8D

79

A4

 

STA

IOUTU

 

2543

F120

60

 

 

 

RTS

 

 

2544

F121

 

 

 

 

 

 

 

2545

F121

 

 

 

; SUBROUTINE INCP

 

2546

F121

 

 

 

;THIS SUBROUTINE IS USED TO UPDATE THE PRINTER VARIABLES

2547

F121

 

 

 

;TO POINT TO THE NEXT DOT POSITION TO BE PRINTED

2548

F121

 

 

 

;X REG IS USED TO POINT TO THE VARIABLE BLOCK OF

2549

F121

 

 

 

;BEING UPDATED

 

2550

F121

 

 

 

;ON EXIT X

CONTAINS THE POINTER TO THE LAST CHARACTER IN

2551

F121

 

 

 

;THE PRINT

BUFFER

 

2552

F121

 

 

 

;CONTENTS OF A,Y ON EXIT ARE ARBITRARY

2553

F121

BD

74

A4

INCP

LDA IDIR,X

;EXAMINE DIRECTION(+ OR -)

2554

F124

10

1E

 

 

BPL OP03

;DIRECTION = +

2555

F126

 

 

 

;*DIRECTION = -

 

2556

F126

BD

75

A4

 

LDA ICOL,X

;SEE WHAT THE COLUMN IS

2557

F129

F0

05

 

 

BEQ OP04

;COLUMN = 0 SO END OF DIGIT

2558

F12B

 

 

 

;**COLUMN # 0 SO JUST DECREMENT COLUMN

2559

F12B DE

75

A4

 

DEC

ICOL,X

 

2560

F12E 10

33

 

 

BPL

NEWCOL

;BRANCH ALWAYS

2561

F130

 

 

 

;**COLUMN = 0 SO SEE IF EVEN OR ODD DIGIT

2562

F130

BD

76

A4

OP04

LDA

IOFFST,X

 

2563

F133

F0

0A

 

 

BEQ

OP07

;OFFSET = 0 SO DIRECTION CHANGE

2564

F135

 

 

 

;***OFFSET

= 1 SO MOVE

TO RIGHT DIGIT

2565

F135

DE

76

A4

 

DEC

IOFFST,X

;OFFSET <= 0 (LEFT CHARACTER)

2566

F138

A9

04

 

 

LDA

#4

;COLUMN <= 4

2567

F13A 9D

75

A4

 

STA

ICOL,X

 

2568

F13D 10

24

 

 

BPL

NEWCOL

;BRANCH ALWAYS

2569

F13F

 

 

 

;***OFFSET

= 0 SO CHANGE DIRECTION TO +

2570

F13F FE

74

A4

OP07

INC

IDIR,X

;DIRECTION <= $00 (+)

2571

F142

10

1C

 

 

BPL

NEWROW

;BRANCH ALWAYS

2572

F144

 

 

 

;*DIRECTION = +

 

2573

F144

BD

75

A4

OP03

LDA ICOL,X

;SEE IF LAST COLUMN IN DIGIT

2574

F147

C9

04

 

 

CMP

#4

 

2575

F149

F0

05

 

 

BEQ

OP05

;COLUMN = 4 SO GO TO NEXT DIGIT

2576

F14B FE

75

A4

 

INC

ICOL,X

;JUST INCR COLUMN-NOT END OF DIGIT

2577

F14E 10

13

 

 

BPL NEWCOL

;BRANCH ALWAYS

2578

F150

 

 

 

;**AT COLUMN 4 -- SEE IF LEFT OR RIGHT DIGIT

2579

F150

BD

76

A4

OP05

LDA

IOFFST,X

 

2580

F153

D0

08

 

 

BNE

OP06

;OFFSET # 0 SO RIGHT DIGIT

2581

F155

9D

75

A4

 

STA

ICOL,X

;COLUMN <= 0

2582

F158

FE

76

A4

 

INC

IOFFST,X

;OFFSET <= 1 (RIGHT CHARACTER)

2583

F15B 10

06

 

 

BPL

NEWCOL

;BRANCH ALWAYS

2584

F15D

 

 

 

;***OFFSET

= 1 SO DIRECTION CHANGE

 

 

 

 

 

 

 

 

 

Image 181
Contents Apple II Original ROM Information Qjjj Data0005A0 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 FA60FFFF DDBAF9F0 0DBDBAF902E61FBD JJJ 60FFFFFF .JJAEAEA8AD Page Page Return Page LOC0 System Monitor CopyrightLOC1 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 BRTBL,X SaveLSR Prepare Carry for BC, BNC Stat LDA R0L JSR STAT2 Push LOW PC Byte VIA R12 CMP LDA IN,YBNE Nomove JSRDCR MloopBNZ Mloop RTNBNC INRBNZ BM1Load Indirect ExampleStore Indirect Load DOUBLE-BYTE IndirectPOP Indirect Store DOUBLE-BYTE IndirectStore POP Indirect Subtract ACCPOP DOUBLE-BYTE Indirect BF A0 SET $A0BF CompareLOOP1 SUB BNC LOOP1Decrement Return to 6502 ModeLOOP2 BNZ LOOP2Branch if Carry SET Branch if no CarryBranch if Plus LOOP3 SUBBranch if not Minus ONE Branch if Minus ONEBreak Return from Sweet 16 SubroutineSTA IND+1 LDA OPTBL,X LDA #ADRHSTA IND JMP Page Page Sweet 16 Introduction Page Source Print Dbload Sweet REM Ctrl D DSPInput Enter String a $ , a $ NVAPrint Print Goto Poke 776 , a REM Poke DestinationCall -605 Return REM XAM8 in Monitor SweetBaum MINI-ASSEMBLERMneml MnemrSBC PCL Form ADDR-PC-2 JSR Cout Position FORM7 STX A1H Save Index CLC ORGSTA BNENorm LDA EXP1 ZERO? Shift Dividend Left Floating Point Representation LOW Floating Point PackageHigh LOW EXP Mantissa StoredFloating Point Representation Examples Number Exponent MantissaFloating Point Subroutine Descriptions Page Page Page Page STY STY Init MANT1 LDYCalling 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 Right Shift MANT1 or Swap with MANT2 on Carry YES,RETURN with MANT1 NormalizedCMP AddendNormx BCC Norm If EXEN, Normalize PRODUCT, Else Complement LDX Load X for High Byte of Exponent Errata for Rankins Floating Point RoutinesLDA STA Fadd LOGFsub FmulPage Mantissa MOD 9/76 Load X for Later M2MHL Contin 1EAD LFA LDA Z,X L2E DCM Mdend RTLOG1Normx Object Code Dump Page Hsbdry TapdelToutfl LstcomUrcvec Outvec=UBRKVC =UIRQVCADC TAXStocom STA ORABPL HASHUS+2 Restore Except A,F STX BEQCPX JMPChksad PHP Exwrap RTSOutxah 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 Newdev LDA Dftxfr LDXLDA Toutfl 8BFF 0D Msfirst Ddrdig BufadhLOADT2 STA Mode BNE Lcerr Last Char not Kgettr LDA H8DFF BCC PACKT3 DUMPT1 TXA DumptDMPT1A LDA DUMPT4 LDYOutbth LDX Outcht STX Register Name PatchHS Tape Boundary Udrah Rockwell InternationalUddra NowlnLength OldlenMovad TMASK1 =MOVADChecksum CurposTabuff TABUF2Write Edge Detect Control not Used Because KB EQS CRBCFD2A0A0A0A0 DB TO,EQSSEI Disable Interrupt RS6 JSR Crlow Clear Display E1AC Have Valid Command Space Comm Nxtadd TYALOAD1A LDA ForLOADK5 LDX JMP LOADK5 Next E46A EE INC Bkflg SET FLG OUTCK1 PHA Outcks LDADUMPT1 LDA Dumpta LDXE5EA TOGTA1 LDA TOGTA2 LDA BCC JD3 MSG Whereo LDY CPY ANY OtherSTA Outflg Outall PHA Output PHAROL Priflg Restore FLG Wrax JSR Numa EAA3 CA DEX Memerr JSR STA STIY+2 Dehalf LDA EC5E 4A LSR Only ROW Debkey LDX Onekey LDAED3B 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 Newcol LDA NEW Print ROWBkcksm LDA Ckbuff LDAOUTTA2 LDX OUTTA1 PHAZero Leftmost Column F2E1 3E7E7F3E7F7FCOL0DB BGYU76HN Getfmt TAX RtmodeMNNDX1 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 IMMED1 LDX Tryjmp LDABrnchc JMP OPCMP1 LDAConvrt LDA Brcomp LDA FORMD2 LDXCompbr LDX Forwrd LDA Backwd LDACuread TXA MATCH1 JMPPATCH4 LDX CURPO2 Dont do Anything if 8D PATC15 JSR Crlf Decode Command ADDS1A AddblkBkcksm BrcompCRA Goerr Namo E8CF NAMO1 RD2 EA5D RD1 E6AC AIM 65 Microcomputer Monitor Program ListingAIM 65 Microcomputer Basic Language Reference Manual Table of ContentsIntroduction Entering Basic Installing Basic in the AIM ROM Installation ProcedureMemory SIZE? WIDTH?Reentering Basic Exiting BasicBasic Cursor Printer ControlASC Getting Started with Basic Basic Command SETCHR$ Indirect Commands Direct and Indirect Commands Direct CommandsOperating on Programs and Lines Listing a ProgramReplacing a Line Deleting 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 Remarks Program Using RelationsRelational Tests Input BSquare Root Program LoopingAN Improved Square Root Program Print NsqrnPrint Nsqrn Next N Another Square Root ProgramCOUNT-BACKWARD Program Some Other Looping OperationsPrint I,J Next Next J Print What is the NumberMatrix Operations Sort ProgramInput N Print BAD GUESS, TRY Again RestorePrint Must be Integer Stopping a Program$=ROCKWELL R6500 Print A$ Rockwell R6500 StringsLEN Function Print LENA$,LENMICROCOMPUTERMID$ Function RIGHT$ FunctionPrint C$ Basic FOR-ROCKWELL-R6500 VAL and Strs Functions Print B$ Basic for Rockwell R6500CHR$ Function Data AIM 65,DOGName Example PURPOSE/USE DIM Additional String ConsiderationsInput Input X$ Print Print X$ESC Operators Symbol Sample StatementCntl Print Print X/1.3Negation Symbol Sample Statement PURPOSE/USERelational Operators Operator Argument Result Not Not If not Q3 thenPrint Intruder Alert CommandsAlert Statement SYNTAX/FUNCTION Example ClearStatement SYNTAX/FUNCTION List Statement SYNTAX/FUNCTION FREStatement SYNTAX/FUNCTION Load Statement SYNTAX/FUNCTION NEWStatement SYNTAX/FUNCTION Example Save Statement SYNTAX/FUNCTION Example RUNProgram Statements Statement SYNTAX/FUNCTION Example DEFStatement SYNTAX/FUNCTION END Statement SYNTAX/FUNCTION DIMStatement SYNTAX/FUNCTION For Statement SYNTAX/FUNCTION Goto Statement SYNTAX/FUNCTION GosubStatement SYNTAX/FUNCTION IF...GOTO Statement SYNTAX/FUNCTION IF...THENStatement SYNTAX/FUNCTION LET If X0 then Print ERROR, X Negative Goto ExampleStatement SYNTAX/FUNCTION Next Statement SYNTAX/FUNCTION ON...GOSUBSymbol SYNTAX/FUNCTION Wait Statement SYNTAX/FUNCTION RestoreExample Restore Return Statement SYNTAX/FUNCTION ReturnStatement SYNTAX/FUNCTION POS Statement SYNTAX/FUNCTION InputStatement SYNTAX/FUNCTION Print Print Value ISAStatement SYNTAX/FUNCTION SPC Statement SYNTAX/FUNCTION ReadStatement SYNTAX/FUNCTION TAB String Functions Statement SYNTAX/FUNCTION ASCStatement SYNTAX/FUNCTION LEN Statement SYNTAX/FUNCTION LEFT$Statement SYNTAX/FUNCTION MID$ Statement SYNTAX/FUNCTION RIGHT$Statement SYNTAX/FUNCTION ATN Arithmetic Functions Statement SYNTAX/FUNCTION ABSStatement SYNTAX/FUNCTION COS Statement SYNTAX/FUNCTION EXPPrint Sgnx Statement SYNTAX/FUNCTION Example SGNStatement SYNTAX/FUNCTION Example SIN Print Sinx?XX Error Error MessagesInverse Hyperbolic Secant Space Hints TAB, SPCPRINTX,Y,Z Speed Hints Storage Allocation InformationConverting Basic Programs not Written for AIM 65 Basic This is Probably the Most Important Speed HintOLD AIM OLDAscii Character Codes Decimal Assembly Language SubroutinesNUL SOH$AE Address ContentInputnumbern PrintxRUN NUMBER? Recording on Cassette Using the Basic Save CommandStoring AIM 65 Basic Programs on Cassette OUT=T F= Cassette Operations Using the AIM 65 EditorOUT=T F=FNAME T= IN=Entered by Alter Memory M ATN ImplementationOF9C 0FACSaving ATN Object Code on Cassette WIDTH? Bytes Free AIM 65 Basic
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.