Apple ii Battery Charger User Manual


 
2337 EF81 A9 04 LDA #4 ;FIRST CHIP SELECT
2338 EF83 E0 00 CPX #0 ;FIRST CHIP ?
2339 EF85 F0 04 BEQ OUTDD3
2340 EF87 0A OUTDD2 ASL A
2341 EF88 CA DEX
2342 EF89 D0 FC BNE OUTDD2 ;BACK TILL RIGH CS
2343 EF8B 8D 28 A4 OUTDD3 STA STIY+1 ;SAVE CS TEMPORARILY
2344 EF8E 68 PLA ;GET X AGAIN FOR CHAR
2345 EF8F 29 03 AND #$03 ;IN THAT CHIP
2346 EF91 0D 28 A4 ORA STIY+1 ;OR IN CS AND CHAR
2347 EF94 ;STORE ADDR AND DATA INTO DISPL
2348 EF94 49 FF EOR #$FF ;W=1 , CE=0 & A1,A0
2349 EF96 8D 00 AC STA RA
2350 EF99 AA TAX ;SAVE A IN X
2351 EF9A 68 PLA ;GET DATA
2352 EF9B 48 PHA
2353 EF9C 8D 02 AC STA RB
2354 EF9F 8A TXA
2355 EFA0 49 80 EOR #$80 ;SET W=0
2356 EFA2 8D 00 AC STA RA
2357 EFA5 EA NOP
2358 EFA6 09 7C ORA #$7C ;SET CE=1
2359 EFA8 8D 00 AC STA RA
2360 EFAB A9 FF LDA #$FF ;SET W=1
2361 EFAD 8D 00 AC STA RA
2362 EFB0 68 PLA ;RETURN DATA
2363 EFB1 60 RTS
2364 EFB2
2365 EFF9 *=$EFF9
2366 EFF9 EA .DB $EA
2367 F000 *=$F000
2368 F000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2369 F000 ;OUTPUT ACC TO PRINTER SUBROUTINE
2370 F000 ;PRINTS ON 21RST CHAR OR WHEN <CR>
2371 F000 ;IT WILL PUT IT ON BUBFFER BUT WONT PRINT IF
2372 F000 ;PRIFLG=0
2373 F000 48 OUTPRI PHA ;SAVE CHR TO BE OUTPUT
2374 F001 20 9E EB JSR PHXY ;SAVE X
2375 F004 C9 0D CMP #CR ;SEE IF CR
2376 F006 F0 07 BEQ OUT01 ;YES SO PRINT THE BUFF
2377 F008 AE 16 A4 LDX CURPOS ;PTR TO NEXT POS IN BUFF
2378 F00B E0 14 CPX #20 ;SEE IF BUFF FULL
2379 F00D D0 16 BNE OUT04 ;NOT FULL SO RETURN
2380 F00F ;<CR> SO FILL REST OF BUFFER WITH BLANKS
2381 F00F 48 OUT01 PHA
2382 F010 A9 00 LDA #0 ;CURPOS = 0
2383 F012 AE 16 A4 LDX CURPOS ;SEE IF ANYTHING IN BUFFER
2384 F015 8D 16 A4 STA CURPOS
2385 F018 20 38 F0 JSR OUTPR ;CLEAR PRIBUF TO THE RIGHT
2386 F01B ;BUFFER FILLED SO PRINT IT
2387 F01B 20 45 F0 JSR IPST ;START THE PRINT
2388 F01E A2 00 LDX #0 ;STORE CHR IN BUFF (FIRST LOC)
2389 F020 68 PLA ;GET IT
2390 F021 C9 0D CMP #CR ;DONT STORE IF <CR>
2391 F023 F0 0E BEQ OUT05
2392 F025 9D 60 A4 OUT04 STA IBUFM,X ;STORE CHR IN BUFF
2393 F028 EE 16 A4 INC CURPOS ;INCR BUFF PNTR
2394 F02B E8 INX
2395 F02C 29 80 AND #$80
2396 F02E D0 03 BNE OUT05 ;DONT CLR IF MSB=1
2397 F030 20 38 F0 JSR OUTPR ;CLEAR PRIBUFF TO THE RIGHT
2398 F033 20 AC EB OUT05 JSR PLXY ;RESTORE REGS