ÔHE MATERIAL CONTAINED IN THIS DOCUMENT IS OF AN EXPERIMENTAL NATURE. ÁS SUCH, ALL CONSEQUENCES RESULTING FROM THE USE OF THE INFORMATION IS THE EXPRESS RESPONSIBILITY OF THE USER. ÔHE AUTHOR SHALL NOT BE HELD LIABLE, AND IMPLIES NO WARRANTIES OR GUARANTEES WHAT SO EVER. ÔHE AUTHOR DOES CERTIFY THAT THE INFORMATION PRESENTED WAS CORRECT, TO HIS KNOWLEDGE, AT THE TIME OF THE FIRST DISTRIBUTION OF THE DOCUMENT. ÔHIS DOCUMENT AND THE INFORMATION IT CONTAINS IS THE SOLE PROPERTY OF THE AUTHOR, WHO RETAINS ALL COPYRIGHTS, AND PATENTS TO THE MATERIAL PRESENTED. ÔHE AUTHOR DOES GRANT A LIMITED DISTRIBUTION RIGHT TO ALL IF THE FOLLOWING CONDITIONS ARE SATISFIED: ÔHE DOCUMENT IS DISTRIBUTED IN COMPLETE AND UNALTERED FORM, WITH THIS LEGAL FORM INCLUDED. ÎO COMMERCIAL DISTRIBUTION (IE. PUBLISHING) OF THE DOCUMENT IS ENTERED INTO WITHOUT THE WRITTEN CONSENT OF THE AUTHOR. ÌASTLY, NO MONIES SHALL BE EXCHANGED FOR THE DISTRIBUTION OF THE DOCUMENT, EXCEPT FOR REPRODUCTION AND SHIPPING CHARGES, WITHOUT THE WRITTEN PERMISSION OF THE AUTHOR. ×ITH THESE CONDITIONS FULFILLED, THE LIMITED DISTRIBUTION LICENSE GRANTS THE HOLDER OF THE DOCUMENT TO OTHERWISE FREELY DISTRIBUTE, AND STORE IT IN ANY MANNER. ÂEYOND 512 KB: ÔHE ÔWO ÍEGABYTE ÒÅÕ ----------------------------------- ÂY ÁNDREW Å. ÍILESKI ÃOPYRIGHT ÏCTOBER 3, 1989. ÉN ÖOLUME 9, ÉSSUE 6 OF THE ÔRANSACTOR, ÐAUL ÂOSACKI SHOWED US A MIRACLE; THE ONE MEGABYTE Ã64. ÐAUL HAD DEVELOPED AN ELEGANT METHOD OF ALLOWING THE Ã64 TO ACCESS THIS EXTRA MEMORY OUT OF THE Ã64'S OWN MEMORY MAP. ÕNFORTUNATELY, THIS EXTRA ÒÁÍ IS RATHER DIFFICULT TO ACCESS, NOT ALL OF IT IS AVAILABLE TO THE USER, AND Ã128 OWNERS CANNOT EXPAND THERE MACHINES IN THE SAME MANNER. ÔHE CIRCUIT NECESSARY FOR THIS FEAT ALLOWS A Ã64 TO USE 256 K ÒÁÍ CHIPS, INSTEAD OF THE 64 K ÒÁÍ CHIPS IT WAS DESIGNED TO USE. ÁLTHOUGH A BRILLIANTLY SIMPLE CIRCUIT, IT IS OVER-KILL WHEN ONE ALREADY HAS A ÒAM ÅXPANSION ÕNIT (ÒÅÕ) THAT DIRECTLY SUPPORTS 256 K ÒÁÍ CHIPS! ÅXPANDING A ÒÅÕ IS RELATIVELY SIMPLE, AND IF YOU ALREADY KNOW HOW TO PROGRAM A ÒÅÕ YOU CAN EASILY TAKE ADVANTAGE OF AN EXPANDED ONE. ÉN FACT, ALL YOUR SOFTWARE THAT USES A ÒÅÕ IS COMPLETELY COMPATIBLE! ÎOW ARE FELLOW Ã128 OWNERS CAN EXPAND THEIR MACHINES EASILY TOO, SINCE THE EXTRA ÒÁÍ IS ACCESSED OUT OF A ÒÅÕ, AND NOT OFF A MODIFIED MOTHER-BOARD! ÉN A 512 KB ÒÅÕ, THERE ARE TWO DYNAMIC ÒÁÍ CHIP BANKS ON THE CIRCUIT BOARD. ÔHEY EACH CONSIST OF EIGHT, 1 BIT BY 256 K DYNAMIC ÒÁÍ CHIPS, WHICH GIVES US OUR 512 K BYTES. ÔHE ÒÅÕ'S INTERNAL BANK REGISTER AT $ÄÆ06 WORKS IN 64 KB INCREMENTS, AND HAS ONLY EIGHT OF THESE ÒÅÕ BANKS. ÂANKS 0 TO 3 ARE ACCESSED OUT OF CHIP BANK ONE (Õ2 TO Õ9), AND BANKS 4 TO 7 ARE ACCESSED OUT OF CHIP BANK TWO (Õ10 TO Õ17). ÐLEASE NOTE THE DISTINCTION BETWEEN CHIP BANKS, AND ÒÅÕ BANKS. ÎOTE: SIGNALS PRECEEDED BY AN ASTERISK INDICATE THAT THEY ARE ACTIVE LOW ÄYNAMIC ÒÁÍ ÂASICS ------------------ ÄYNAMIC ÒÁÍ MEMORY CHIPS ARE CONSTRUCTED WITH MULTIPLEXED ADDRESS INPUTS. ÔHIS MEANS THAT THEY CARRY DIFFERENT INFORMATION AT DIFFERENT TIMES. ÔO ACCESS A PARTICULAR MEMORY CELL, WE FIRST SUPPLY THE CHIP WITH HALF OF THE ACTUAL ADDRESS, A ROW ADDRESS. ÎEXT WE LATCH THIS ADDRESS INTO THE CHIP BY ASSERTING THE ÒOW ÁDDRESS ÓTROBE (*ÒÁÓ). ÎOW WE SUPPLY THE CHIP WITH THE OTHER HALF OF THE ADDRESS, THE COLUMN ADDRESS. ÏNCE AGAIN WE LATCH THIS ADDRESS INTO THE CHIP BY ASSERTING THE ÃOLUMN ÁDDRESS ÓTROBE (*ÃÁÓ). ÄEPENDING ON THE STATE OF THE ×RITE ÅNABLE (*×Å) SIGNAL, A READ OR WRITE MEMORY CYCLE WILL OCCUR. ÕNFORTUNATELY DYNAMIC ÒÁÍS FORGET EVERYTHING UNLESS THEY ARE REMINDED, OR REFRESHED. ÔHIS MUST BE DONE ABOUT EVERY 4 MILLISECONDS! ÔO REFRESH THE MEMORY A ÒÁÓ ONLY CYCLE MUST BE DONE FOR EVERY ROW ADDRESS. ÔHIS MEANS THAT ONLY THE ROW ADDRESS IS LATCHED INTO THE CHIP; THE COLUMN ADDRESS IS NOT NEEDED HERE. ÔHE ENTIRE ROW OF DATA STORED IN THE CHIP WILL BE REFRESHED, AND OUR DATA WILL BE SAFE FOR ANOTHER FEW MILLISECONDS. ÉN A ÒÅÕ THE ÒÁÍ ÅXPANSION ÃONTROLLER (ÒÅÃ) CHIP TAKES CARE OF ALL THIS FOR US. ÆOOLING THE ÒÅà --------------- ÓINCE A ÒÅÕ WAS ONLY DESIGNED TO ACCESS 512 KB OF EXPANSION MEMORY, WE MUST FOOL IT IN ORDER TO ACCESS MORE. ×E DO THIS BY LETTING THE ÒÅÕ THINK THAT IT HAS ONLY 512 KB AVAILABLE AT ANY ONE TIME. ÔHIS MEANS WE NEED SOME WAY TO SWITCH BETWEEN THE EXTRA BANKS OF MEMORY. ÔHE CIRCUIT SHOWN IN THE SCHEMATIC HELPS US TO DO THIS BY ADDING TWO BITS TO THE ÒÅÕ BANK SELECT REGISTER. ÔHIS TWO BIT OUTPUT PORT LETS US SELECT ONE OF FOUR BANKS OF 512 KB. ÓO IN OTHER WORDS, ARE ÒÅÕ NOW THINKS IT IS FOUR SEPERATE 512 KB ÒÅÕS. ÎOW WE CAN EASILY ACCESS UP TO 2 ÍB OUT OF A ÒÅÕ! ÈOW THE CIRCUIT WORKS --------------------- ÔHE SECRET TO EXPANDING DYNAMIC MEMORY LIES IN THE *ÃÁÓ SIGNAL. ÓINCE ALL THE ÒÁÍ CHIPS NEED TO BE REFRESHED WITH *ÒÁÓ, WE DON'T DO ANYTHING TO THIS SIGNAL AND PASS IT TO ALL MEMORY CHIPS. ÔHIS LEAVES US WITH MANIPULATING *ÃÁÓ. ÍANIPULATION OF *ÃÁÓ IS THE JOB OF ÉÃ1, A DUAL TWO TO FOUR LINE DECODER/DEMULTIPLEXOR. ÉT IS USED TO DIRECT THE ÒÅà SIGNALS *ÃÁÓ0 (CHIP BANK ONE), AND *ÃÁÓ1 (CHIP BANK TWO), TO THE CORRECT BANK OF EIGHT ÒÁÍ CHIPS. ×HEN ONE OF THE ÒÅà ÃÁÓ SIGNALS IS ASSERTED, THE ÃÁÓ SIGNAL OF THE SELECTED BANK IS ASSERTED. ÔHE BANK SELECTION IS DONE WITH THE TWO SELECT INPUTS Ó0 AND Ó1 OF ÉÃ1. ÉÃ2 AND ÉÃ3 FORM A TWO BIT WRITE-ONLY REGISTER, WHOSE OUTPUTS ARE THE BANK SELECT INPUTS TO ÉÃ1. ÂITS 3 AND 4 OF THE ÒÅÕ BANK REGISTER AT $ÄÆ06 ARE LATCHED INTO ÉÃ2, TWO Ä TYPE FLIP-FLOPS, ON THE NEGATIVE EDGE OF THE SYSTEM CLOCK (THETA2). ÂY 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. ÉÃ3 IS A 3 TO 8 LINE DECODER/DEMULTIPLEXOR, WHICH IS USED TO DECODE THE LOWEST THREE BITS OF THE É/Ï2 PAGE ($ÄÆ00 TO $ÄÆÆÆ) ADDRESS. ÔHE ÉÃ3 SIGNAL *Ï6 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. ÔHIS HAPPENS WHENEVER $ÄÆ06 IS WRITTEN TO. ÏN A READ MEMORY CYCLE TO $ÄÆ06, ÉÃ3 IS DISABLED AND THE ÒÅÕ'S REGULAR INTERNAL REGISTER APPEARS ON THE DATA BUS. Á SWITCH PULLS THE *ÃÌÒ INPUTS TO EACH OF THE FLIP-FLOPS LOW WHEN IT IS CLOSED (POSITION 1). ÔHIS FORCES THEM TO SELECT BANK ZERO OF 512 KB AT ALL TIMES, WHICH IS PRESENT IN ALL 512KB ÒÅÕS. ×HEN THE SWITCH IS OPEN (POSITION 2), THE FLIP-FLOPS CAN FREELY TAKE ON THE VALUES OF BITS 3 AND 4 OF $ÄÆ06. ÔHIS ALLOWS COMPLETE SOFTWARE COMPATIBILITY WITH A 1750 (512 KB) ÒÅÕ. ÌASTLY, THE TWO ÌIGHT ÅMITTING ÄIODES (ÌÅÄS), WHICH ARE OPTIONAL, SIMPLY SHOW US (IN BINARY) WHAT BANK OF 512K WE ARE USING. ÔHEY ALLOW US TO QUICKLY CHECK SOFTWARE COMPATIBILITY, AS EXPLAINED LATER. ÉNSTALLATION ------------ ÁLL THE EXPANSION HARDWARE FITS INSIDE THE ÒÅÕ CASE. ÙOU WILL NOT BE ABLE TO USE THE ÒÆ SHIELD, AND IT WILL BE A VERY TIGHT FIT WITH ALL 2 ÍB INSTALLED (DON'T USE Éà SOCKETS!). ÓTART BY EXPANDING YOUR ÒÅÕ TO 512 KB, OR IN OTHER WORDS YOU NEED A 1750 ÒÅÕ. ÓEE ÖOLUME 9, ÉSSUE 5 OF THE ÔRANSACTOR, OR THE ARTICLE BY ÓCOTTÂ30 ON ÑUANTUM ÌINK FOR EXPANDING 1764 AND 1700 ÒÅÕS. ÔAKE THE USUAL STATIC PRECAUTIONS, AND OF COURSE, ANY MODIFICATION TO THE ÒÅÕ WILL VOID THE WARRANTY! ÐROCEED AT YOUR SOLE RISK! ÏN THE COMPONENT SIDE OF THE ÒÅÕ, WITH THE EDGE CONNECTOR TOWARDS YOU, LOCATE ÒESISTOR ÐACKAGE ÒÐ3 ON THE LEFT SIDE NEAR THE MIDDLE OF THE BOARD. ÆLIP THE BOARD OVER TO THE SOLDER SIDE, AGAIN WITH THE EDGE CONNECTOR TOWARDS YOU. ÌOCATE ÒÐ3 AGAIN ON THE RIGHT SIDE OF THE BOARD. ÆROM THE TOP OF THE BOARD, FIND PIN 7 OF ÒÐ3 AND CUT THE TRACE LEADING AWAY FROM THE PIN. ÓOLDER A WIRE TO THIS PIN (PIN 7); THIS IS THE *ÃÁÓ0 SIGNAL. ÆIND PIN 3 OF ÒÐ3 AND AGAIN CUT THE TRACE LEADING AWAY FROM THE PIN. ÓOLDER A WIRE TO THIS PIN (PIN 3); THIS IS THE *ÃÁÓ1 SIGNAL. ÆLIP THE BOARD OVER TO THE COMPONENT SIDE WITH THE EDGE CONNECTOR TOWARDS YOU, AND LOCATE RAM CHIPS Õ2 AND Õ10 ON THE TOP LEFT SIDE OF THE BOARD. ÆLIP THE BOARD OVER TO THE SOLDER SIDE AND AGAIN LOCATE THESE CHIPS. ÔO PIN 15 OF Õ2 SOLDER A WIRE; THIS IS THE *ÃÁÓÂÁÎË0 SIGNAL. ÓOLDER A WIRE TO PIN 15 OF Õ10; THIS IS THE *ÃÁÓÂÁÎË1 SIGNAL. ÒUN 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. ÔHIS COMPLETES ALL THE SOLDER CONNECTIONS TO THE SOLDER SIDE OF THE BOARD. ÌOCATE THE FIFTH PIN FROM THE RIGHT ON THE EDGE CONNECTOR AND FOLLOW THE TRACE TO A COMPONENT LEG; NOTE THE PLACEMENT. ÆLIP THE BOARD TO THE COMPONENT SIDE FOR THE LAST TIME, AND LOCATE THE COMPONENT. ÉT IS LABELED ÆÂ2, AND SHOULD BE A ÆERRITE ÂUTTON, BUT IS A 430 ÏHM RESISTOR (YELLOW, ORANGE, BROWN, GOLD BANDS) ON MY ÒÅÕ. ÔO THE OPPOSITE END OF THE COMPONENT, AWAY FROM THE EDGE CONNECTOR, SOLDER A WIRE; THIS IS THE SYSTEM CLOCK SIGNAL THETA2. ÌOCATE THE THIRTEENTH PIN FROM THE RIGHT ON THE EDGE CONNECTOR. ÆOLLOW THE TRACE TO A PASS-THROUGH, AND SOLDER A WIRE INTO IT; THIS IS THE *É/Ï2 SIGNAL. ÌOCATE THE EIGHTEENTH PIN FROM THE RIGHT OF THE EDGE CONNECTOR, AND FOLLOW THE TRACE TO ÆERRITE ÂUTTON ÆÂ1. ÔO THE SIDE AWAY FROM THE EDGE CONNECTOR SOLDER A WIRE; THIS IS THE Ò/*× SIGNAL. ÌOCATE THE EMPTY PINOUT (Õ18) NEXT TO THE SQUARE ÒÅà CHIP. ÓOLDER WIRES INTO THE HOLES FOR PINS 8, 9, 10, 14, 15, 16, AND 28. ÔHESE ARE THE SIGNALS Á2, Á1, Á0, ÇROUND, Ä3, Ä4, AND +5 VOLTS RESPECTIVELY. ÔHIS COMPLETES THE SIGNAL HUNTING. ÌAY A 2 INCH STRIP OF DOUBLE-SIDED FOAM TAPE DOWN THE CENTER OF THE MISSING Éà (Õ18) PATTERN. ÔRY TO LEAVE ROOM NEAR THE RIGHT EDGE OF THE CASE SO YOU CAN MOUNT A SWITCH. ÍOUNT THE ÉÃS, IN ORDER FROM LEFT TO RIGHT, TO THE TAPE ÕÐÓÉÄÅ ÄÏ×Î (PINS STICKING UP) WITH THE NOTCHES (OR DOTS) TOWARDS THE TOP OF THE BOARD. ÐLACE THEM AS FAR APART AS YOU CAN ON THE TAPE. ÎOW CONNECT THE ÉÃS USING (CAREFULLY!) POINT TO POINT SOLDERING, OR WIRE-WRAP ÄÉÒÅÃÔÌÙ ON THE Éà PINS (YES, IT CAN BE DONE). ÉF 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. ËEEP THE CONNECTIONS AS SHORT AS POSSIBLE EG. +5 VOLTS TO PIN 14 OF ÉÃ1 IN MINE IS 1/4 OF AN INCH LONG. ÍOUNT THE SWITCH IN THE TOP HALF AND ON THE EDGE OF THE ÒÅÕ'S CASE IN A CONVENIENT PLACE. É RECOMMEND PLACING IT NEAR THE BOTTOM RIGHT CORNER, NEAR THE PLASTIC POST SINCE THERE IS NOTHING IN THE WAY HERE. Á 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! ÍARK (OR JUST NOTE) THE POSITION OF THE SWITCH ON THE CASE (OPEN: 2 ÍB, CLOSED: 512 KB) WITH A MARKER (ÓANFORD "ÓHARPIE" WRITES PERMANENTLY ON ANYTHING!) OR USE "ÌETTRA ÓET" TYPE LETTERING. ÔHE NEXT STEP, AND LAST STEP, IS TO WIRE AND MOUNT THE TWO OPTIONAL ÌÅÄ INDICATORS. ÓOLDER WIRES TO ALL THE LEADS OF BOTH THE ÌÅÄS. ÄRILL HOLES FOR THEM AT THE TOP EDGE, OF THE TOP HALF OF THE CASE, SO THEY'RE VISABLE WITH THE ÒÅÕ INSTALLED. ÍAKE SURE TO PUT ÌÅÄ1 ON THE LEFT AND ÌÅÄ0 ON THE RIGHT, SO YOU CAN READ THE BANK OF 512 KB IN BINARY (0=UN-LIGHTED, 1=LIGHTED). ÙOUR ÒÅÕ NOW WORKS THE SAME AS BEFORE, AT LEAST IT SHOULD! ÐLUG IT IN, MOVE THE SWITCH TO POSITION 1 (SWITCH CLOSED, THE OPTIONAL ÌÅÄS SHOULD BOTH BE UN-LIGHTED) AND GIVE THE ÒÅÕ A SPIN WITH ANY TEST PROGRAM OF YOUR CHOICE. ÉF THINGS LOOK BAD, POWER DOWN AND RECHECK ALL CONNECTIONS! ÉF IT DOES WORK, CONGRATULATIONS! ÙOU NOW HAVE AN ÒÅÕ THAT CAN BE EXPANDED TO 2 ÍB BY ADDING A MEAGER (48) ÒÁÍ CHIPS. ÁDDING MEMORY ------------- ÅXPAND THE MEMORY BY PIGGY-BACKING THE EXISTING ÒÁÍ CHIPS IN CHIP BANKS ONE OR TWO, STARTING WITH CHIP BANK 1. ÂEND PIN 15 UP, TO A 45 DEGREE ANGLE, ON EACH OF THE ÒÁÍ CHIPS TO BE ADDED. ÃONNECT A WIRE TO THIS PIN BEFORE SOLDERING IT TO THE OTHER ÒÁÍ CHIP. ÏNCE THE CHIP IS SOLDERED IN PLACE, CONNECT THE WIRE TO PIN 15 OF THE NEXT ÒÁÍ CHIP TO BE ADDED. ÓOLDER ANOTHER WIRE TO ITS PIN 15, AND SOLDER THE CHIP IN PLACE NEXT TO THE OTHER. ÃONTINUE IN THIS WAY UNTIL ALL THE ÒÁÍS IN A CHIP BANK ARE PIGGY-BACKED, AND ALL PINS 15 ARE CONNECTED IN A DAISY-CHAIN FASHION IN EACH CHIP BANK. ÓOLDER A WIRE TO PIN 15 OF THE RIGHTMOST ÒÁÍ CHIP IN THE BANK; THIS IS THE *ÃÁÓÂÁÎËX SIGNAL. ÎOW 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. ÁLL THAT IS LEFT IS TO CONNECT THE WIRE *ÃÁÓÂÁÎËX TO AN APPROPRIATE NUMBERED SIGNAL ON ÉÃ1. ÏDD NUMBERED ÃÁÓÂÁÎË SIGNALS ARE FOR ÒÁÍ CHIPS PIGGY-BACKED IN CHIP BANK ONE, EVEN NUMBERED ONES ARE FOR ÒÁÍ CHIPS PIGGY-BACKED IN CHIP BANK TWO. ÃHOOSE THE NEXT AVAILABLE SIGNAL WHEN ADDING A NEW BANK OF ÒÁÍS. *ÃÁÓÂÁÎË0 AND *ÃÁÓÂÁÎË1 ARE RESERVED FOR THE TWO CHIP BANKS ALREADY IN A 512 KB ÒÅÕ. ÃONNECT THE *ÃÁÓÂÁÎËX SIGNAL, AND YOU NOW HAVE ANOTHER 256 KB OF MEMORY! ÒEPEAT FOR CHIP BANK TWO FOR 512 KB EXTRA ÒÁÍ. ÁDD JUST AS MUCH ÒÁÍ AS YOU NEED IN 256 KB INCREMENTS! ÐROGRAMMING AN EXPANDED ÒÅÕ --------------------------- ÙOU DON'T NEED TO DO ANYTHING DIFFERENT TO USE THE EXTRA MEMORY IN THE ÒÅÕ. ÊUST REMEMBER THAT YOU NOW HAVE MORE 64 KB BANKS THAT YOU CAN ACCESS THROUGH THE BANK REGISTER AT $ÄÆ06 WHEN IN 2 ÍB MODE (SWITCH IN POSITION 2). ×HEN IN THE 1750 EMULATION (512 KB) MODE (SWITCH IN POSITION 1), REMEMBER YOU ONLY HAVE ACCESS TO BANKS 0 TO 7 OF 64 KB. ËEEP IN MIND THE PECULIARITIES OF THE 2 ÍB MODE AS WELL. ÔHAT'S ALL THERE IS TO IT! ÔHE NUMBER OF BANKS DEPENDS ON HOW MUCH MEMORY YOU ADDED; 0 TO 15 WITH 1 ÍB, AND 0 TO 31 WITH 2 ÍB FOR EXAMPLE. ÎOTE THAT ALL SOFTWARE THAT TESTS FOR A ÒÅÕ WILL ONLY FIND 512 KB AVAILABLE, SO A SLIGHTLY DIFFERENT MEMORY TEST IS NECESSARY TO CHECK ON HOW MUCH EXPANSION MEMORY WE HAVE. ÓINCE THE ÒÅÕ CAN BE EXPANDED UP TO 2 ÍB IN 256 KB INCREMENTS AT THE USERS DISCRETION, A SLIGHTLY DIFFERENT TEST IS MANDATORY TO FIGURE OUT JUST HOW BIG THE ÒÅÕ IS. ÓEE LISTING 1 FOR AN EXAMPLE. ÐECULIARITIES ------------- ÔHERE ARE A FEW VERY MINOR INCONVENIENCES WITH THIS EXPANSION PROJECT DETAILED AS FOLLOWS: 1) ÔHE ÒÅÕ WILL NOT WRAP INTERNALLY BETWEEN BANKS OF 512 KB, INSTEAD THE ÒÅÕ WILL WRAP TO THE BEGINNING OF THE SAME 512K BANK. ÆOR EXAMPLE, SAVING 2 BYTES TO $ÆÆÆÆ IN BANK 7 WILL PUT ONE BYTE AT $ÆÆÆÆ IN BANK 7, AND THE OTHER AT $0000 IN BANK 0 ÎÏÔ BANK 8 AS EXPECTED. ÔHIS IS BECAUSE THE ÒÅà CHIP DOES NOT RECOGNIZE MORE THAN 512 KB DIRECTLY; WE HAVE FOOLED IT TO USE MORE ÒÁÍ. 2) ÂANK REGISTER AT $ÄÆ06 IS WRITE-ONLY WHERE BITS 3 AND 4 ARE CONCERNED. ÉF $ÄÆ06 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 ÒÅÕ IS IN. 3) ÂITS 3 AND 4 OF THE BANK REGISTER AT $ÄÆ06 ARE NOW SIGNIFICANT, BUT IN AN UNEXPANDED ÒÅÕ THEY ARE IGNORED. ÔHIS WHY WE HAVE A SWITCH TO DISABLE ALL BUT 512K OF MEMORY WHEN WE RUN INTO NON-COMPATIBLE SOFTWARE. ÓEE THE NEXT SECTION FOR DETAILS. 4) ÔHE 512 KB BANK SELECT BITS ARE MEMORY MAPPED BY ONLY THE THREE LOWEST ADDRESS BITS. ÔHIS MEANS THERE ARE IMAGES OF THESE BITS AT $ÄÆ0Å, $ÄÆ16, $ÄÆ1Å, ETC. ÔHIS IS A TRIVIAL MATTER SINCE NO SANE PERSON USES IMAGE ADDRESSES! ÃOMPATIBILITY ------------- ÔHERE IS ONLY ONE SOURCE OF SOFTWARE INCOMPATIBILITY IN THIS MODIFICATION; THE 2 BIT 512 KB BANK SELECT REGISTER WE HAD ADDED TO $ÄÆ06. ÓINCE 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. ÂUT THIS IS WHAT THE SWITCH IS FOR! ÔHE 2 ÍB MODIFICATION IS 100% COMPATIBLE WITH ANY SOFTWARE WRITTEN FOR A 1750 (512KB) ÒÅÕ, WHEN IN THE SWITCH SELECTABLE 1750 EMULATION MODE (POSITION 1, SWITCH CLOSED). ÕNFORTUNATELY NONE OF THE EXTRA MEMORY BEYOND THIS CAN BE ACCESSED WHEN IN THIS MODE. ÔHIS IS OF NO CONSEQUENCE, SINCE THE SOFTWARE CAN'T MAKE USE OF ANY ADDITIONAL MEMORY ANYWAY. ×HEN THE 2 ÍB MODE IS SWITCH SELECTED (POSITION 2, SWITCH OPEN), WE HAVE COMPLETE ACCESS TO HOW EVER MUCH MEMORY WE HAVE ADDED. ÔHE SWITCH SHOULD BE IN POSITION 2 WHENEVER POSSIBLE! ÍOST SOFTWARE CAN FUNCTION IN THIS MODE, INCLUDING ÇÅÏÓ! ÔHE TWO OPTIONAL ÌÅÄS ARE VERY USEFUL TO DETERMINE IF THE SOFTWARE IS COMPATIBLE IN THE 2 ÍB MODE. ÉF YOU ARE USING SOFTWARE MEANT TO BE USED WITH A 1750 ÒÅÕ, YOU CAN USE THE SOFTWARE IN THE 2 ÍB MODE IF: DURING A ÒÅÕ TRANSFER THE ÌÅÄS ARE ALWAYS SHOWING THE SAME BANK OF 512 KB IS BEING ACCESSED (ÌÅÄS NOT FLICKERING), AND THEY INDICATE A BANK THAT IS INSTALLED (BANK 0 OF 512 KB IS ALWAYS PRESENT). ×ITHOUT THE ÌÅÄS, IT IS SIMPLY A MATTER OF SAYING "ÉT WORKS", OR "ÉT DOESN'T WORK" WHEN YOU USE SOFTWARE FOR A 1750 ÒÅÕ. ÆINAL WORDS ----------- ÄON'T LET THE LENGTH OF THIS ARTICLE DISCOURAGE YOU; IT ONLY SEEMS DIFFICULT IN PRINT! ÙOUR ÒÅÕ CAN NOW CONTAIN MORE MEMORY THAN AN AVERAGE ÉÂÍ ÐÃ. ÓO BE NICE TO YOUR ÉÂÍ BUDDIES, AND DON'T BRAG TOO MUCH! É CAN BE REACHED ON Ñ-LINK (SCREEN NAME ÒECURSION), OR YOU CAN WRITE ME DIRECTLY IF YOU HAVE ANY QUESTIONS, COMMENTS, OR CONSTRUCTION IDEAS. ÁNDREW Å. ÍILESKI 210-180 ÌEES ÁVENUE ÏTTAWA, ÏNTARIO ÃANADA, Ë1Ó 5Ê6 ÌISTING 1: ÒECOMMENDED TYPE OF ÒÅÕ MEMORY CHECK ----------------------------------------------- ÉT IS IMPLIMENTED HERE IN ÂÁÓÉà WITH A ÒÅÕ WEDGE FOR THE Ã64, BUT CAN EASILY BE TRANSLATED INTO ASSEMBLY. ÔHIS CHECK WILL ALWAYS RETURN THE NUMBER OF 64 K BYTE BANKS THAT ARE USEABLE IN THE ÒÅÕ. ÆÅÔÃÈ AND ÓÔÁÓÈ DO EXACTLY WHAT YOU MIGHT THINK. ÔHE OPERANDS ARE BYTES TO TRANSFER, COMPUTER BASE ADDRESS, ÒÅÕ BASE ADDRESS, AND ÒÅÕ BANK (OF 64 KB) NUMBER. 2000 ÒÅÍ ****ÉÎÉÔÉÁÌÉÚÅ **** 2010 ÒÅÍ ÐUT A SINGLE STATUS BYTE, THAT SHOWS AN UNCHECKED BANK, IN EACH BANK OF 64KB. 2020 ÐÏËÅ 49152,136 2030 ÆÏÒ É=0 ÔÏ 255 2040 !ÓÔÁÓÈ 1,49152,0,É 2050 ÎÅØÔ 2060 ÒÅÍ **** ÔÅÓÔ **** 2070 ÒÅÍ ÔEST FOR # BANKS PRESENT BY SEEING IF BANK CHECKED YET. ÉF NOT, CHANGE STATUS OF 2080 ÒÅÍ BANK TO CHECKED, AND ADD 1 TO THE # OF BANKS. ÅLSE, BANK IS CHECKED ALREADY AND 2090 ÒÅÍ WE'RE DONE! ÎOTE THAT WE ONLY TEST ONE BYTE PER BANK TO SPEED THINGS UP. 2100 ÐÏËÅ 49152,27 2110 É=0 2120 !ÆÅÔÃÈ 1,49152,0,É 2130 ÉÆ ÐÅÅË(49152)<>136 ÔÈÅÎ 2190 2140 ÐÏËÅ 49152,27 2150 !ÓÔÁÓÈ 1,49152,0,É 2160 É=É+1:ÉÆ É<256 ÔÈÅÎ 2120 2170 ÒÅÍ **** ÄÏÎÅ **** 2180 ÒÅÍ ÎUMBER OF BANKS OF 64KB IS NOW IN É. 2190 ÉÆ É=0 ÔÈÅÎ ÐÒÉÎÔ "ÒÅÕ ÎÏÔ ÐÒÅÓÅÎÔ, ÏÒ ÎÏÔ ÓÅÁÔÅÄ ÐÒÏÐÅÒÌÙ" 2200 ÉÆ É=2 ÔÈÅÎ ÐÒÉÎÔ "ÔÈÉÓ ÉÓ Á 1700 (128 Ë) ÒÅÕ" 2210 ÉÆ É=4 ÔÈÅÎ ÐÒÉÎÔ "ÔÈÉÓ ÉÓ Á 1764 (256 Ë) ÒÅÕ" 2220 ÉÆ É=8 ÔÈÅÎ ÐÒÉÎÔ "ÔÈÉÓ ÉÓ Á 1750 (512 Ë) ÒÅÕ" 2230 ÉÆ É>8 ÔÈÅÎ ÐÒÉÎÔ "ÔÈÉÓ ÉÓ ÁÎ ÅØÐÁÎÄÅÄ"; 64*É ;"Ë ÒÅÕ" ÐARTS ÌIST AND ÍISCELLANEOUS ÄATA --------------------------------- ÒEQUIRED PARTS ÉÃ1: 74Æ139 ÄUAL 2 TO 4 LINE DECODER/DEMULTIPLEXOR. ÉÃ2: 74Æ74 ÄUAL Ä-TYPE FLIP-FLOPS. ÉÃ3: 74Æ138 3 TO 8 LINE DECODER/DEMULTIPLEXOR. ÆÁÓÔ SERIES COMPONENTS RECOMMENDED! 3.3K ÏHM ÒESISTOR, 1/4 WATT AND 5% TOLERANCE. ÓÐÓÔ MICRO-MINI TOGGLE, OR SLIDE SWITCH. ÔWO INCH STRIP OF DOUBLE-SIDED FOAM TAPE. ÓUPPLY OF 30 GAUGE WIRE. ÁND OTHER STANDARD TOOLS AND EQUIPMENT. ÏPTIONAL ÔWO ÌÅÄS Ô-1 SIZE. ÔWO 390 ÏHM RESISTORS, 1/4 WATT AND 5% TOLERANCE. ÐIN CONNECTIONS --------------- ÉÃ1 ÐIN 16: +5 ÖOLTS 1: *ÃÁÓ0 15: *ÃÁÓ1 2: ÉÃ2 PIN 5 14: ÉÃ1 PIN 2 3: ÉÃ2 PIN 9 13: ÉÃ1 PIN 3 4: *ÃÁÓÂÁÎË0 12: *ÃÁÓÂÁÎË1 5: *ÃÁÓÂÁÎË2 11: *ÃÁÓÂÁÎË3 6: *ÃÁÓÂÁÎË4 10: *ÃÁÓÂÁÎË5 7: *ÃÁÓÂÁÎË6 9: *ÃÁÓÂÁÎË7 8: ÇROUND ÉÃ2 ÐIN 14: +5 ÖOLTS 1: **1** 13: **1** 2: Ä3 12: Ä4 3: ÉÃ3 PIN 9 11: ÉÃ2 PIN 3 4: +5 ÖOLTS 10: +5 ÖOLTS 5: ÉÃ1 PINS 2,14 9: ÉÃ1 PINS 3,13 6: ÌÅÄ0 **2** 8: ÌÅÄ1 **2** 7: ÇROUND ÉÃ3 ÐIN 16: +5 ÖOLTS 1: Á0 15: ÎO CONNECTION 2: Á1 14: ÎO CONNECTION 3: Á2 13: ÎO CONNECTION 4: *É/Ï 12: ÎO CONNECTION 5: Ò/*× 11: ÎO CONNECTION 6: ÔHETA2 10: ÎO CONNECTION 7: ÎO CONNECTION 9: ÉÃ2 PINS 3,11 8: ÇROUND **1** ÃONNECT THIS PIN TO ONE SIDE OF THE SWITCH. ÔHERE SHOULD BE TWO PINS CONNECTED TO THE SAME SIDE OF THE SWITCH. ÔO THE SAME SIDE OF THE SWITCH CONNECT A SINGLE 3.3K ÏHM RESISTOR. ÃONNECT THE FREE END OF THE RESITOR TO +5 ÖOLTS. ÃONNECT THE OTHER SIDE OF THE SWITCH TO GROUND. **2** ÃONNECT THIS PIN TO THE CATHODE OF THE ÌÅÄ SHOWN. ÃONNECT THE ANODE OF EACH ÌÅÄ TO ITS OWN 390 ÏHM RESISTOR. ÃONNECT THE FREE END OF EACH RESISTOR TO +5 ÖOLTS. ÔOP OF ÉÃS ARE INDICATED BY A DOT OR NOTCH. ×HEN THE CHIPS ARE INSTALLED UP-SIDE-DOWN, THE PIN NUMBERING IS CLOCKWISE FROM THE TOP RIGHT PIN! ÓINCE THE ÒÁÍ CHIPS ARE INSTALLED RIGHT-SIDE UP, THEIR PIN NUMBERING IS COUNTER CLOCKWISE FROM THE TOP LEFT PIN. ÄON'T MIX UP THE NUMBERING!!! ***ÎOTE*** ÔHIS FILE WAS CONVERTED FROM THE ORIGINAL GEO×RITE 2.1 FILE BY THE AUTHOR. ÔHE SCHEMATIC IN GEOÐAINT FORMAT HAS BEEN REDUCED INTO THE PIN CONNECTION TABLE SHOWN ABOVE. ÉF YOU HAVE ÇÅÏÓ 2.0 É RECOMMEND YOU OBTAIN THE ORIGINAL ÁÒÃED FILES FROM Ñ-ÌINK ("ÂÅÙÏÎÄ512ËÂ.ÓÄÁ" BY ÒECURSION)