PET/CBM Interfaces 59408-59411 6520 interface #1 59408 bit 0-3 keyboard out: 11 flashes diagnostic light on original PET bit 4 cassette #1 switch bit 5 cassette #2 switch bit 6 EOI in bit 7 diagnostic sense in; speaker enable out 59409 bit 2 direction/data register select for 59408 bit 3-5 EOI out; display on original PET: 52=on, 60=off bit 7 cassette #1 input 59410 keyboard in 59411 bit 3-5 cassette #1 motor: 53=on, 61=off to turn off, first write 52 to 249 (to 519 for BASIC 1) bit 7 video sync in (used by system interrupt routine) 59424-59427 6520 interface #2 59424 IEEE in 59425 bit 3-5 NDAC out: 52=on, 60=off bit 7 ATN in (read 59424 to reset) 59426 IEEE out 59427 bit 3-5 DAV out: 52=on, 60=off bit 7 SRQ in (read 59426 to reset) 59456-59471 6522 interface 59456 bit 0 NDAC in bit 1 NRFD out bit 2 ATN out bit 3 cassette write bit 4 cassette #2 motor: 0=on, 16=off to turn off, first write 1 to 250 (to 520 for BASIC 1) bit 5 video sync in bit 6 NRFD in bit 7 DAV in 59457 user port with input handshake 59458 direction register for 59456 59459 user port direction register 59460-59461 timer 1 59462-59463 timer 1 latch 59464-59465 timer 2 (pulse input on NRFD in); speaker freq. at 59464 59466 shift register for speaker wave shape and user port CB2 (timing signals on cassette #2 read) 59467 bit 0 user port latch bit 2-4 shift register control: 16 for speaker bit 5 timer 2 mode bit 6 timer 1 mode 59468 bit 0 user port CA1 bit 1-3 12=graphic character set, 14=business character set bit 5-7 user port CB2 & speaker 59469 bit 1 user port CA1 flag bit 2 shift register flag bit 3 user port CB2 flag bit 4 cassette #2 input bit 5 timer 2 flag bit 6 timer 1 flag bit 7 IRQ flag 59470 bit 1 user port CA1 interrupt enable bit 2 shift register interrupt enable bit 3 user port CB2 interrupt enable bit 5 timer 2 interrupt enable bit 6 timer 1 interrupt enable bit 7 interrupt clear/set enable 59471 user port without handshake 59520-59521 6545/6845/HD46505 CRT controller (later models) 59520 bit 0-4 register select (set to 2 by PET) bit 5 6545 vertical blanking flag bit 6 6545 light pen flag 59521 register I/O reg 0 total characters/line - 1 (1/2 for 80 col. PET) reg 1 displayed characters/line (1/2 for 80 col. PET) reg 2 horizontal sync position - 1 (1/2 for 80 col. PET) reg 3 bit 0-3 horizontal sync width (dots) bit 4-7 vertical sync width (raster lines); 0=16 lines reg 4 total lines/frame - 1 reg 5 raster lines to complete frame reg 6 displayed lines/frame reg 7 vertical sync position - 1 reg 8 bit 0 fill/compress interlace mode bit 1 interlace/non-interlace bit 4-5 line skew, 48 blanks video (bit 5 on 6545 only) reg 9 vertical dots/character - 1 reg 12 bit 0-1 (H) start of screen memory - 32K (1/2 for 80 col. PET) bit 2-3 reverse video (also turns off horizontal blanking) bit 4 turn off vertical blanking bit 5 select character font reg 13 (L) start of screen memory - 32K (1/2 for 80 col. PET) reg 14 bit 0-5 read/write register not used by PET reg 15 read/write register not used by PET reg 16 bit 0-2 (H) light pen address - 32K (1/2 for 80 col. PET) reg 17 (L) light pen address - 32K (1/2 for 80 col. PET) 61408-61411 SuperPET 6702 encoder 61424-61427 SuperPET 6551 interface 61432 SuperPET system latch bit 0 1=6502, 0=6809 bit 1 0=read only bit 3 diagnostic sense: set to 1 to switch to 6502 61436 SuperPET bank select latch bit 0-3 bank bit 7 1=enable system latch 65520 8096 memory control register bit 0 1=write protect $8000-BFFF bit 1 1=write protect $C000-FFFF bit 2 $8000-BFFF bank select bit 3 $C000-FFFF bank select bit 5 1=screen peek through bit 6 1=I/O peek through bit 7 1=enable expansion memory