[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Clone IOU / MMU Chip




On Jan 16, 2:46 pm, aiiad...@gmail.com wrote:
> what else?


please add, remove, or make corrections if you can.


IOU/MMU:

would need outputs to select either 1)main ram or 2)aux ram
bank

also need outputs  to select graphics mode (HI/LO res, page 1/2,
mixed/full, text/graphics)

some locations are flags, which indicate the status of softswitches,
so the IC's either have to 1)store the status in them or 2)have a
method
to read from the hardware the state of the switches.





zero page = $0000 - $00FF
stack     = $0100 - $01FF
inputbuff = $0200 - $02FF

RAM       = $0300 - $BFFF

Keyboard  = $c000 ;keycode (Read)
CLR80STORE= $C000 ;80STORE Off- disable 80-column memory mapping
(Write)
SET80STORE= $C001 ;80STORE On- enable 80-column memory mapping
(WR-only)

CLRAUXRD =  $C002 ;read from main 48K (WR-only)
SETAUXRD =  $C003 ;read from aux/alt 48K (WR-only)

CLRAUXWR =  $C004 ;write to main 48K (WR-only)
SETAUXWR =  $C005 ;write to aux/alt 48K (WR-only)

CLRCXROM =  $C006 ;use ROM on cards in $c100-$cfff (WR-only)
SETCXROM =  $C007 ;use internal ROM in $c100-$cfff (WR-only)

CLRAUXZP =  $C008 ;use main zero page, stack, & LC (WR-only)
SETAUXZP =  $C009 ;use alt zero page, stack, & LC (WR-only)



CLRC3ROM =  $C00A ;use internal Slot 3 ROM (WR-only)
SETC3ROM =  $C00B ;use external Slot 3 ROM (WR-only)

CLR80VID =  $C00C ;disable 80-column display mode (WR-only)
SET80VID =  $C00D ;enable 80-column display mode (WR-only)

CLRALTCH =  $C00E ;use main char set- norm LC, Flash UC (WR-only)


SETALTCH =  $C00F ;use alt char set- norm inverse, LC; no Flash
(WR-only)


CLKbdSTB =  $c010 = kbd clear strobe

--------------HIBIT SET IF: (read)

RDLCBNK2 =  $C011 ;reading from LC bank $Dx 2 (Read)
RDLCRAM  =  $C012 ;reading from LC RAM (Read)
RDRAMRD  =  $C013 ;reading from aux/alt 48K (Read)
RDRAMWR  =  $C014 ;writing to aux/alt 48K (Read)
RDCXROM  =  $C015 ;using internal Slot ROM (Read)
RDAUXZP  =  $C016 ;using Slot zero page, stack, & LC (Read)
RDC3ROM  =  $C017 ;using external (Slot) C3 ROM (Read)
RD80COL  =  $C018 ;80STORE is On- using 80-column memory mapping (Read)
RDVBLBAR =  $C019 ;not VBL (VBL signal low) (Read)
RDTEXT   =  $C01A ;using text mode (Read)
RDMIXED  =  $C01B ;using mixed mode (Read)
RDPAGE2  =  $C01C ;using text/graphics page2 (Read)
RDHIRES  =  $C01D ;using Hi-res graphics mode (Read)
RDALTCH  =  $C01E ;using alternate character set (Read)
RD80VID  =  $C01F ;using 80-column display mode (Read)


TAPEOUT  =  $C020 ;toggle the cassette output.

*******  =  $c021
*******  =  $c022
*******  =  $c023
*******  =  $c024
*******  =  $c025
*******  =  $c026
*******  =  $c027
*******  =  $c028
*******  =  $c029
*******  =  $c02A
*******  =  $c02B
*******  =  $c02C
*******  =  $c02D
*******  =  $c02E
*******  =  $c02F

SPEAKER  =  $C030 ;toggle speaker diaphragm

*******  =  $c031
*******  =  $c032
*******  =  $c033
*******  =  $c034
*******  =  $c035
*******  =  $c036
*******  =  $c037
*******  =  $c038
*******  =  $c039
*******  =  $c03A
*******  =  $c03B
*******  =  $c03C
*******  =  $c03D
*******  =  $c03E
*******  =  $c03F



util stb =  $c040    ;on game connector
*******  =  $c041
*******  =  $c042
*******  =  $c043
*******  =  $c044
*******  =  $c045
*******  =  $c046
*******  =  $c047
*******  =  $c048
*******  =  $c049
*******  =  $c04A
*******  =  $c04B
*******  =  $c04C
*******  =  $c04D
*******  =  $c04E
*******  =  $c04F

SW.TXTCLR=  $C050   ;graphics softswitches
SW.MIXCLR=  $C052
SW.MIXSET=  $C053
SW.LOWSCR=  $C054
SW.HISCR =  $C055
SW.LORES =  $C056
SW.HIRES =  $C057
ann0off  =  $c058
ann0on   =  $c059
ann1off  =  $c05a
ann1on   =  $c05b
ann2off  =  $c05c
ann2on   =  $c05d
ann4off  =  $c05e
ann4on   =  $co5f




CASSETTE =  $C060
pb0      =  $c061      ;This is also Open Apple on keyboard
PB1      =  $c062      ;This is also Closed Apple on Keyboard
pb2      =  $c063
pdl0     =  $c064      ;"paddle" inputs
pdl1     =  $c065
pdl2     =  $c066
pdl3     =  $c067
*******  =  $c068
*******  =  $c069
*******  =  $c06A
*******  =  $c06B
*******  =  $c06C
*******  =  $c06D
*******  =  $c06E
*******  =  $c06F

ResetPDL =  $c070      ;reset paddle timing circuit
*******  =  $c071
*******  =  $c072
*******  =  $c073
*******  =  $c074
*******  =  $c075
*******  =  $c076
*******  =  $c077
*******  =  $c078
*******  =  $c079
*******  =  $c07A
*******  =  $c07B
*******  =  $c07C
*******  =  $c07D
*******  =  $c07E
*******  =  $c07F


-Bank 2 selection
-READRAM2  = $C080 READ RAM no write
-RROMWRAM2 = $C081 READ ROM write RAM
 READROM   = $C082  ROM override
-RDWRTLC2  = $C083 Read RAM write RAM

~Bank 1 selection
*******  =  $c084
*******  =  $c085
*******  =  $c086
*******  =  $c087
~READRAM1 = $C088  Read RAM no write
~RROMWRAM1= $C089  ReadROM Write RAM
*******  =  $c08A
~RDWRTLC1 = $C08B  Read RAM write RAM
*******  =  $c08C
*******  =  $c08D
*******  =  $c08E
*******  =  $c08F

*******  =  $c090
*******  =  $c091
*******  =  $c092
*******  =  $c093
*******  =  $c094
*******  =  $c095
*******  =  $c096
*******  =  $c097
*******  =  $c098
*******  =  $c099
*******  =  $c09A
*******  =  $c09B
*******  =  $c09C
*******  =  $c09D
*******  =  $c09E
*******  =  $c09F

*******  =  $c0A0
*******  =  $c0A1
*******  =  $c0A2
*******  =  $c0A3
*******  =  $c0A4
*******  =  $c0A5
*******  =  $c0A6
*******  =  $c0A7
*******  =  $c0A8
*******  =  $c0A9
*******  =  $c0AA
*******  =  $c0AB
*******  =  $c0AC
*******  =  $c0AD
*******  =  $c0AE
*******  =  $c0AF

*******  =  $c0B0
*******  =  $c0B1
*******  =  $c0B2
*******  =  $c0B3
*******  =  $c0B4
*******  =  $c0B5
*******  =  $c0B6
*******  =  $c0B7
*******  =  $c0B8
*******  =  $c0B9
*******  =  $c0BA
*******  =  $c0BB
*******  =  $c0BC
*******  =  $c0BD
*******  =  $c0BE
*******  =  $c0BF

*******  =  $c0C0
*******  =  $c0C1
*******  =  $c0C2
*******  =  $c0C3
*******  =  $c0C4
*******  =  $c0C5
*******  =  $c0C6
*******  =  $c0C7
*******  =  $c0C8
*******  =  $c0C9
*******  =  $c0CA
*******  =  $c0CB
*******  =  $c0CC
*******  =  $c0CD
*******  =  $c0CE
*******  =  $c0CF

*******  =  $c0d0
*******  =  $c0D1
*******  =  $c0D2
*******  =  $c0D3
*******  =  $c0D4
*******  =  $c0D5
*******  =  $c0D6
*******  =  $c0D7
*******  =  $c0D8
*******  =  $c0D9
*******  =  $c0DA
*******  =  $c0DB
*******  =  $c0DC
*******  =  $c0DD
*******  =  $c0DE
*******  =  $c0DF

*******  =  $c0E0
*******  =  $c0E1
*******  =  $c0E2
*******  =  $c0E3
*******  =  $c0E4
*******  =  $c0E5
*******  =  $c0E6
*******  =  $c0E7
*******  =  $c0E8
*******  =  $c0E9
*******  =  $c0EA
*******  =  $c0EB
*******  =  $c0EC
*******  =  $c0ED
*******  =  $c0EE
*******  =  $c0EF

*******  =  $c0F0
*******  =  $c0F1
*******  =  $c0F2
*******  =  $c0F3
*******  =  $c0F4
*******  =  $c0F5
*******  =  $c0F6
*******  =  $c0F7
*******  =  $c0F8
*******  =  $c0F9
*******  =  $c0FA
*******  =  $c0FB
*******  =  $c0FC
*******  =  $c0FD
*******  =  $c0FE
*******  =  $c0FF


SLOT1I/O =  $C100-C1FF
SLOT2I/O =  $C200-C2FF
SLOT3I/O =  $C300-C3FF
SLOT4I/O =  $C400-C4FF
SLOT5I/O =  $C500-C5FF
SLOT6I/O =  $C600-C6FF
SLOT7I/O =  $C700-C7FF

CARDROM  =  $C800-CFFF

AsoftROM    =  $D000-
MonitorROM =