home *** CD-ROM | disk | FTP | other *** search
/ TAP YIPL / TAP_and_YIPL_Collection_CD.iso / PHREAK / CELLULAR / OKI900~1.TXT < prev    next >
Text File  |  1999-08-11  |  56KB  |  1,415 lines

  1.    _____     ___   ____   ____      _____       _____       _____
  2.  _|     |_  |_  | |_  _| |_  _|   _|     |_   _|     |_   _|     |_
  3. |   ___   |   | |  / /     ||    |   ___   | |   ___   | |   ___   |
  4. |  |   |  |   | | / /      ||    |  |   |  | |  |   |  | |  |   |  |
  5. |  |   |  |   | |/ /       ||    |  |___|  | |  |   |  | |  |   |  |
  6. |  |   |  |   |   /        ||    |_        | |  |   |  | |  |   |  |
  7. |  |   |  |   |   \        ||      |____   | |  |   |  | |  |   |  |
  8. |  |   |  |   | |\ \       ||     __    |  | |  |   |  | |  |   |  |
  9. |  |___|  |   | | \ \      ||    |  |_ _|  | |  |___|  | |  |___|  | 
  10. |_       _|  _| |  \ \_   _||_   |_  |_|  _| |_       _| |_       _|
  11.   |_____|   |___| |____| |____|    |_____|     |_____|     |_____|
  12.  
  13.                  The Complete Oki 900 guide
  14.                         by IceBerg
  15.   Ver.0.90 (final Beta spelling will be fixed for final release)
  16.   This File is not to be sold or distributed w/o my permission
  17.   bb970@freenet.uchsc.edu
  18.  
  19.  
  20.    THIS file will be available at http://www.l0pht.com/radiophone/oki
  21.    it is Dr. Who's page, and I will make sure he has ALL updates to this
  22.    file.  
  23.  
  24.  
  25. WARNING:  some or all of the information given within this file
  26. may not be legal to implement.  This means that if you use any of
  27. this information, you also accept the consequences of your
  28. actions.  The author accept no responsibility for your actions
  29. nor for the accuracy in this file.  From this point you are on
  30. your own, and if you do something illegal be prepared to pay the
  31. penalty.
  32.  
  33.  
  34. NOTICE:  I am not the originator of all of this information. Some of the
  35. information has been taken from various text files.  This guide is just a
  36. means of placing all of the information in one place.  Since there are too
  37. many sources to list, I am just saying thank you to all of the people who
  38. have put out useful information on the oki 900.
  39.  
  40.  
  41. Contents:
  42.      1. General Information
  43.      2. Memory Functions
  44.      3. Conversation Menu
  45.      4. Main Menu
  46.      5. 2nd Menu
  47.      6. Admin Menu
  48.      7. TestMode/ Good Timing Mode
  49.      8. Program Dealer Password
  50.      9. Service Monitor Mode
  51.     10. Scanning
  52.     11. Memory Break Down
  53.     12. OKI Character Set
  54.     13. OKI 900 modifications
  55.     14. C-TEK
  56.     15. Software
  57.     16. Hardware
  58.     17. Pin outs
  59.     18. 8051 Programming
  60.     19. Notes
  61.  
  62.  
  63.  
  64. 1.General Information
  65.  
  66.      The oki 900 cellular phone is one of the if not the most
  67. modifiable cellular telephone in the world.  It is based around
  68. an 8051 microprocessor, and the main program is stored on a 27C512
  69. eprom.  Oki reproduced it's popular model 900 cellular phone for
  70. AT&T under the model AT&T 3730.  Both are identical in appearance
  71. and in circetry.  The 900 operates off of 6 volts, either from a
  72. ni-cad battery or one of two types of battery eliminators (see
  73. accessories for more information).  The 900's antenna is an sma
  74. connector.
  75.  
  76.      Sending/Receiving Calls
  77.  
  78.           To place a call directly power up the unit enter the
  79. phone number on the keypad then press the send(snd).  You will
  80. soon be connected to the called party.
  81.  
  82.           To place a call from a memory location, press the
  83. recall(rcl) button then enter the memory location and press the
  84. send(snd) button.
  85.  
  86.           To place a speed dial call, enter memory location, and
  87. press SND
  88.  
  89.           To receive an incoming call the unit must be powered
  90. up.  When the phone rings press the send(snd) button.
  91.  
  92.           To end the call press end.
  93.  
  94.      Adjusting the Volume
  95.  
  96.           Ring Volume: Press the up and down buttons on the side
  97. of the phone while the phone is ringing.  The ring volume can
  98. also be adjusted in the menu options(see second menu).
  99.  
  100.           Ear Volume: Press the up and down buttons on the side
  101. of the phone during conversation.
  102.  
  103.           Key Volume: Press the up and down buttons on the side
  104. of the phone any time the phone is not ringing or connected to
  105. another party.
  106.  
  107.           Muting Ring and Key volume: Set the volume to it's
  108. absolute lowest level (no lines).  When ring volume is muted the
  109. display will flash letting you know you have an incoming call.
  110.  
  111.           Viewing Last Dialed Number: press RCL, *, *
  112.  
  113.           Viewing your own number:  press RCL, #
  114.  
  115.           Viewing your system ID:  press RCL, #, #
  116.  
  117.           Hook Flash:  Used for those who have call waiting
  118. service.  When you receive a call and you are non the phone you
  119. can press SND to switch lines and SND to switch back.
  120.  
  121.           Review Long Numbers: To display the second 16 digits of
  122. a number that is over 16 digits RCL, RCL.
  123.  
  124.           Review Call Timer: Press RCL, #, #, #.  This timer is
  125. only reset when the phone is powered down.
  126.  
  127.           Review Cumulative Timer: Press RCL, #, #, #, #.  This
  128. timer can not be reset in any normal node.  
  129.  
  130.           Review Lifetime timer: Press RCL, #, #, #, #, #.  To my
  131. current knowledge this timer can not be reset through the phone.
  132.  
  133.  
  134. 2. Memory Functions
  135.  
  136.      The 900 has the capability to store 200 names and numbers in
  137. memory locations 000-199.  This is a maximum capacity of 8000
  138. characters (8 letters and 32 digits per entry).  Memory locations
  139. 190-199 are considered secret locations, as they will not display
  140. the name or number in that location.
  141.  
  142.      Storing Phone Numbers: Enter number, Sto, three digit memory
  143. location (or * for net free location). NOTE: The 900 will not
  144. automatically save to locations 190-199 by using *.
  145.  
  146.      Storing Names: Press ALPH, enter name (see below for alpha
  147. entry), Sto, enter phone number, STO, enter 3 digit memory
  148. location (or *).  Pressing ALPH will disengage the alpha entry
  149. mode.
  150.  
  151.      Alpha Entry: Pressing ALPH places you in alpha entry mode. 
  152. This allows you to enter alpha numeric digits, and a few
  153. punctuation digits.  Pressing a key will allow you to scroll
  154. through the alpha numeric characters for that key. So a single
  155. press on the 1 key would display Q, a second press would display
  156. Z, a third press would display &, and a fourth press would
  157. display 1.  If you continue Pressing a key it will continue to
  158. loop.  All the characters are displayed in upper cases, to change
  159. to lower case you must press the MENU key, which will act like a
  160. shift key.  Pressing a key other than the one first pressed will
  161. enter the displayed digit, and move to the next cursor position
  162. displaying the first character for the newly pressed key.  The
  163. arrow keys on the side of the phone control the cursor
  164. position, allowing editing and the use of multiple characters
  165. from the same key.
  166.  
  167.      Dialing During Conversation:  To send a memory location
  168. During a conversation, press RCL, memory location, Menu, SND.
  169.  
  170.      Storing Pauses: To store a pause in a Dialing sequence, you
  171. need to press the END key at the position in the dial sequence
  172. you wish the pause to occur.  The display will show a P were the
  173. pause is.  The first pause is manual and requires you to hit
  174. send before sending the rest of the dial string.  All pauses
  175. after the first only pause for three seconds before proceeding.
  176.  
  177.      Substitute a location:  To replace a number currently stored
  178. in a memory location with a new number, simply follow the above
  179. directions for either storing numbers or storing names.  When you
  180. enter STO, and the memory location, the 900 will prompt you if
  181. that location is already in use.  To over write, just hit STO
  182. again.
  183.  
  184.      Erasing a Location:  To erase a location, press STO (do not
  185. have a number entered before this), memory location, Sto.  The
  186. location will be erased.
  187.  
  188.      Scrolling Memory:  To scroll through memory locations press
  189. RCL and then use the up and down arrows to scroll through the
  190. locations.  To start at a specific location press RCL, memory
  191. location, and then use the arrow keys to scroll.  You can
  192. initiate a call to the displayed location by pressing SND.
  193.  
  194.      Scrolling Names:  To scroll through the names in
  195. alphabetical order, press ALPH, RCL (repeatedly to scroll).  Names
  196. are only alphabetized by the first digit, and then by location
  197. number.  To initiate a call to displayed name press SND.
  198.  
  199.      Search for Name:  Press ALPH, enter letters of the name,
  200. RCL.  If a match is found, it will be displayed.
  201.  
  202.      Scratch Pad:  During conversation, you can enter a number
  203. into temporary memory called the scratch pad.  To do this press
  204. MENU during a conversation.  While entering the number keys are
  205. muted.  Up to five numbers of 32 digits can be stored in the
  206. scratch pad
  207.  
  208.           Remote Access:  The called party can enter numbers into
  209. you scratch pad for you by pressing *, phone number, #.  Pressing
  210. * again will allow a second, third fourth or fifth number to be
  211. entered.
  212.  
  213.           NOTE: During remote entry, if the remote party
  214. presses 0 within two second after pressing #, the 900 will end
  215. the current call, and initiate a call to the number entered into
  216. the scratch pad.
  217.  
  218.           Recall Scratch Pad:  To recall numbers in the scratch
  219. pad, press RCL, *, and use the arrow keys to scroll through the
  220. numbers in the scratch pad.  These numbers can be placed into a
  221. normal memory location by recalling the scratch pad number then
  222. pressing STO, and the memory location to store to (or *).
  223.  
  224.      Roam Numbers:  Up to 30 roam numbers can be entered separate
  225. from standard memory locations.  To do this press ALPH, STO,
  226. number, STO, Name, STO.  To review press RCL, *, *, *, *, and use
  227. arrow keys to scroll.  To erase a roam number, recall the desired
  228. roam number, press STO, STO.
  229.  
  230.  
  231. 3. Conversation Menu
  232.  
  233.      The conversation menu can be accessed by pressing the menu
  234. button During conversation.
  235. You can then scroll through the menu options by pressing menu
  236. repeatedly, or by using the arrow keys
  237.  
  238.      Silent Pad/ Scratch Pad: First option in the conversation
  239. menu.  Allows the silent entry of digits into the phone during
  240. conversation (see scratch pad above).
  241.  
  242.      Mic Mute:  The second option in the conversation menu. 
  243. Mutes the microphone during conversation, allowing you to hear
  244. the called party, but they are unable to hear you.
  245.  
  246.      Battery:  To view the power level of the battery during
  247. conversation.
  248.  
  249.  
  250. 4. Main Menu
  251.  
  252.      The main menu is accessed by pressing the menu button once while the phone 
  253. is not in use.  Then you can use the arrow keys
  254. to scroll through the menu options.
  255.  
  256.      One Step Dialing:  allows instant Dialing of memory
  257. locations 0 through 9 by pressing Menu then the one digit memory
  258. location.  There is no need to hit send with this option.
  259.  
  260.      Battery Meter:  Displays the remaining battery power.
  261.  
  262.      Users Manual:  Press RCL to initiate, and rcl to scroll
  263. through the list of instructions.
  264.  
  265.      Lock Phone:  Pressing 0 and your lock code will lock the
  266. phone.  When the phone is locked the only thing the phone will
  267. accept are the unlock code, or a 911 call.
  268.  
  269.      Auto Answer Modes:
  270.  
  271.           Voice Mode:  In this mode your phone will automatically
  272. answer it's self.  This allows you ease of use in places like a
  273. car were you need to concentrate on driving and not pressing
  274. buttons on your phone.  To deactivate return to Main Menu and 
  275. turn off auto answer mode.
  276.  
  277.           Absence Mode: In this mode your phone will answer up to
  278. 9 times allowing the calling party to enter their phone number. 
  279. After the ninth call the 900 will only log the number of missed
  280. calls.  You will be prompted for the number of rings to answer
  281. on (1-4).  Using this mode allows you to use the power button to
  282. start the 'Auto Power Off Timer'.  The timer will keep the phone
  283. in Absence mode for 5 hours before powering down.  When someone
  284. calls, the 900 will answer and the caller will hear 3 tones
  285. (similar to a pager).  After the tone the caller has the
  286. following options:
  287.           Enter Phone Number then #
  288.           Enter Memory Location (if exists) then #
  289.           Enter *, Phone Number then #
  290.           Enter *, Memory location then #
  291. If the caller pauses for 15 seconds, the 900 will erase all
  292. currently entered digits.  To deactivate follow the same
  293. directions as in Voice Mode above.
  294.  
  295.           Reviewing Absence Calls:  Press RCL, *, *, *.  The
  296. display shows the total number of messages received followed by '
  297. To Scroll Press ' and the symbols for the up and down arrows. 
  298. You can then scroll through the messages.  You can initiate a
  299. call to any of the numbers displayed by hitting SND.
  300.  
  301.      Remote Locking:  You can lock your phone remotely while the
  302. phone is in Voice or Absence modes.  To do this call your phone,
  303. when the call is answered press *, then # within 2 seconds, then
  304. enter the lock code, you will hear a tone, press 5 to lock the
  305. phone.
  306.  
  307.      Remote Disable Auto Answer:  Call the 900, when it answers
  308. press *, # within 2 seconds after *, enter unlock code, 2.
  309.  
  310.      Credit Card Calling:  Automatically uses your programmed card
  311. information (see Admin menu) to place calls to numbers 10 digits
  312. in length or more.  The 900 will automatically insert o in front
  313. of the number.  After you press send you will hear  tone you can
  314. then press send again to initiate the card calling routine.
  315.  
  316. 5. Second Menu
  317.  
  318.      To access this menu press menu, and scroll through till you
  319. see 2nd Menu and press RCL
  320.  
  321.      Back-light Mode:  Press RCL to scroll through the available
  322. options and leave it on the desired option.
  323.  
  324.      Ring Adjust:  Press STO to cycle through the available
  325. tones, and use the arrows to adjust ring volume.  Press menu to
  326. advance.
  327.  
  328.      Auto Redial:  Once you have reached this feature, press RCL
  329. to scroll through it's options.  When active you can dial a
  330. number and if it is busy you do not need to press end the phone
  331. will end the call it's self, and dial back in the selected amount
  332. of time.
  333.  
  334.      Display:  This option allows you to select how names and
  335. numbers from memory will be displayed.  Press STO to save the
  336. option.
  337.  
  338.      One Minuet Beep:  This option sets the 900 to beep after the
  339. first 50 seconds of conversation, and each additional minuet
  340. after.  The party on the other end does not hear the beeps.
  341.  
  342.      Auto Lock:  Puts the phone into locked mode every time it is
  343. powered up.
  344.  
  345.      Vacant Address:  Search for available vacant addresses.  STO
  346. can be used to store the number previously entered into the
  347. displayed location.
  348.  
  349.      Alert Tones:  RCL will scroll through the options, press STO
  350. to select.  Service Area Tone On will emit one long tone when
  351. entering a service area.
  352.  
  353.  
  354. 6. Admin Menu
  355.  
  356.      To access the Admin Menu press Menu, and scroll to the Admin
  357. selection, press recall and the 6 digit security code (provided by
  358. the dealer).
  359.  
  360.      NAM Select:  Your Oki 900 allows you to select between up to 5 individual 
  361. phone numbers.  This can be so you can have service
  362. through multiple providers.  You can manual select witch nam to
  363. use or place it on auto name.  I am not sure if auto will select
  364. the first available name, or if it will select the nam to which
  365. the signal is strongest or what.
  366.  
  367.      Carrier Select:  Lets you select the carrier of your choice:
  368.           Sys Prefer B: phone uses B (wierline) carrier if
  369. available or A (non wierline) if B is not available
  370.           Sys Prefer A: phone uses A carrier if available or B if
  371. A is not available
  372.           Sys A only: Will only use A type carriers
  373.           Sys B only: Will only use B type carriers
  374.           Home Only: Phone will only use it's home system
  375.           Only SID: Phone will only use the system ID entered.
  376.  
  377.      Card Calling: This option allows programming for the
  378. automatic card billing in the main menu.  When the 900 prompts
  379. you for the OCC, it is wanting the phone number to dial to use
  380. your credit card or calling card.  Press STo and it will want the
  381. card number, press store again and you are done.
  382.  
  383.      Restrict Calls:  This is a 4 digit code that defines the
  384. types of calls allowed.
  385.  
  386.           0000 is default with no restrictions.
  387.  
  388.           First digit - incoming calls
  389.           0 No restriction
  390.           1 Restricted
  391.  
  392.           Second Digit - Access to memory locations
  393.           0 No restriction
  394.           1 Storage restricted all locations readable
  395.           2 Storage restricted read only locations 0-9
  396.           3 Restricted
  397.  
  398.           Third Digit - Manually dialed calls
  399.           0 No restriction
  400.           1 11 digits or less 
  401.           2 10 digits or less, toll free and credit/calling card
  402. calls only
  403.           3 7 digits or less, toll free credit/calling card calls
  404. only
  405.           4 911 only
  406.  
  407.           Fourth Digit - Operator Access
  408.           0 No restriction
  409.           1 Restricted
  410.  
  411.      Programming Lock Code:  This feature will show you the unlock
  412. code, and allow you to change it.  Lock codes can be 1-8
  413. alpha/numeric digits excluding symbols.
  414.  
  415.  
  416. 7. TestMode/Good Timing Mode
  417.  
  418. Power the phone up.  Wait for Power On msg.  Hit 7 and 9 together.
  419. Then hit Menu, Snd, End, Rcl, Sto, Clr.  Phone says good timing!
  420. TestMode is now enabled, but phone works normally.  Hit 1 and 3
  421. together to halt phone and enter debugger.  Everything on display
  422. lights up.  Hit Clr, till you get status display.
  423.  
  424. Now you can execute commands listed below.  For example to reboot
  425. phone
  426. enter #, 0, 2, Snd.  Commands all start with # and end with Snd. 
  427. Some
  428. take arguments.
  429.  
  430. You can use #25, to display memory in EEPROM, and I think once in
  431. that command you can hit # and * to go up and down in memory, Clr
  432. to
  433. exit.  Hex chars are entered as "*n", like *1=A, *2=B, etc.
  434.  
  435.  
  436. SUSPEND     #01         Performs Initialization
  437. RESTART     #02         Terminates the test mode
  438. STATUS      #03         Shows current status of TRU
  439. RESET       #04         Resets the autonomous timer
  440. TURNAROUND  #05    ?    Returns Data Bytes following command to
  441. the Test Set.
  442. INIT        #06         Initialize the TRU to following states:
  443.                          Carrier Off, Attenuation - 0db, Receive
  444. Audio Muted
  445.                          Transmit Audio Muted, Signaling tone
  446. off,
  447.                          Autonomous timer reset, SAT off, and
  448. DTMF off
  449. CARRIER ON  #07         Turns the carrier on
  450. CARRIER OFF #08         Turns the carrier off
  451. LOAD SYNTH  #09XXXX     Sets the synthesizer to channel XXXX
  452. SET ATTN    #10X        Set the RF power attenuation to X
  453.                          0=0db, 7=-28 db (in steps of -4db thru
  454. 7)
  455. RXMUTE      #11         Mutes the receive audio
  456. RXUNMUTE    #12         Unmutes the receive audio
  457. TXMUTE      #13         Mutes the transmit audio
  458. TXUNMUTE    #14         Unmutes the transmit audio
  459. RESETOFF    #15         Discontinues resetting of autonomous
  460. timer
  461. STON        #16         Transmits a continuous signaling tone
  462. STOFF       #17         Stops transmission of signaling tone
  463. SETUP       #18         Transmits a 5 word RCC message (fixed
  464. text pattern)
  465. VOICE       #19         Transmits a 2 word (RCC) RVC message
  466. (fixed test pattern)
  467. RCVSU       #20         Receives a 2 word FCC message (cancel
  468. with 0x38)
  469. RCVVC       #21         Receives a 1 word (FCC) FVC message
  470. (cancel with 0x38)
  471. SEND-NAM    #22         Returns the information contained in the
  472. NAM
  473. VERSION     #23
  474. SEND-SN     #24
  475. MEM         #25XXXX     Displays the resident memory data at XX
  476.                                   00XX=in micro, XXXX=EEPROM
  477. WSTS        #28         Count 1 word messages on CC, until
  478. TERMINATE
  479. WSTV        #29         Count 1 word messages on VC, until
  480. TERMINATE
  481. SATON       #32X        Enable the transmission of SAT X
  482.                          0= 5970 Hz, 1=6000 Hz, 2=6030 Hz
  483. SATOFF      #33         Disables the transmission of SAT
  484. CDATA       #34<60>     Transmits 5 word RCC message (30 bytes)
  485. HITNON      #35         Activates the 1150Hz tone to receive
  486. audio line
  487. HITNOFF     #36         Deactivates the 1150Hz tone
  488. LOTNON      #37         Activates the 770Hz tone to receive audio
  489. line
  490. LOTNOFF     #38         Deactivates the 770Hz tone
  491. DTMFON      #42XX       Enable the transmission of DTMF frequency
  492. XX[2]
  493. DTMFOFF     #43         Disable the transmission of DTMF
  494. ?           #44
  495. ?           #45
  496. ?           #46
  497. ?           #47
  498. ?           #48
  499. ?           #51
  500. -           #52<xx>
  501.  
  502.  
  503.  
  504.  
  505. ?           #53
  506. -           #54XXXXZZ   Write HEX (ZZ) into ADDRESS $XXXX
  507.                         if 00XXZZ then store #$YY in MicoRAM $XX
  508. -           #56         Return Value stored in $BEBB
  509. ?           #60
  510. ?           #62
  511. ?           #63
  512. RCVSU       #64         Receives a 2 word FCC message (duplicate
  513. of cmd #20)
  514. COMP-ON     #65         Enable the compressor and expander
  515. COMP-OFF    #66         Disable the compressor and expander
  516. setvol      #67         X-Set volume (0-7) 0=max
  517. SERIAL I/O  #683XX?     Mutes/Unmute Tx/Rx Audio Signal Enable
  518.                         Disable the Compressor/Expander,
  519. XX=commanded states.
  520.                             CMD Compress Tx Mute Rx Mute
  521.                             --- -------- ------- -------
  522.                             40  on       unmuted unmuted
  523.                             41  off      unmuted unmuted
  524.                             42  on       muted   unmuted
  525.                             43  off      muted   unmuted
  526.                             44  on       unmuted muted
  527.                             45  off      unmuted muted
  528.                             46  on       muted   muted
  529.                             47  off      muted   muted
  530. ?           #72          [pulls something, outputs 1 word!?!]
  531. ?           #73<arg>  (DO NOT try this on a 4003 chip)
  532.  
  533.                       Scans channels,...
  534.  
  535.                        #73 XXXX xxxx YY
  536.  
  537.                         XXXX = Start channels scan
  538.                         xxxx = End   channels
  539.                          yy  = Time
  540.               
  541. ?           #74
  542. -           #75         Enable Handsfree (disable spkr)
  543. -           #76         Disable Handsfree (enable spkr)
  544. -           #77         Turns on Loudspeaker near mic
  545. -           #79
  546. ?           #80
  547. ?           #81
  548. ?           #84
  549. ?           #85
  550.  
  551.  
  552. 8. Program Dealer Password
  553.  
  554.  
  555.      1. Press <Rcl> and <Menu> simultaneously immediately after
  556. powering on.
  557.  
  558.      2. The back-door password for ALL OKI 900 telephones is
  559. *62729854#
  560.    Oki ALSO RECOMMENDS "4836622666" or "*12345678#" or
  561. "0000000000".
  562.  
  563.      3. Press <Sto> to enter the password into memory again.
  564.  
  565.  
  566. 9. Service Monitor Mode Programming Sequence:
  567.  
  568.      This is an especially important thing to know... Usually
  569. when a Cellular Company wants to find you what they do is vector
  570. in on you by switching the cellular towers you are on three or
  571. four times in a row and then take the signal strength of all of
  572. the towers to locate you to within a 500 square foot radius...
  573. comprehend??? So in order to better save your ass the OKI has a
  574. built-in Service Monitor Mode... To access this mode do the
  575. following any time when the Phone in Powered ON...
  576.  
  577. 1. Any time during normal telephone operation you can put the
  578. phone into service monitor mode by pressing both the <Rcl> and
  579. <Menu> Keys at the same time and then typing in the sequence....
  580. * T E S T M O D E # then the screen will flash "Service
  581. Monitor"... The first two digits on top are the signal strength
  582. in Hex... the last four digits on the bottom are the channel you
  583. are on... the others are just diagnostic info crap... Whenever
  584. your channels change more than three or four times in 30 seconds 
  585. it is time to turn off the phone. 
  586.  
  587.  
  588. 10. Cellular Scanning Programming Sequence:
  589.  
  590.      1. Put the phone into DEBUG Mode.
  591.      2. Use command #12 followed by <Snd> to unmute the receive
  592. audio.
  593.      3. The Type in command #73AAAABBBBCC followed by <Snd>.
  594.     AAAA = 4 digit low channel number (Channel to begin scan on)
  595.     BBBB = 4 digit high channel (Cell Channel to end scan on)
  596.       CC = 2 digit number for how many seconds to scan each
  597. channel.
  598.      4. Next the phones screen will display 4 digits... the
  599. current channel it is scanning.... the # button pauses and unpauses and the *
  600. button restarts the scan from the low channel during the scan.
  601.  
  602. However, do not try this if you have a 4003 chip, it has a tendency to lock
  603. the phone up requiring you to remove the chip to reset the phone.
  604.  
  605.  
  606. 11. Memory Break Down
  607.     
  608.   Here is the break down of the Oki 900 phone.  
  609.  
  610.     $0000-$FFFF (64K) - Software PROM 
  611.     $0000-$00FF (256) - Micro Internal Memory
  612.     $7000-$70FF (256) - Glue Logic 
  613.     $A000-$BFFF (8K)  - EEPROM
  614.     $C000-$C0FF (256) - Extended RAM
  615.     $D000-$D0FF (256) - Screen Memory
  616.  
  617.  
  618. $0000-$FFFF (64K)  - Software PROM 
  619.  
  620.      This is the software of the phone.  The software controls the
  621. phone.  This is where one will need to change the code to allow for
  622. the ESN to be changed.  The ROM version covered here is the 4701.
  623. The 4003 is not covered.                        
  624.  
  625. Common LCALLS in the Oki 900
  626.  
  627.    Here is a small list of some of the more common lcalls that are 
  628. used in the Oki 900.  This may or may not help, but here they are:
  629.  
  630. lcall $04c2   - Sets $D0-$D1 and $A0-$A1 to $78 (there is a good reason)
  631. lcall $0542   - Fixes NAMs if needed, check summ
  632. lcall $055a   - Sets up security code via ESN, hex to dec conversion
  633. lcall $0723   - Clr A Set Of Locations to X00, X=R2, DPTR point to first
  634. lcall $072d   - Clears custom power on message BEAF to BEB6
  635. lcall $073d   - ESN chksumm   
  636. lcall $07e6   - Will reset the NAM if something happens to it
  637. lcall $13d4   - ACC.6 to C and lcall $2fe1   Write to screen direct....
  638. lcall $152c   - Display on screen (calls $2fe1 along the way)
  639. lcall $1549   - $7A to A and ACC.6 to C
  640. lcall $1638   - Gets key from keyboard and wonders if it is clear
  641. lcall $2722   - Mov DPTR, #$bec2 ESN working storage location mov R7, #04h
  642. lcall $274f   - Reads from BED1 BED2
  643. lcall $2e59   - Puts DPTR to R5 and R6 (DPH to R5,  DPL to R6)
  644. lcall $2e5e   - Puts R5 and R6 to DPTR (R5 to DPH, R6 to DPL)
  645. lcall $2f17   - 22->A, 8->R7, JMP to write to screen ($2fe1)
  646. lcall $2f4e   - lcall 3016, A->R7, 10->A, Screen Write, etc...
  647. lcall $2fb3   - A->R0, 39->A, Alcall N2fb3F0, CJNE A on F0 to B2fbc 
  648.         (R0->A, F0->A, scr write) $2fe1
  649. lcall $2fc3   - A->R7, 10->A, jmp to Screen Write ($2fe1)
  650. lcall $2fd2   - A->R7, A->@C087, CLR A, JMP to Screen write ($2fe1)
  651. lcall $2fe3   - The REAL screen write!!
  652. lcall $2ffb   - Write A to @DPTR, for EEPROM (ATMEL 28C64)
  653. lcall $3042   - Adjusts on over load!
  654. lcall $305e   - Change channel
  655. lcall $3110   - adds 40h (64d) to name address used for NAM pulls
  656. lcall $31f5   - Point to the correct location of the NAM selected
  657. lcall $3265   - Goto current NAM location and Read it out
  658. lcall $347a   - Clr #$7f, Lets just save one byte
  659. lcall $347d   - Resets the autonomous timer
  660. lcall $34a7   - Enable Handsfree
  661. lcall $34b0   - Disable Handsfree (enable Spkr)
  662. lcall $3546   - Mutes the receive audio
  663. lcall $354a   - Unmutes the receive audio
  664. lcall $3552   - Unmutes the transmit audio
  665. lcall $3797   - Setup for call
  666. lcall $3834   - Checks if key is pressed
  667. lcall $3887   - Gets and Decodes a Control Channel Message
  668. lcall $38e6   - Get FCC message
  669. lcall $3939   - Decode FCC Message
  670. lcall $5b5e   - Inc DPTR, with DPL inc to only thru $00-$29 and $2b-$3e
  671. lcall $5b5e   - Inc DPTR, with DPL inc to only thru $00-$29 and $2b-$3e
  672. lcall $5d84   - NAM Checksum byte correction
  673. lcall $34b6   - Turns on Loudspeaker near mic (Used in Debug #77)
  674. lcall $37cf   - Enable the compressor and expander (Used in Debug #65)
  675. lcall $37d6   - Disable the compressor and expander (Used in Debug #66)
  676. lcall $34c6   - Turns the carrier off (Used in Debug #08)
  677. lcall $3741   - Transmits a continuous signaling tone (Used in Debug #16)
  678. lcall $354e   - Mutes the transmit audio (Used in Debug #13)
  679.  
  680. Misc. Locations in the Oki 900 Software.
  681.  
  682.  
  683. $0000    Starting entrie
  684. $00b1    Read in all data, if not zero, die error number 2
  685. $00c8    RAM Check Summ, if not zero after being deced, error number 3
  686. $00cb    RAM Check Summ loop label  
  687. $00dd    Makes the call to the ESN check summ ($073d) better return a zero
  688.      Error number 4
  689. $00e7    Call setup  
  690. $0102    Reset phone
  691. $012e    Reads out what NAM that the phone is set on
  692. $0136    Check Summ for External RAM, fail error number 3
  693. $0144    Read NAM out abd write into memory
  694. $0501    Setup for Security code (hex to dec conversion)
  695. $055a    HEX to Decminal converter
  696. $055b    HEX to Dec conversion looper var ent point
  697. $0573    Turn off write protect (lcall)
  698. $057a    Turn on write protect (lcall)
  699. $0581    Default NAM info, done on reset of phone  ($0102) Data
  700. $05c4    Write default NAMs Start from data at $0581
  701. $0723    Clr A Set Of Locations to X00, X=R2, DPTR point to first location
  702. $072d    Clears  customized power on message 
  703. $0732    Clear power on message loop var (Places spaces in the phone)
  704. $073d    Loads Encrypted ESN Locations  (ESN Check Summ)
  705. $0766    Decodes Encrypted ESN          (ESN Check Summ)
  706. $077a    ESN Check Summ                 (ESN Check Summ)
  707. $07dc    The Check Summ part of the NAM check summ
  708. $07e6    Will Reset the NAM if something happens to it *** START
  709. $07ed    Write loop for NAM write (called from $0581)
  710. $09b1    This is the START of debug!!!!
  711. $0b51    Debug indirect jump
  712. $140e    Data for key test  (DATA)
  713. $1638    This function is used to read a key from the keypad
  714.      more over the CLR key
  715. $16d5    Address table for debug  (DATA)
  716. $2722    Loads ESN working storage location with ESN
  717. $2f55    Call from debug command #74
  718. $34a7    Enable Hands free 
  719. $34b0    Disable Handsfree (enable Speaker)
  720. $354a    Unmutes the receive audio     
  721. $3741    Transmits a continuous signaling tone 
  722. $385f    From C3834: this is the debug command number #20
  723. $4a74    Setup for customized power on message
  724. $5bb8    200 memory location control
  725. $5bd6    200 memory location address for indirect moves (DATA)
  726.  
  727.  
  728.  
  729. $0000-$00FF (256) - Micro Internal Memory
  730.  
  731.      The internal memory contains the function registers.  When one wants 
  732. to use the use a register, TASM does not have the lables for one to use. 
  733. One can access the register direct.  Here is the addresses one will need 
  734. to use. 
  735.  
  736.     IOCON           $FF-$F8
  737.     B               $F7-$F0
  738.     ACC             $E7-$E0
  739.     PSW             $D7-$D0
  740.     TH2             $CD
  741.     TL2             $CC
  742.     RCAP2H          $CB
  743.     RCAP2L          $CA
  744.     T2CON           $CF-$C8
  745.     IP              $BF-$B8
  746.     P3              $B7-$B0
  747.     IE              $AF-$A8
  748.     P2              $A7-$A0
  749.     SBUF            $99
  750.     SCON            $9F-$98
  751.     P1              $97-$90
  752.     TH1             $8D
  753.     TH0             $8C
  754.     TL1             $8B
  755.     TL0             $8A
  756.     TMOD            $89
  757.     TCON            $8F-$88
  758.     PCON            $87
  759.     DP              $83
  760.     DPL             $82
  761.     SP              $81
  762.     P0              $87-$80
  763.  
  764.  
  765.   The Stack is specified by stack pointer ($81). 
  766.  
  767.             Stack Storage Layout
  768.  
  769.   Stack Processing    Stack Pointer     7    6    5    4    3    2    1    0
  770.  
  771.    Before Execution         $7F         D7   D6   D5   D4   D3   D2   D1   D0
  772.    Interrupt Process        $80         PC7  PC6  PC5  PC4  PC3  PC2  PC1  PC0
  773.                              $81         PC15 PC14 PC13 PC12 PC11 PC10 PC9  PC8
  774.    PUSH process (ACC)       $82         A7   A6   A5   A4   A3   A2   A1   A0
  775.    POP process (ACC)        $82         A7   A6   A5   A4   A3   A2   A1   A0
  776.    RETI process (pop PC)    $81         PC15 PC14 PC13 PC12 PC11 PC10 PC9  PC8
  777.                          $80         PC7  PC6  PC5  PC4  PC3  PC2  PC1  PC0
  778.    After Execution          $7F         D7   D6   D5   D4   D3   D2   D1   D0
  779.   
  780.  
  781.  
  782.  
  783. $7000-$70FF (256) - Glue Logic 
  784.  
  785.    Glue Logic is the decoder which controls various functions of the 
  786. Oki 900.  The NAM locations are under a write protect.  The write protect is
  787. controlled via the $7005 location.  Here is some sample code  showing how
  788. one uses the $7005 write protect.
  789.  
  790. Turn Off EEPROM Write Protect  -  $01 into $7005
  791.  
  792.     mov a, #$01               ; Load a $01 into A
  793.     mov dptr, #$7005          ; Load the value $7005 into DPTR
  794.     movx @dptr, a             ; Move A ($01) into the location at DPTR
  795.                            ; which is $7001
  796.  
  797. Turn On EEPROM Write Protect   -  $00 into $7005
  798.  
  799.     mov a, #$00               ; Load a $00 into A
  800.     mov dptr, #$7005          ; Load the value $7005 into DPTR
  801.     movx @dptr, a             ; Move A ($01) into the location at DPTR
  802.                            ; which is $7001
  803.  
  804.  
  805. $C000-$C0FF (256) - Extended RAM
  806.  
  807.     C0F4-C0FE   Current NAM Information (Sid, MIN1/2, ICMP, OCL, GIM)
  808.     C0FF        Current NAM Selected (0=AutoNAM)
  809.  
  810. $D000-$D0FF (256) - Screen Memory
  811.     
  812.      This is the LCD memory locations.
  813.  
  814.  
  815. $A000-$BFFF (8K)  - EEPROM Memory locations
  816.  
  817.     The EEPROM contains the ESN, NAM, passwords and other data that
  818. may need to be changed.                             
  819.     The ESN contains two locations.  The main location is the encrypted
  820. and CAN NO BE CHANGED unless one jumpers the 28C64 EEPROM write protect.
  821. (Order the databook by calling Atmel at 408-441-0311) To jumper the 
  822. EEPROM one can place a low on NOT WE (Write enable, Pin 27), NOT CE
  823. (Chip Enable, 20) and a high on OE (Output Enable, pin 22).  While 
  824. writing each byte, the NOT WE and CE should cycle, the OE NEEDS to be
  825. high.
  826.     The other ESN location is the working storage location, the is written
  827. over each time the phone is turned on.   One can make a two byte crack 
  828. on the binary to change the ESN on the phone. Looking at $0788 in the 
  829. Oki PROM, you will see #$90 #$BE #$C2 (#$78 #$60 #$79, extra opcodes are
  830. added to help find the location in question). #$90 #$BE #$CE could be 
  831. changed to #$90 #$FF #$F0, and you be able to change the ESN by 
  832. using debug command #54 to poke the ESN to $BEC2 thru $BEC5
  833.  
  834. 200 Memory location Table Starts at $9F4E in the PROM.  The addresses 
  835. are of the names, NOT the numbers please note that the numbers 
  836. come before the names in the locations this starting at B000.  
  837.  
  838.   ---------------------------------------------------------------
  839.   | Addr  Memory Location Number  | Addr  Memory Location Number|
  840.   |-------------------------------+-----------------------------|
  841.   | B010  Memory location #1      | B029  Memory location #2    |
  842.   | B044  Memory location #3      | B05D  Memory location #4    |
  843.   | B078  Memory location #5      | B091  Memory location #6    |
  844.   | B0AC  Memory location #7      | B0C5  Memory location #8    |
  845.   | B0DE  Memory location #9      | B0F9  Memory location #10   |
  846.   | B112  Memory location #11     | B12D  Memory location #12   |
  847.   | B146  Memory location #13     | B15F  Memory location #14   |
  848.   | B17A  Memory location #15     | B193  Memory location #16   |
  849.   | B1AE  Memory location #17     | B1C7  Memory location #18   |
  850.   | B1E0  Memory location #19     | B1FB  Memory location #20   |
  851.   | B214  Memory location #21     | B22F  Memory location #22   |
  852.   | B248  Memory location #23     | B261  Memory location #24   |
  853.   | B27C  Memory location #25     | B295  Memory location #26   |
  854.   | B2B0  Memory location #27     | B2C9  Memory location #28   |
  855.   | B2E2  Memory location #29     | B2FD  Memory location #30   |
  856.   | B316  Memory location #31     | B331  Memory location #32   |
  857.   | B34A  Memory location #33     | B363  Memory location #34   |
  858.   | B37E  Memory location #35     | B397  Memory location #36   |
  859.   | B3B2  Memory location #37     | B3CB  Memory location #38   |
  860.   | B3E4  Memory location #39     | B3FF  Memory location #40   |
  861.   | B418  Memory location #41     | B433  Memory location #42   |
  862.   | B44C  Memory location #43     | B465  Memory location #44   |
  863.   | B480  Memory location #45     | B499  Memory location #46   |
  864.   | B4B4  Memory location #47     | B4CD  Memory location #48   |
  865.   | B4E6  Memory location #49     | B501  Memory location #50   |
  866.   | B51A  Memory location #51     | B535  Memory location #52   |
  867.   | B54E  Memory location #53     | B567  Memory location #54   |
  868.   | B582  Memory location #55     | B59B  Memory location #56   |
  869.   | B5B6  Memory location #57     | B5CF  Memory location #58   |
  870.   | B5E8  Memory location #59     | B603  Memory location #60   |
  871.   | B61C  Memory location #61     | B637  Memory location #62   |
  872.   | B650  Memory location #63     | B669  Memory location #64   |
  873.   | B684  Memory location #65     | B69D  Memory location #66   |
  874.   | B6B8  Memory location #67     | B6D1  Memory location #68   |
  875.   | B6EC  Memory location #69     | B705  Memory location #70   |
  876.   | B71E  Memory location #71     | B739  Memory location #72   |
  877.   | B752  Memory location #73     | B76D  Memory location #74   |
  878.   | B786  Memory location #75     | B79F  Memory location #76   |
  879.   | B7BA  Memory location #77     | B7D3  Memory location #78   |
  880.   | B7EE  Memory location #79     | B807  Memory location #80   |
  881.   | B820  Memory location #81     | B83B  Memory location #82   |
  882.   | B854  Memory location #83     | B86F  Memory location #84   |
  883.   | B888  Memory location #85     | B8A1  Memory location #86   |
  884.   | B8BC  Memory location #87     | B8D5  Memory location #88   |
  885.   | B8F0  Memory location #89     | B909  Memory location #90   |
  886.   | B922  Memory location #91     | B93D  Memory location #92   |
  887.   | B956  Memory location #93     | B971  Memory location #94   |
  888.   | B98A  Memory location #95     | B9A3  Memory location #96   |
  889.   | B9BE  Memory location #97     | B9D7  Memory location #98   |
  890.   | B9F2  Memory location #99     | BA0B  Memory location #100  |
  891.   | A010  Memory location #101    | A029  Memory location #102  |
  892.   | A044  Memory location #103    | A05D  Memory location #104  |
  893.   | A078  Memory location #105    | A091  Memory location #106  |
  894.   | A0AC  Memory location #107    | A0C5  Memory location #108  |
  895.   | A0DE  Memory location #109    | A0F9  Memory location #110  |
  896.   | A112  Memory location #111    | A12D  Memory location #112  |
  897.   | A146  Memory location #113    | A15F  Memory location #114  |
  898.   | A17A  Memory location #115    | A193  Memory location #116  |
  899.   | A1AE  Memory location #117    | A1C7  Memory location #118  |
  900.   | A1E0  Memory location #119    | A1FB  Memory location #120  |
  901.   | A214  Memory location #121    | A22F  Memory location #122  |
  902.   | A248  Memory location #123    | A261  Memory location #124  |
  903.   | A27C  Memory location #125    | A295  Memory location #126  |
  904.   | A2B0  Memory location #127    | A2C9  Memory location #128  |
  905.   | A2E2  Memory location #129    | A2FD  Memory location #130  |
  906.   | A316  Memory location #131    | A331  Memory location #132  |
  907.   | A34A  Memory location #133    | A363  Memory location #134  |
  908.   | A37E  Memory location #135    | A397  Memory location #136  |
  909.   | A3B2  Memory location #137    | A3CB  Memory location #138  |
  910.   | A3E4  Memory location #139    | A3FF  Memory location #140  |
  911.   | A418  Memory location #141    | A433  Memory location #142  |
  912.   | A44C  Memory location #143    | A465  Memory location #144  |
  913.   | A480  Memory location #145    | A499  Memory location #146  |
  914.   | A4B4  Memory location #147    | A4CD  Memory location #148  |
  915.   | A4E6  Memory location #149    | A501  Memory location #150  |
  916.   | A51A  Memory location #151    | A535  Memory location #152  |
  917.   | A54E  Memory location #153    | A567  Memory location #154  |
  918.   | A582  Memory location #155    | A59B  Memory location #156  |
  919.   | A5B6  Memory location #157    | A5CF  Memory location #158  |
  920.   | A5E8  Memory location #159    | A603  Memory location #160  |
  921.   | A61C  Memory location #161    | A637  Memory location #162  |
  922.   | A650  Memory location #163    | A669  Memory location #164  |
  923.   | A684  Memory location #165    | A69D  Memory location #166  |
  924.   | A6B8  Memory location #167    | A6D1  Memory location #168  |
  925.   | A6EC  Memory location #169    | A705  Memory location #170  |
  926.   | A71E  Memory location #171    | A739  Memory location #172  |
  927.   | A752  Memory location #173    | A76D  Memory location #174  |
  928.   | A786  Memory location #175    | A79F  Memory location #176  |
  929.   | A7BA  Memory location #177    | A7D3  Memory location #178  |
  930.   | A7EE  Memory location #179    | A807  Memory location #180  |
  931.   | A820  Memory location #181    | A83B  Memory location #182  |
  932.   | A854  Memory location #183    | A86F  Memory location #184  |
  933.   | A888  Memory location #185    | A8A1  Memory location #186  |
  934.   | A8BC  Memory location #187    | A8D5  Memory location #188  |
  935.   | A8F0  Memory location #189    | A909  Memory location #190  |
  936.   | A922  Memory location #191    | A93D  Memory location #192  |
  937.   | A956  Memory location #193    | A971  Memory location #194  |
  938.   | A98A  Memory location #195    | A9A3  Memory location #196  |
  939.   | A9BE  Memory location #197    | A9D7  Memory location #198  |
  940.   | A9F2  Memory location #199    | AA0B  Memory location #200  |
  941.   ---------------------------------------------------------------
  942.  
  943. NAM Storage in the EEPROM:
  944.        SID-------  min1/min2-------------------  IPCH------  OLC-  GIM-
  945. NAM1 - A02B  A06B  A0AB  A0EB  A12B  A16B  A1AB  A1EB  A22B  A26B  A2AB
  946. NAM2 - A2EB  A32B  A36B  A3AB  A3EB  A42B  A46B  A4AB  A4EB  A52B  A56B 
  947. NAM3 - A5AB  A5EB  A62B  A66B  A6AB  A6EB  A72B  A76B  A7AB  A7EB  A82B
  948. NAM4 - A86B  A8AB  A8EB  A92B  A96B  A9AB  A9EB  AA2B  AA6B  AAAB  
  949. AAEB
  950. NAM5 - AB2B  AB6B  ABAB  ABEB  AC2B  AC6B  ACAB  ACEB  AD2B  AD6B  
  951. ADAB
  952.  
  953.  
  954. A6AA        Used with Encrypted ESN 
  955. A72A        Used with Encrypted ESN 
  956. A3EA        Used with Encrypted ESN
  957. A16A        Used with Encrypted ESN
  958. A2AA        Used with Encrypted ESN
  959. A22A        Used with Encrypted ESN 
  960. BBAC-BE73   30 roamer access memories 
  961. BE03        Index of NAM in use
  962. BEAF-BEB6   Customized power on message (8 bytes)
  963. BEBE-BEC1   "AEIO" signature sent to cell 
  964. BEC2-BEC5   ESN  working storage location 
  965. BF2C        Index of NAM in use
  966. BF2D        Even/odd SID (0 or 1)   
  967. BF60-BF63   Keyboard unlock code digits 
  968. BF71        Version number of display cpu rom
  969. BF74        Lighting mode control byte (0=7sec, 1=off, 2=on)
  970.  
  971.  
  972.  
  973.  
  974.    Debug command
  975.    
  976.    Here is a list of some of the debug commands for the Oki 900.  Along with
  977. the list of debug commands are the address in the 4701 binary.
  978. The table for the indirect jump starts at $16D5.  The indirect jump for
  979. the debug mode is at $0b51.
  980.    Note, if the address is $14e3, the debug command does not exist.
  981.  
  982.  
  983.  Addr   Number       Use 
  984.  ----   ------       ---
  985.    
  986.  $14e3   #00
  987.  $0b81   #01         Performs Initialization
  988.  $0000   #02         Terminates the test mode
  989.  $0b97   #03         Shows current status of TRU
  990.  $0bd0   #04         Resets the autonomous timer
  991.  $0b70   #05         Returns Data Bytes following command
  992.              to the Test Set.
  993.  $0b81   #06         Initialize the TRU to following states:
  994.              Carrier Off, Attenuation - 0db,
  995.              Receive Audio Muted Transmit Audio Muted,
  996.              Signaling tone off,
  997.              Autonomous timer reset,
  998.              SAT off, and DTMF off
  999.  $0bdf   #07         Turns the carrier on
  1000.  $0bf8   #08         Turns the carrier off
  1001.  $0bfe   #09XXXX     Sets the synthesizer to channel XXXX
  1002.  $0c34   #10X        Set the RF power attenuation to X
  1003.              0=0db, 7=-28 db
  1004.              (in steps of -4db thru 7)
  1005.  $0c46   #11         Mutes the receive audio
  1006.  $0c4c   #12         Unmutes the receive audio
  1007.  $0c52   #13         Mutes the transmit audio
  1008.  $0c58   #14         Unmutes the transmit audio
  1009.  $0bda   #15         Discontinues resetting of autonomous timer
  1010.  $0c5e   #16         Transmits a continuous signaling tone
  1011.  $0c64   #17         Stops transmission of signaling tone
  1012.  $0fbb   #18         Transmits a 5 word RCC message
  1013.              (fixed text pattern)
  1014.  $0fe8   #19         Transmits a 2 word (RCC) RVC message
  1015.              (fixed test pattern)
  1016.  $1009   #20         Receives a 2 word FCC message (cancel with 0x38)
  1017.  $1086   #21         Receives a 1 word (FCC) FVC message
  1018.              (cancel with 0x38)
  1019.  $0e3d   #22         Returns the information contained in the NAM
  1020.  $0f03   #23
  1021.  $0edd   #24
  1022.  $0dad   #25XXXX     Displays the resident memory data at XX
  1023.              00XX=in micro, XXXX=EEPROM
  1024.  $14e3   #26
  1025.  $14e3   #27
  1026.  $0f2c   #28         Count 1 word messages on CC, until TERMINATE
  1027.  $0f61   #29         Count 1 word messages on VC, until TERMINATE
  1028.  $14e3   #30
  1029.  $14e3   #31
  1030.  $0c73   #32X        Enable the transmission of SAT X
  1031.              0 = 5970 Hz,
  1032.              1 = 6000 Hz,
  1033.              2 = 6030 Hz
  1034.  $0c9d   #33         Disables the transmission of SAT
  1035.  $10a8   #34<60>     Transmits 5 word RCC message (30 bytes)
  1036.  $0cdc   #35         Activates the 1150Hz tone to receive audio line
  1037.  $0cd4   #36         Deactivates the 1150Hz tone
  1038.  $0ce0   #37         Activates the 770Hz tone to receive audio line
  1039.  $0cd4   #38         Deactivates the 770Hz tone
  1040.  $14e3   #39
  1041.  $14e3   #40
  1042.  $14e3   $41
  1043.  $0ca7   #42XX       Enable the transmission of DTMF
  1044.                    frequency XX[2]
  1045.  $0cd4   #43         Disable the transmission of DTMF
  1046.  $1286   #44
  1047.  $0cf0   #45
  1048.  $0d00   #46
  1049.  $0d06   #47
  1050.  $0eac   #48
  1051.  $14e3   #49
  1052.  $14e3   #50
  1053.  $0d7c   #51
  1054.  $0d55   #52<xx>
  1055.  $0da2   #53
  1056.  $0e27   #54XXXXZZ   Write HEX (ZZ) into ADDRESS $XXXX
  1057.  $14e3   #55
  1058.  $0e22   #56         Return Value stored in $BEBB
  1059.  $14e3   #57
  1060.  $14e3   #58
  1061.  $14e3   #59
  1062.  $10c2   #60
  1063.  $14e3   #61
  1064.  $0f91   #62
  1065.  $0fdc   #63
  1066.  $1009   #64         Receives a 2 word FCC message
  1067.                    (Please see debug command #20)
  1068.  $0ce4   #65         Enable the compressor and expander
  1069.                    Compandor is a SA 5750
  1070.                    This is a Philips Chip (800) 234-7381
  1071.  
  1072.  $0cea   #66         Disable the compressor and expander
  1073.  $0d31   #67         X-Set volume (0-7) 0=max
  1074.  $0d4a   #683XX      Mutes/Unmute Tx/Rx Audio Signal
  1075.                    Enable Disable the Compressor/Expander,
  1076.                    XX=commanded states.
  1077.                    CMD Compress Tx Mute Rx Mute
  1078.                    --- -------- ------- -------
  1079.                     40  on       unmuted unmuted
  1080.                    41  off      unmuted unmuted
  1081.                    42  on       muted   unmuted
  1082.                    43  off      muted   ummuted
  1083.                    44  on       unmuted muted
  1084.                    45  off      unmuted muted
  1085.                    46  on       muted   muted
  1086.                    47  off      muted   muted
  1087.  $14e3   #69
  1088.  $14e3   #70
  1089.  $14e3   #71
  1090.  $1142   #72         Pulls, outputs 1 word
  1091.  $11ff   #73XXXXYYYYZZ  Scans Channels
  1092.                    XXXX = Starting 
  1093.                    YYYY = Ending
  1094.                    zz   = Delay
  1095.  $1305   #74         keypad test
  1096.  $0ef1   #75         Enable Handsfree (disable spkr)
  1097.  $0ef7   #76         Disable Handsfree (enable spkr)
  1098.  $0efd   #77         Turns on Loudspeaker near mic
  1099.  $14e3   #78
  1100.  $14dd   #79
  1101.  $1a42   #80
  1102.  $1962   #81
  1103.  $19c8   #82
  1104.  $182c   #83
  1105.  $1789   #84
  1106.  $18fe   #85
  1107.  $14e3   #86
  1108.  $14e3   #87
  1109.  $14e3   #88
  1110.  $14e3   #89
  1111.  
  1112.  
  1113. 12. Charter set in the Oki 900
  1114.  
  1115.    The Oki 900 has a full charter set built in.  The charter set can
  1116. be used in the power on message.  The power on message can be programmed
  1117. by the debug command #54.  The addresses of the power on message are $BEAF
  1118. thru $BEB8.  Here is a list of the charter set, please note that all these
  1119. were guessed at, and some may be wrong.  ALL NUMBERS ARE IN HEX!
  1120.  
  1121. Small Katakana
  1122.  
  1123. A6 = a     A7 = i     A8 = u     A9 = e     AA = o     AB = ka    AC = ki
  1124. AD = ku    AE = ke    AF = ko
  1125.  
  1126.  
  1127. B0 = -
  1128.  
  1129. Katakana
  1130.  
  1131. B1 = a     B2 = i     B3 = u     B4 = e     B5 = o     B6 = ka    B7 = ki
  1132. B8 = ku    B9 = ke    BA = ko    BB = sa    BC = shi   BD = su    BE = se
  1133. BF = so    C0 = fa    C1 = chi   C2 = tsu   C3 = te    C4 = to    C5 = na
  1134. C6 = ni    C7 = nu    C8 = ne    C9 = no    CA = ha    CB = hi    CC = fa
  1135. CD = he    CE = ho    CF = ma    D0 = mi    D1 = mu    D2 = me    D3 = mo
  1136. D4 = ya    D5 = yu    D6 = yo    D7 = ra    D8 = ri    D9 = ru    DA = re
  1137. DB = ro    DC = wa    A6 = o     DD = n'
  1138.  
  1139. DE = dakutan
  1140. DF = Small circle the no one knows the name to
  1141. FC = Yen
  1142. FA = Thousand (Japanies)
  1143. FB = Adds zero
  1144.  
  1145. English
  1146.  
  1147. 21 = "     22 = !     23 = #     24 = $     25 = %     26 = &     27 = '
  1148. 28 = (     29 = )     2A = *     2B = +     2C = ,     2D = -     2E = .
  1149. 2F = /     30 = 0     31 = 1     32 = 2     33 = 3     34 = 4     35 = 5
  1150. 36 = 6     37 = 7     38 = 8     39 = 9     3A = :     3B = ;     3C = <
  1151. 3D = =     3E = >     3F = ?     40 = @     41 = A     42 = B     43 = C
  1152. 44 = D     45 = E     46 = F     47 = G     48 = H     49 = I     4A = J
  1153. 4B = K     4C = L     4D = M     4E = N     4F = O     50 = P     51 = Q
  1154. 52 = R     53 = S     54 = T     55 = U     56 = V     57 = W     58 = X
  1155. 59 = Y     5A = Z     5B = [     5D = ]     5E = ^     61 = a     62 = b
  1156. 63 = c     64 = d     65 = e     66 = f     67 = g     68 = h     69 = i
  1157. 6A = j     6B = k     6C = l     6D = m     6E = n     6F = o     70 = p
  1158. 71 = q     72 = r     73 = s     74 = t     75 = u     76 = v     77 = w
  1159. 78 = x     79 = y     7A = z     7B = {     7D = }     5F = _     60 = `
  1160. 7C = |
  1161.  
  1162. SPACE = 0C, 0D, 10-20, 7E-A0
  1163.  
  1164.  
  1165. Misc. chars
  1166.  
  1167. 01 - Right Triangle (Up)
  1168. 02 - Right Triangle (Down)
  1169. 05 thru 0F are random
  1170. E0 - Alpha
  1171. E1 - lower case a with two dots over it
  1172. E2 - Beta
  1173. E3 - Epsilon
  1174. E4 - Mu
  1175. E5 - Sigma
  1176. E6 - Circle with two flat sides on top
  1177. E7 - Circle with two flat sides on right hand side
  1178. E8 - Square root
  1179. E9 - To the power of -1 (1/x)
  1180. EA - i (Complex Number)
  1181. EB - To the power of x
  1182. EC - Cent
  1183. ED - Pound
  1184. EE - Lower case n with line over it
  1185. EF - o with two dot over it
  1186. F0 - L with circle
  1187. F1 - inverted image of F0
  1188. F2 - Theta
  1189. F3 - Infinity
  1190. F4 - Upper Omega
  1191. F5 - U with two dots over it
  1192. F6 - Upper Sigma
  1193. F7 - Pie
  1194. F8 - X with a line over it
  1195. F9 - Upper Mu
  1196. FE - Division
  1197.  
  1198.  
  1199. 13. OKI 900 Modifications
  1200.  
  1201.      Several software modifications exist, below is a list and an
  1202. explanation of each.  These mods are to be burned into the 27c512 SOIC chip
  1203. inside the oki 900.  They are 150ns 28 pin soic chips.  An soic adapter
  1204. will be required, and can probably be aquiered through the same place you
  1205. got your burner, or you can contact IBP products(see below).  This chip is  
  1206. located on the same side and same board as the lcd, in the lower left hand
  1207. corner.
  1208.  
  1209. 4701 - The original mod, holds 5 esn programmed byte by byte
  1210. 4711 - Update to the 4701 (fixed bugs?)
  1211. 4712 - The most popular and least buggy mod. works well with C-TEK
  1212.  
  1213.  
  1214.     Change ESN: (for all above mods)
  1215.  
  1216.     Press MENU 8 times, until you see ADM menu.  Press RCL and enter 123456
  1217.     Use RCL to move from one ESN to another, and STO to save your options.
  1218.     REBOOT Phone!!!!!
  1219.  
  1220.  
  1221.     Enter Debug Mode:
  1222.  
  1223.                  ESN Number     Address
  1224.              --------------------------------
  1225.                ESN Location #1  $BE8E-$BE91
  1226.                ESN Location #2  $BE93-$BE96
  1227.                ESN Location #3  $BE98-$BE9B
  1228.                ESN Location #4  $BE9D-$BEA0
  1229.                ESN location #5  $BEA2-$BEA5
  1230.  
  1231.          Key:
  1232.              #54 XXXX xx
  1233.                |   |   |
  1234.                |   |  In order, one thru four bytes of ESN
  1235.                |   |
  1236.                |  Address (Location)
  1237.                |
  1238.              The write byte debug command 
  1239.  
  1240.        
  1241.         To use the 0-9 keys, just use 0-9, to access A-F, hit STAR ("*")
  1242.       before 1-6 for A-F.  The "*" key can be thought of as a shift key.       
  1243.       If you hit the "*" twice, it will act as if you did not hit the "*"
  1244.       at all. 
  1245.  
  1246.       Program NAM:
  1247.  
  1248.          Enter RCL + MENU, *, 6, 2, 7, 2, 9, 8, 5, 4, #
  1249.          you can then use the up and down keys to scroll through the
  1250.          information and change the appropriate nam.
  1251.  
  1252. 4715 - Newest widely available mod. Bugs? Should work with C-TEK
  1253.        This mod will allow you to use 230 ESNs and set a number of times
  1254.        each esn can be used before auto deletion.
  1255.        each nam must be programmed manually?
  1256.  
  1257.      These mods are available by normal means, and may illegal.  They
  1258. will void any warranty however.  I am still looking for more detailed
  1259. information on these or other mods.
  1260.  
  1261.      The actual microcontroler is an 8051 derivitave, and a lot of
  1262. information on programming it can be found on the Internet. 
  1263.  
  1264.  
  1265. 14. C-TEK
  1266.  
  1267.                  Cellular Telephone Experimenters Kit
  1268.  
  1269.                         for the OKI-900/1150
  1270.  
  1271.  
  1272. The Cellular Telephone Experimenters Kit allows control of a cellular
  1273. telephone from a personal computer.  The Kit connects any DOS-based PC
  1274. with a serial port to an OKI-900/1150 (AT&T 3730/3760) cellular telephone.
  1275. The kit is designed for technicians, students, professionals, hobbyists,
  1276. and others interested in using, learning, repairing, and experimenting
  1277. with cellular telephone technology.
  1278.  
  1279. The kit consists of an interface adapter, software and manual.  The
  1280. interface adapter converts the cellular phone's proprietary interface to a
  1281. standard RS-232 interface, and allows connection of external audio signals
  1282. to the cellular phone.  The interface is not designed for data transmission
  1283. over the cellular system.
  1284.  
  1285. The kit includes the cellular telephone interface adapter;  a manual and a
  1286. short cellular tutorial;  four programs;  a programming library and
  1287. documentation;  and cellular related informational files.
  1288.  
  1289. One program is designed for testing the phone and allows a technician to
  1290. activate many of the OKIs built in test modes and functions, such as tuning
  1291. to a particular channel, activating carrier, sat, signaling tones, etc.
  1292.  
  1293. Another program can be used to access the phone's user features, such as
  1294. programming NAMs, or uploading, downloading and editing the phone's 200
  1295. alphanumeric telephone number memories on the PC.
  1296.  
  1297. A programming library object module is supplied to allow you to write your
  1298. own programs to access the phone in both normal operating mode and in test
  1299. mode.  The library contains functions such as tuning to a channel, turning
  1300. carrier/audio/sat-tones/signaling-tones on and off, reading received
  1301. signal strength, sending and receiving digital control messages, and
  1302. sending and decoding DTMF tones.
  1303.  
  1304. Two programs are supplied in source form that give examples of writing
  1305. applications in either of these modes.  One of these programs shows how the
  1306. PC can completely control the cellular phone, making and receiving calls
  1307. while the phone is only operating in its test mode, with the PC handling
  1308. all of the cellular protocol and messaging functions.  The other program
  1309. simply controls the phone by simulating presses on its keypad from the PC.
  1310.  
  1311. All code and libraries were compiled using Borland Turbo C 2.0 running
  1312. under DOS.  We are not supporting any other systems at this time.
  1313. The software does not change or modify ESNs.
  1314.  
  1315. SOMEONE! start cloning these at a DECENT price! under $150.00!
  1316. If no one pays more, the price will have to drop!
  1317.  
  1318.  
  1319. 15. Software
  1320.  
  1321. CIA-SCAN  fvoc and dtmf display via c-tek (does more)
  1322. Various other c-tek applications exist, mail me your list, and the files
  1323. and I will include them.
  1324.  
  1325. Scan1c:  This appears to be an update to CIA SCAN.  I has a graph of
  1326. signal strengths and most of the same features as CIA but with better
  1327. controle, and can scan both forward, and backwards.
  1328.  
  1329. Please let me know of any additional Software you find for the OKI
  1330.  
  1331.  
  1332. 16. HardWare
  1333.  
  1334.      Other hardware available listed here:
  1335.  
  1336. From OKI:
  1337. Executive kit- Hands free kit boosts power to 3 watts
  1338. Data Kit- Connect oki to a computer
  1339. Eliminators- use the phone with out a battery
  1340. Batteries
  1341. Chargers
  1342.  
  1343. Other places:
  1344. Eliminators
  1345. PCMCIA to OKI cables
  1346. OKI to RJ11 modem cables
  1347. Batteries
  1348. Conditioning chargers
  1349.  
  1350. IBP Products can be reached at the following:
  1351.  
  1352. IBP Products
  1353. 2106 Barth Ave.
  1354. Indianapolis IN  46203
  1355.  
  1356.  
  1357. 17. Pin outs
  1358.  
  1359.    o
  1360.   5 10
  1361.   4 9
  1362.   3 8
  1363.   2 7
  1364.   1 6
  1365.  
  1366.  
  1367. 1  Raw data                       power +
  1368. 2  PRTSENS  ???                   portable sensitivy
  1369. 3  CU - 2 - L                     CU to L Data
  1370. 4  POW - ON (power on)
  1371. 5  TX Voice
  1372. 6  TX Voice                       Power -
  1373. 7  CLK                            clock
  1374. 8  L2CU                           L to CU data
  1375. 9  RX Voice                       Ground
  1376. 10 RX Voice                       R Voice
  1377.  
  1378.  
  1379. 18. 8051 Programming
  1380.  
  1381.      Since there is to much information on programming the 8051 series of
  1382. microprocessors to cover here I am going to give a list of places to get
  1383. more information.
  1384.  
  1385. ftp.pppl.gov/pub/8051         various 8051 pd software
  1386. ftp.funet.fi/pub/microprocs   various 8051 pd software
  1387. ftp.intel.com/pub/mcs51       various 8051 pd software
  1388. www.keil.com                  keil 8051 software demo
  1389.  
  1390.  
  1391.  
  1392. 19. NOTES
  1393.  
  1394.      I can be reached at bb970@freenet.uchsc.edu
  1395.    
  1396.      For all your OKI supplies contact IBP products
  1397.      contact POTI or myself for a catalog.
  1398.  
  1399.      Please be kind with your critiqs and make sure you have evidence to
  1400.      back anything you send to me as a correction.
  1401.  
  1402. Finally I would like to say thanks to #cellular!  Hay guys!
  1403. Special Greets:
  1404.  
  1405. Torch
  1406. POTI
  1407. Vidiot
  1408. Hi-Fi
  1409. DigInt
  1410. Dr Who
  1411. IP
  1412.  
  1413.  
  1414.  
  1415.