home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
- tHE MATERIAL CONTAINED IN THIS DOCUMENT IS OF AN EXPERIMENTAL NATURE. aS
- SUCH, ALL CONSEQUENCES RESULTING FROM THE USE OF THE INFORMATION IS THE
- EXPRESS RESPONSIBILITY OF THE USER. tHE AUTHOR SHALL NOT BE HELD LIABLE, AND
- IMPLIES NO WARRANTIES OR GUARANTEES WHAT SO EVER. tHE AUTHOR DOES CERTIFY THAT
- THE INFORMATION PRESENTED WAS CORRECT, TO HIS KNOWLEDGE, AT THE TIME OF THE
- FIRST DISTRIBUTION OF THE DOCUMENT.
-
-
-
-
-
- tHIS DOCUMENT AND THE INFORMATION IT CONTAINS IS THE SOLE PROPERTY OF THE
- AUTHOR, WHO RETAINS ALL COPYRIGHTS, AND PATENTS TO THE MATERIAL PRESENTED.
-
-
-
-
-
- tHE AUTHOR DOES GRANT A LIMITED DISTRIBUTION RIGHT TO ALL IF THE FOLLOWING
- CONDITIONS ARE SATISFIED: tHE DOCUMENT IS DISTRIBUTED IN COMPLETE AND
- UNALTERED FORM, WITH THIS LEGAL FORM INCLUDED. nO COMMERCIAL DISTRIBUTION (IE.
- PUBLISHING) OF THE DOCUMENT IS ENTERED INTO WITHOUT THE WRITTEN CONSENT OF THE
- AUTHOR. lASTLY, NO MONIES SHALL BE EXCHANGED FOR THE DISTRIBUTION OF THE
- DOCUMENT, EXCEPT FOR REPRODUCTION AND SHIPPING CHARGES, WITHOUT THE WRITTEN
- PERMISSION OF THE AUTHOR. wITH THESE CONDITIONS FULFILLED, THE LIMITED
- DISTRIBUTION LICENSE GRANTS THE HOLDER OF THE DOCUMENT TO OTHERWISE FREELY
- DISTRIBUTE, AND STORE IT IN ANY MANNER.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bEYOND 512 KB: tHE tWO mEGABYTE reu
- -----------------------------------
-
- bY aNDREW e. mILESKI
-
- cOPYRIGHT oCTOBER 3, 1989.
-
-
- iN vOLUME 9, iSSUE 6 OF THE tRANSACTOR, pAUL bOSACKI SHOWED US A MIRACLE;
- THE ONE MEGABYTE c64. pAUL HAD DEVELOPED AN ELEGANT METHOD OF ALLOWING THE c64
- TO ACCESS THIS EXTRA MEMORY OUT OF THE c64'S OWN MEMORY MAP. uNFORTUNATELY,
- THIS EXTRA ram IS RATHER DIFFICULT TO ACCESS, NOT ALL OF IT IS AVAILABLE TO
- THE USER, AND c128 OWNERS CANNOT EXPAND THERE MACHINES IN THE SAME MANNER. tHE
- CIRCUIT NECESSARY FOR THIS FEAT ALLOWS A c64 TO USE 256 K ram CHIPS, INSTEAD
- OF THE 64 K ram CHIPS IT WAS DESIGNED TO USE. aLTHOUGH A BRILLIANTLY SIMPLE
- CIRCUIT, IT IS OVER-KILL WHEN ONE ALREADY HAS A rAM eXPANSION uNIT (reu) THAT
- DIRECTLY SUPPORTS 256 K ram CHIPS!
-
- eXPANDING A reu IS RELATIVELY SIMPLE, AND IF YOU ALREADY KNOW HOW TO
- PROGRAM A reu YOU CAN EASILY TAKE ADVANTAGE OF AN EXPANDED ONE. iN FACT, ALL
- YOUR SOFTWARE THAT USES A reu IS COMPLETELY COMPATIBLE! nOW ARE FELLOW c128
- OWNERS CAN EXPAND THEIR MACHINES EASILY TOO, SINCE THE EXTRA ram IS ACCESSED
- OUT OF A reu, AND NOT OFF A MODIFIED MOTHER-BOARD!
-
- iN A 512 KB reu, THERE ARE TWO DYNAMIC ram CHIP BANKS ON THE CIRCUIT
- BOARD. tHEY EACH CONSIST OF EIGHT, 1 BIT BY 256 K DYNAMIC ram CHIPS, WHICH
- GIVES US OUR 512 K BYTES. tHE reu'S INTERNAL BANK REGISTER AT $df06 WORKS IN
- 64 KB INCREMENTS, AND HAS ONLY EIGHT OF THESE reu BANKS. bANKS 0 TO 3 ARE
- ACCESSED OUT OF CHIP BANK ONE (u2 TO u9), AND BANKS 4 TO 7 ARE ACCESSED OUT OF
- CHIP BANK TWO (u10 TO u17). pLEASE NOTE THE DISTINCTION BETWEEN CHIP BANKS,
- AND reu BANKS.
-
- nOTE: SIGNALS PRECEEDED BY AN ASTERISK INDICATE THAT THEY ARE ACTIVE LOW
-
- dYNAMIC ram bASICS
- ------------------
-
- dYNAMIC ram MEMORY CHIPS ARE CONSTRUCTED WITH MULTIPLEXED ADDRESS INPUTS.
- tHIS MEANS THAT THEY CARRY DIFFERENT INFORMATION AT DIFFERENT TIMES. tO ACCESS
- A PARTICULAR MEMORY CELL, WE FIRST SUPPLY THE CHIP WITH HALF OF THE ACTUAL
- ADDRESS, A ROW ADDRESS. nEXT WE LATCH THIS ADDRESS INTO THE CHIP BY ASSERTING
- THE rOW aDDRESS sTROBE (*ras). nOW WE SUPPLY THE CHIP WITH THE OTHER HALF OF
- THE ADDRESS, THE COLUMN ADDRESS. oNCE AGAIN WE LATCH THIS ADDRESS INTO THE
- CHIP BY ASSERTING THE cOLUMN aDDRESS sTROBE (*cas). dEPENDING ON THE STATE OF
- THE wRITE eNABLE (*we) SIGNAL, A READ OR WRITE MEMORY CYCLE WILL OCCUR.
-
- uNFORTUNATELY DYNAMIC ramS FORGET EVERYTHING UNLESS THEY ARE REMINDED, OR
- REFRESHED. tHIS MUST BE DONE ABOUT EVERY 4 MILLISECONDS! tO REFRESH THE MEMORY
- A ras ONLY CYCLE MUST BE DONE FOR EVERY ROW ADDRESS. tHIS MEANS THAT ONLY THE
- ROW ADDRESS IS LATCHED INTO THE CHIP; THE COLUMN ADDRESS IS NOT NEEDED HERE.
- tHE ENTIRE ROW OF DATA STORED IN THE CHIP WILL BE REFRESHED, AND OUR DATA WILL
- BE SAFE FOR ANOTHER FEW MILLISECONDS. iN A reu THE ram eXPANSION cONTROLLER
- (rec) CHIP TAKES CARE OF ALL THIS FOR US.
-
-
-
-
-
-
-
-
-
-
-
-
-
- fOOLING THE rec
- ---------------
-
- sINCE A reu WAS ONLY DESIGNED TO ACCESS 512 KB OF EXPANSION MEMORY, WE
- MUST FOOL IT IN ORDER TO ACCESS MORE. wE DO THIS BY LETTING THE reu THINK THAT
- IT HAS ONLY 512 KB AVAILABLE AT ANY ONE TIME. tHIS MEANS WE NEED SOME WAY TO
- SWITCH BETWEEN THE EXTRA BANKS OF MEMORY. tHE CIRCUIT SHOWN IN THE SCHEMATIC
- HELPS US TO DO THIS BY ADDING TWO BITS TO THE reu BANK SELECT REGISTER. tHIS
- TWO BIT OUTPUT PORT LETS US SELECT ONE OF FOUR BANKS OF 512 KB. sO IN OTHER
- WORDS, ARE reu NOW THINKS IT IS FOUR SEPERATE 512 KB reuS. nOW WE CAN EASILY
- ACCESS UP TO 2 mB OUT OF A reu!
-
- hOW THE CIRCUIT WORKS
- ---------------------
-
- tHE SECRET TO EXPANDING DYNAMIC MEMORY LIES IN THE *cas SIGNAL. sINCE ALL
- THE ram CHIPS NEED TO BE REFRESHED WITH *ras, WE DON'T DO ANYTHING TO THIS
- SIGNAL AND PASS IT TO ALL MEMORY CHIPS. tHIS LEAVES US WITH MANIPULATING *cas.
-
- mANIPULATION OF *cas IS THE JOB OF ic1, A DUAL TWO TO FOUR LINE
- DECODER/DEMULTIPLEXOR. iT IS USED TO DIRECT THE rec SIGNALS *cas0 (CHIP BANK
- ONE), AND *cas1 (CHIP BANK TWO), TO THE CORRECT BANK OF EIGHT ram CHIPS. wHEN
- ONE OF THE rec cas SIGNALS IS ASSERTED, THE cas SIGNAL OF THE SELECTED BANK IS
- ASSERTED. tHE BANK SELECTION IS DONE WITH THE TWO SELECT INPUTS s0 AND s1 OF
- ic1.
-
- ic2 AND ic3 FORM A TWO BIT WRITE-ONLY REGISTER, WHOSE OUTPUTS ARE THE BANK
- SELECT INPUTS TO ic1. bITS 3 AND 4 OF THE reu BANK REGISTER AT $df06 ARE
- LATCHED INTO ic2, TWO d TYPE FLIP-FLOPS, ON THE NEGATIVE EDGE OF THE SYSTEM
- CLOCK (THETA2). bY MAPPING OUR NEW TWO BIT REGISTER TO THESE NORMALLY UNUSED
- BITS, THE EXTRA MEMORY APPEARS TO THE USER AS EXTRA 64K BANKS BEYOND THE
- NORMAL MAXIMUM OF 512 KB. ic3 IS A 3 TO 8 LINE DECODER/DEMULTIPLEXOR, WHICH IS
- USED TO DECODE THE LOWEST THREE BITS OF THE i/o2 PAGE ($df00 TO $dfff)
- ADDRESS. tHE ic3 SIGNAL *o6 IS USED AS THE CLOCK SIGNAL FOR THE TWO
- FLIP-FLOPS, WHICH LATCHES BITS 3 AND 4 OF THE DATA BUS ON THE POSITIVE EDGE.
- tHIS HAPPENS WHENEVER $df06 IS WRITTEN TO. oN A READ MEMORY CYCLE TO $df06,
- ic3 IS DISABLED AND THE reu'S REGULAR INTERNAL REGISTER APPEARS ON THE DATA
- BUS.
-
- a SWITCH PULLS THE *clr INPUTS TO EACH OF THE FLIP-FLOPS LOW WHEN IT IS
- CLOSED (POSITION 1). tHIS FORCES THEM TO SELECT BANK ZERO OF 512 KB AT ALL
- TIMES, WHICH IS PRESENT IN ALL 512KB reuS. wHEN THE SWITCH IS OPEN (POSITION
- 2), THE FLIP-FLOPS CAN FREELY TAKE ON THE VALUES OF BITS 3 AND 4 OF $df06.
- tHIS ALLOWS COMPLETE SOFTWARE COMPATIBILITY WITH A 1750 (512 KB) reu.
-
- lASTLY, THE TWO lIGHT eMITTING dIODES (ledS), WHICH ARE OPTIONAL, SIMPLY
- SHOW US (IN BINARY) WHAT BANK OF 512K WE ARE USING. tHEY ALLOW US TO QUICKLY
- CHECK SOFTWARE COMPATIBILITY, AS EXPLAINED LATER.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iNSTALLATION
- ------------
-
- aLL THE EXPANSION HARDWARE FITS INSIDE THE reu CASE. yOU WILL NOT BE ABLE
- TO USE THE rf SHIELD, AND IT WILL BE A VERY TIGHT FIT WITH ALL 2 mB INSTALLED
- (DON'T USE ic SOCKETS!). sTART BY EXPANDING YOUR reu TO 512 KB, OR IN OTHER
- WORDS YOU NEED A 1750 reu. sEE vOLUME 9, iSSUE 5 OF THE tRANSACTOR, OR THE
- ARTICLE BY sCOTTb30 ON qUANTUM lINK FOR EXPANDING 1764 AND 1700 reuS. tAKE THE
- USUAL STATIC PRECAUTIONS, AND OF COURSE, ANY MODIFICATION TO THE reu WILL VOID
- THE WARRANTY! pROCEED AT YOUR SOLE RISK!
-
- oN THE COMPONENT SIDE OF THE reu, WITH THE EDGE CONNECTOR TOWARDS YOU,
- LOCATE rESISTOR pACKAGE rp3 ON THE LEFT SIDE NEAR THE MIDDLE OF THE BOARD.
- fLIP THE BOARD OVER TO THE SOLDER SIDE, AGAIN WITH THE EDGE CONNECTOR TOWARDS
- YOU. lOCATE rp3 AGAIN ON THE RIGHT SIDE OF THE BOARD. fROM THE TOP OF THE
- BOARD, FIND PIN 7 OF rp3 AND CUT THE TRACE LEADING AWAY FROM THE PIN. sOLDER A
- WIRE TO THIS PIN (PIN 7); THIS IS THE *cas0 SIGNAL. fIND PIN 3 OF rp3 AND
- AGAIN CUT THE TRACE LEADING AWAY FROM THE PIN. sOLDER A WIRE TO THIS PIN (PIN
- 3); THIS IS THE *cas1 SIGNAL.
-
- fLIP THE BOARD OVER TO THE COMPONENT SIDE WITH THE EDGE CONNECTOR TOWARDS
- YOU, AND LOCATE RAM CHIPS u2 AND u10 ON THE TOP LEFT SIDE OF THE BOARD. fLIP
- THE BOARD OVER TO THE SOLDER SIDE AND AGAIN LOCATE THESE CHIPS. tO PIN 15 OF
- u2 SOLDER A WIRE; THIS IS THE *casbank0 SIGNAL. sOLDER A WIRE TO PIN 15 OF
- u10; THIS IS THE *casbank1 SIGNAL. rUN THE FOUR WIRES YOU NOW HAVE, DOWN TO
- THE RIGHT SIDE OF THE EDGE CONNECTOR AND SECURE THEM IN THE CORNER WITH A
- PIECE OF ELECTRICAL TAPE. tHIS COMPLETES ALL THE SOLDER CONNECTIONS TO THE
- SOLDER SIDE OF THE BOARD.
-
- lOCATE THE FIFTH PIN FROM THE RIGHT ON THE EDGE CONNECTOR AND FOLLOW THE
- TRACE TO A COMPONENT LEG; NOTE THE PLACEMENT. fLIP THE BOARD TO THE COMPONENT
- SIDE FOR THE LAST TIME, AND LOCATE THE COMPONENT. iT IS LABELED fb2, AND
- SHOULD BE A fERRITE bUTTON, BUT IS A 430 oHM RESISTOR (YELLOW, ORANGE, BROWN,
- GOLD BANDS) ON MY reu. tO THE OPPOSITE END OF THE COMPONENT, AWAY FROM THE
- EDGE CONNECTOR, SOLDER A WIRE; THIS IS THE SYSTEM CLOCK SIGNAL THETA2.
-
- lOCATE THE THIRTEENTH PIN FROM THE RIGHT ON THE EDGE CONNECTOR. fOLLOW THE
- TRACE TO A PASS-THROUGH, AND SOLDER A WIRE INTO IT; THIS IS THE *i/o2 SIGNAL.
-
- lOCATE THE EIGHTEENTH PIN FROM THE RIGHT OF THE EDGE CONNECTOR, AND FOLLOW
- THE TRACE TO fERRITE bUTTON fb1. tO THE SIDE AWAY FROM THE EDGE CONNECTOR
- SOLDER A WIRE; THIS IS THE r/*w SIGNAL.
-
- lOCATE THE EMPTY PINOUT (u18) NEXT TO THE SQUARE rec CHIP. sOLDER WIRES
- INTO THE HOLES FOR PINS 8, 9, 10, 14, 15, 16, AND 28. tHESE ARE THE SIGNALS
- a2, a1, a0, gROUND, d3, d4, AND +5 VOLTS RESPECTIVELY. tHIS COMPLETES THE
- SIGNAL HUNTING.
-
- lAY A 2 INCH STRIP OF DOUBLE-SIDED FOAM TAPE DOWN THE CENTER OF THE MISSING ic
- (u18) PATTERN. tRY TO LEAVE ROOM NEAR THE RIGHT EDGE OF THE CASE SO YOU CAN
- MOUNT A SWITCH. mOUNT THE icS, IN ORDER FROM LEFT TO RIGHT, TO THE TAPE upside
- down (PINS STICKING UP) WITH THE NOTCHES (OR DOTS) TOWARDS THE TOP OF THE
- BOARD. pLACE THEM AS FAR APART AS YOU CAN ON THE TAPE.
-
-
-
-
-
-
-
-
-
-
-
-
-
- nOW CONNECT THE icS USING (CAREFULLY!) POINT TO POINT SOLDERING, OR
- WIRE-WRAP directly ON THE ic PINS (YES, IT CAN BE DONE). iF YOU DO WIRE-WRAP,
- ONLY 4 WRAPS PER CONNECTION ARE NECESSARY, AND "OVER WRAPPING" (WRAPPING ON
- TOP OF WRAPPING) IS RECOMMENDED FOR THE SECOND CONNECTION TO A PIN. kEEP THE
- CONNECTIONS AS SHORT AS POSSIBLE EG. +5 VOLTS TO PIN 14 OF ic1 IN MINE IS 1/4
- OF AN INCH LONG.
-
- mOUNT THE SWITCH IN THE TOP HALF AND ON THE EDGE OF THE reu'S CASE IN A
- CONVENIENT PLACE. i RECOMMEND PLACING IT NEAR THE BOTTOM RIGHT CORNER, NEAR
- THE PLASTIC POST SINCE THERE IS NOTHING IN THE WAY HERE. a SLIDE SWITCH IS
- NEATER THAN A TOGGLE SWITCH, BUT IT ISN'T VERY MUCH FUN TRYING TO MAKE A
- SQUARE HOLE FOR A THE SLIDE SWITCH! mARK (OR JUST NOTE) THE POSITION OF THE
- SWITCH ON THE CASE (OPEN: 2 mB, CLOSED: 512 KB) WITH A MARKER (sANFORD
- "sHARPIE" WRITES PERMANENTLY ON ANYTHING!) OR USE "lETTRA sET" TYPE LETTERING.
-
- tHE NEXT STEP, AND LAST STEP, IS TO WIRE AND MOUNT THE TWO OPTIONAL led
- INDICATORS. sOLDER WIRES TO ALL THE LEADS OF BOTH THE ledS. dRILL HOLES FOR
- THEM AT THE TOP EDGE, OF THE TOP HALF OF THE CASE, SO THEY'RE VISABLE WITH THE
- reu INSTALLED. mAKE SURE TO PUT led1 ON THE LEFT AND led0 ON THE RIGHT, SO YOU
- CAN READ THE BANK OF 512 KB IN BINARY (0=UN-LIGHTED, 1=LIGHTED).
-
- yOUR reu NOW WORKS THE SAME AS BEFORE, AT LEAST IT SHOULD! pLUG IT IN,
- MOVE THE SWITCH TO POSITION 1 (SWITCH CLOSED, THE OPTIONAL ledS SHOULD BOTH
- BE UN-LIGHTED) AND GIVE THE reu A SPIN WITH ANY TEST PROGRAM OF YOUR CHOICE.
- iF THINGS LOOK BAD, POWER DOWN AND RECHECK ALL CONNECTIONS! iF IT DOES WORK,
- CONGRATULATIONS! yOU NOW HAVE AN reu THAT CAN BE EXPANDED TO 2 mB BY ADDING A
- MEAGER (48) ram CHIPS.
-
- aDDING MEMORY
- -------------
-
- eXPAND THE MEMORY BY PIGGY-BACKING THE EXISTING ram CHIPS IN CHIP BANKS
- ONE OR TWO, STARTING WITH CHIP BANK 1. bEND PIN 15 UP, TO A 45 DEGREE ANGLE,
- ON EACH OF THE ram CHIPS TO BE ADDED. cONNECT A WIRE TO THIS PIN BEFORE
- SOLDERING IT TO THE OTHER ram CHIP. oNCE THE CHIP IS SOLDERED IN PLACE,
- CONNECT THE WIRE TO PIN 15 OF THE NEXT ram CHIP TO BE ADDED. sOLDER ANOTHER
- WIRE TO ITS PIN 15, AND SOLDER THE CHIP IN PLACE NEXT TO THE OTHER. cONTINUE
- IN THIS WAY UNTIL ALL THE ramS IN A CHIP BANK ARE PIGGY-BACKED, AND ALL PINS
- 15 ARE CONNECTED IN A DAISY-CHAIN FASHION IN EACH CHIP BANK. sOLDER A WIRE TO
- PIN 15 OF THE RIGHTMOST ram CHIP IN THE BANK; THIS IS THE *casbankX SIGNAL.
- nOW USE AN OHMMETER OR CONTINUITY TESTER TO SEE THAT ALL THE CHIPS IN THE
- NEWLY ADDED BANK SHARE THE SAME SIGNALS ON PINS 1, 3 TO 13, AND 15 AND 16.
-
- aLL THAT IS LEFT IS TO CONNECT THE WIRE *casbankX TO AN APPROPRIATE
- NUMBERED SIGNAL ON ic1. oDD NUMBERED casbank SIGNALS ARE FOR ram CHIPS
- PIGGY-BACKED IN CHIP BANK ONE, EVEN NUMBERED ONES ARE FOR ram CHIPS
- PIGGY-BACKED IN CHIP BANK TWO. cHOOSE THE NEXT AVAILABLE SIGNAL WHEN ADDING A
- NEW BANK OF ramS. *casbank0 AND *casbank1 ARE RESERVED FOR THE TWO CHIP BANKS
- ALREADY IN A 512 KB reu. cONNECT THE *casbankX SIGNAL, AND YOU NOW HAVE
- ANOTHER 256 KB OF MEMORY! rEPEAT FOR CHIP BANK TWO FOR 512 KB EXTRA ram. aDD
- JUST AS MUCH ram AS YOU NEED IN 256 KB INCREMENTS!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pROGRAMMING AN EXPANDED reu
- ---------------------------
-
- yOU DON'T NEED TO DO ANYTHING DIFFERENT TO USE THE EXTRA MEMORY IN THE
- reu. jUST REMEMBER THAT YOU NOW HAVE MORE 64 KB BANKS THAT YOU CAN ACCESS
- THROUGH THE BANK REGISTER AT $df06 WHEN IN 2 mB MODE (SWITCH IN POSITION 2).
- wHEN IN THE 1750 EMULATION (512 KB) MODE (SWITCH IN POSITION 1), REMEMBER YOU
- ONLY HAVE ACCESS TO BANKS 0 TO 7 OF 64 KB. kEEP IN MIND THE PECULIARITIES OF
- THE 2 mB MODE AS WELL. tHAT'S ALL THERE IS TO IT! tHE NUMBER OF BANKS DEPENDS
- ON HOW MUCH MEMORY YOU ADDED; 0 TO 15 WITH 1 mB, AND 0 TO 31 WITH 2 mB FOR
- EXAMPLE.
-
- nOTE THAT ALL SOFTWARE THAT TESTS FOR A reu WILL ONLY FIND 512 KB
- AVAILABLE, SO A SLIGHTLY DIFFERENT MEMORY TEST IS NECESSARY TO CHECK ON HOW
- MUCH EXPANSION MEMORY WE HAVE. sINCE THE reu CAN BE EXPANDED UP TO 2 mB IN
- 256 KB INCREMENTS AT THE USERS DISCRETION, A SLIGHTLY DIFFERENT TEST IS
- MANDATORY TO FIGURE OUT JUST HOW BIG THE reu IS. sEE LISTING 1 FOR AN EXAMPLE.
-
- pECULIARITIES
- -------------
-
- tHERE ARE A FEW VERY MINOR INCONVENIENCES WITH THIS EXPANSION PROJECT
- DETAILED AS FOLLOWS:
- 1) tHE reu WILL NOT WRAP INTERNALLY BETWEEN BANKS OF 512 KB,
- INSTEAD THE reu WILL WRAP TO THE BEGINNING OF THE SAME 512K
- BANK. fOR EXAMPLE, SAVING 2 BYTES TO $ffff IN BANK 7 WILL
- PUT ONE BYTE AT $ffff IN BANK 7, AND THE OTHER AT $0000 IN
- BANK 0 not BANK 8 AS EXPECTED. tHIS IS BECAUSE THE rec CHIP
- DOES NOT RECOGNIZE MORE THAN 512 KB DIRECTLY; WE HAVE FOOLED
- IT TO USE MORE ram.
-
- 2) bANK REGISTER AT $df06 IS WRITE-ONLY WHERE BITS 3 AND 4
- ARE CONCERNED. iF $df06 IS READ, BITS 3 AND 4 (AS WELL AS
- BITS 5, 6, AND 7) WILL ALWAYS BE ONE NO MATTER WHAT BANK OF
- 512 KB THE reu IS IN.
-
- 3) bITS 3 AND 4 OF THE BANK REGISTER AT $df06 ARE NOW
- SIGNIFICANT, BUT IN AN UNEXPANDED reu THEY ARE IGNORED. tHIS
- WHY WE HAVE A SWITCH TO DISABLE ALL BUT 512K OF MEMORY WHEN
- WE RUN INTO NON-COMPATIBLE SOFTWARE. sEE THE NEXT SECTION
- FOR DETAILS.
-
- 4) tHE 512 KB BANK SELECT BITS ARE MEMORY MAPPED BY ONLY THE
- THREE LOWEST ADDRESS BITS. tHIS MEANS THERE ARE IMAGES OF
- THESE BITS AT $df0e, $df16, $df1e, ETC. tHIS IS A TRIVIAL
- MATTER SINCE NO SANE PERSON USES IMAGE ADDRESSES!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cOMPATIBILITY
- -------------
-
- tHERE IS ONLY ONE SOURCE OF SOFTWARE INCOMPATIBILITY IN THIS MODIFICATION;
- THE 2 BIT 512 KB BANK SELECT REGISTER WE HAD ADDED TO $df06. sINCE THESE TWO
- BITS ARE NOW SIGNIFICANT AND DIDN'T USED TO BE, WE COULD HAVE A PROBLEM;
- SOFTWARE THAT DOESN'T SET THESE BITS TO THE SAME VALUE AT ALL TIMES, OR SETS
- THE BITS TO A BANK OF 512 KB THAT ISN'T INSTALLED YET, WON'T WORK. bUT THIS IS
- WHAT THE SWITCH IS FOR!
-
- tHE 2 mB MODIFICATION IS 100% COMPATIBLE WITH ANY SOFTWARE WRITTEN FOR A
- 1750 (512KB) reu, WHEN IN THE SWITCH SELECTABLE 1750 EMULATION MODE (POSITION
- 1, SWITCH CLOSED). uNFORTUNATELY NONE OF THE EXTRA MEMORY BEYOND THIS CAN BE
- ACCESSED WHEN IN THIS MODE. tHIS IS OF NO CONSEQUENCE, SINCE THE SOFTWARE
- CAN'T MAKE USE OF ANY ADDITIONAL MEMORY ANYWAY.
-
- wHEN THE 2 mB MODE IS SWITCH SELECTED (POSITION 2, SWITCH OPEN), WE HAVE
- COMPLETE ACCESS TO HOW EVER MUCH MEMORY WE HAVE ADDED. tHE SWITCH SHOULD BE IN
- POSITION 2 WHENEVER POSSIBLE! mOST SOFTWARE CAN FUNCTION IN THIS MODE,
- INCLUDING geos!
-
- tHE TWO OPTIONAL ledS ARE VERY USEFUL TO DETERMINE IF THE SOFTWARE IS
- COMPATIBLE IN THE 2 mB MODE. iF YOU ARE USING SOFTWARE MEANT TO BE USED WITH A
- 1750 reu, YOU CAN USE THE SOFTWARE IN THE 2 mB MODE IF: DURING A reu TRANSFER
- THE ledS ARE ALWAYS SHOWING THE SAME BANK OF 512 KB IS BEING ACCESSED (ledS
- NOT FLICKERING), AND THEY INDICATE A BANK THAT IS INSTALLED (BANK 0 OF 512 KB
- IS ALWAYS PRESENT). wITHOUT THE ledS, IT IS SIMPLY A MATTER OF SAYING "iT
- WORKS", OR "iT DOESN'T WORK" WHEN YOU USE SOFTWARE FOR A 1750 reu.
-
- fINAL WORDS
- -----------
-
- dON'T LET THE LENGTH OF THIS ARTICLE DISCOURAGE YOU; IT ONLY SEEMS
- DIFFICULT IN PRINT! yOUR reu CAN NOW CONTAIN MORE MEMORY THAN AN AVERAGE ibm
- pc. sO BE NICE TO YOUR ibm BUDDIES, AND DON'T BRAG TOO MUCH! i CAN BE REACHED
- ON q-LINK (SCREEN NAME rECURSION), OR YOU CAN WRITE ME DIRECTLY IF YOU HAVE
- ANY QUESTIONS, COMMENTS, OR CONSTRUCTION IDEAS.
-
- aNDREW e. mILESKI
- 210-180 lEES aVENUE
- oTTAWA, oNTARIO
- cANADA, k1s 5j6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lISTING 1: rECOMMENDED TYPE OF reu MEMORY CHECK
- -----------------------------------------------
-
- iT IS IMPLIMENTED HERE IN basic WITH A reu WEDGE FOR THE c64, BUT CAN
- EASILY BE TRANSLATED INTO ASSEMBLY. tHIS CHECK WILL ALWAYS RETURN THE NUMBER
- OF 64 K BYTE BANKS THAT ARE USEABLE IN THE reu. fetch AND stash DO EXACTLY
- WHAT YOU MIGHT THINK. tHE OPERANDS ARE BYTES TO TRANSFER, COMPUTER BASE
- ADDRESS, reu BASE ADDRESS, AND reu BANK (OF 64 KB) NUMBER.
-
- 2000 rem ****initialize ****
- 2010 rem pUT A SINGLE STATUS BYTE, THAT SHOWS AN UNCHECKED BANK, IN EACH BANK
- OF 64KB.
- 2020 poke 49152,136
- 2030 for i=0 to 255
- 2040 !stash 1,49152,0,i
- 2050 next
- 2060 rem **** test ****
- 2070 rem tEST FOR # BANKS PRESENT BY SEEING IF BANK CHECKED YET. iF NOT,
- CHANGE STATUS OF
- 2080 rem BANK TO CHECKED, AND ADD 1 TO THE # OF BANKS. eLSE, BANK IS CHECKED
- ALREADY AND
- 2090 rem WE'RE DONE! nOTE THAT WE ONLY TEST ONE BYTE PER BANK TO SPEED THINGS
- UP.
- 2100 poke 49152,27
- 2110 i=0
- 2120 !fetch 1,49152,0,i
- 2130 if peek(49152)<>136 then 2190
- 2140 poke 49152,27
- 2150 !stash 1,49152,0,i
- 2160 i=i+1:if i<256 then 2120
- 2170 rem **** done ****
- 2180 rem nUMBER OF BANKS OF 64KB IS NOW IN i.
- 2190 if i=0 then print "reu not present, or not seated properly"
- 2200 if i=2 then print "this is a 1700 (128 k) reu"
- 2210 if i=4 then print "this is a 1764 (256 k) reu"
- 2220 if i=8 then print "this is a 1750 (512 k) reu"
- 2230 if i>8 then print "this is an expanded"; 64*i ;"k reu"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pARTS lIST AND mISCELLANEOUS dATA
- ---------------------------------
-
- rEQUIRED PARTS
-
- ic1: 74f139 dUAL 2 TO 4 LINE DECODER/DEMULTIPLEXOR.
- ic2: 74f74 dUAL d-TYPE FLIP-FLOPS.
- ic3: 74f138 3 TO 8 LINE DECODER/DEMULTIPLEXOR.
- fast SERIES COMPONENTS RECOMMENDED!
-
- 3.3K oHM rESISTOR, 1/4 WATT AND 5% TOLERANCE.
- spst MICRO-MINI TOGGLE, OR SLIDE SWITCH.
- tWO INCH STRIP OF DOUBLE-SIDED FOAM TAPE.
- sUPPLY OF 30 GAUGE WIRE.
- aND OTHER STANDARD TOOLS AND EQUIPMENT.
-
- oPTIONAL
-
- tWO ledS t-1 SIZE.
- tWO 390 oHM RESISTORS, 1/4 WATT AND 5% TOLERANCE.
-
- pIN CONNECTIONS
- ---------------
-
- ic1
- pIN 16: +5 vOLTS 1: *cas0
- 15: *cas1 2: ic2 PIN 5
- 14: ic1 PIN 2 3: ic2 PIN 9
- 13: ic1 PIN 3 4: *casbank0
- 12: *casbank1 5: *casbank2
- 11: *casbank3 6: *casbank4
- 10: *casbank5 7: *casbank6
- 9: *casbank7 8: gROUND
-
- ic2
- pIN 14: +5 vOLTS 1: **1**
- 13: **1** 2: d3
- 12: d4 3: ic3 PIN 9
- 11: ic2 PIN 3 4: +5 vOLTS
- 10: +5 vOLTS 5: ic1 PINS 2,14
- 9: ic1 PINS 3,13 6: led0 **2**
- 8: led1 **2** 7: gROUND
-
- ic3
- pIN 16: +5 vOLTS 1: a0
- 15: nO CONNECTION 2: a1
- 14: nO CONNECTION 3: a2
- 13: nO CONNECTION 4: *i/o
- 12: nO CONNECTION 5: r/*w
- 11: nO CONNECTION 6: tHETA2
- 10: nO CONNECTION 7: nO CONNECTION
- 9: ic2 PINS 3,11 8: gROUND
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- **1** cONNECT THIS PIN TO ONE SIDE OF THE SWITCH. tHERE SHOULD BE TWO PINS
- CONNECTED TO THE SAME SIDE OF THE SWITCH. tO THE SAME SIDE OF THE SWITCH
- CONNECT A SINGLE 3.3K oHM RESISTOR. cONNECT THE FREE END OF THE RESITOR TO +5
- vOLTS. cONNECT THE OTHER SIDE OF THE SWITCH TO GROUND.
-
- **2** cONNECT THIS PIN TO THE CATHODE OF THE led SHOWN. cONNECT THE ANODE OF
- EACH led TO ITS OWN 390 oHM RESISTOR. cONNECT THE FREE END OF EACH RESISTOR TO
- +5 vOLTS.
-
- tOP OF icS ARE INDICATED BY A DOT OR NOTCH. wHEN THE CHIPS ARE INSTALLED
- UP-SIDE-DOWN, THE PIN NUMBERING IS CLOCKWISE FROM THE TOP RIGHT PIN! sINCE THE
- ram CHIPS ARE INSTALLED RIGHT-SIDE UP, THEIR PIN NUMBERING IS COUNTER
- CLOCKWISE FROM THE TOP LEFT PIN. dON'T MIX UP THE NUMBERING!!!
-
-
-
-
- ***nOTE***
-
- tHIS FILE WAS CONVERTED FROM THE ORIGINAL GEOwRITE 2.1 FILE BY THE AUTHOR. tHE
- SCHEMATIC IN GEOpAINT FORMAT HAS BEEN REDUCED INTO THE PIN CONNECTION TABLE
- SHOWN ABOVE. iF YOU HAVE geos 2.0 i RECOMMEND YOU OBTAIN THE ORIGINAL arcED
- FILES FROM q-lINK ("beyond512kb.sda" BY rECURSION)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-