<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bitchin100.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=83.234.245.140</id>
	<title>Bitchin100 DocGarden - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://bitchin100.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=83.234.245.140"/>
	<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=Special:Contributions/83.234.245.140"/>
	<updated>2026-04-12T14:34:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=Model_100_System_Map_Part_0&amp;diff=2099</id>
		<title>Model 100 System Map Part 0</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=Model_100_System_Map_Part_0&amp;diff=2099"/>
		<updated>2010-12-05T06:01:07Z</updated>

		<summary type="html">&lt;p&gt;83.234.245.140: CLICK HERE TO ENTER DRUGSTORE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;center&amp;gt;&amp;lt;h1&amp;gt; &amp;lt;http&amp;gt;//trusted-pharmacy.org/ CLICK HERE TO ENTER DRUGSTORE! ] &amp;lt;/h1&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/center&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
online pharmacy Tricor&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
online pharmacy Glucophage Xr&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
order Atarax&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
kaufen Allegra-d oline&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Lotemax online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
order Cipro online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
acheter Pilagan oline&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
kaufen Effexor oline&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
comprar Arcoxia&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Nizoral Cream discount&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
acheter Cozaar oline&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
kaufen Stromectol&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
order Eldepryl online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
order Tegretol&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
buy Optivar online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Advair Diskus online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
acheter Cordarone&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
acheter Asendin oline&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Glucophage Xr online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Nizoral discount&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
comprar Glucophage&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Wellbutrin Sr online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Theox Cr tablets&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
buy Fansidar&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
buy Indocin online&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
online pharmacy Isordil Sublingual&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Noroxin discount&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
acheter Viracept&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
cheap Nolvadex&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
Cheapest Clorpres&lt;br /&gt;
  &amp;lt;br /&amp;gt;  &lt;br /&gt;
acheter Lipitor&lt;br /&gt;
  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File Formats ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 .BA Files:&lt;br /&gt;
           2 bytes -  Address of next line&lt;br /&gt;
           2 bytes -  Line number&lt;br /&gt;
           Up to 255 characters ending with a null&lt;br /&gt;
           EOF is 3 consecutive nulls&lt;br /&gt;
&lt;br /&gt;
 .DO Files:&lt;br /&gt;
           Text ended with a EOF character 1AH&lt;br /&gt;
&lt;br /&gt;
 .CO Files:&lt;br /&gt;
           2 bytes -  Address to load to&lt;br /&gt;
           2 bytes -  Number of bytes to load (-start 6)&lt;br /&gt;
           2 bytes -  Transfer address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File Descriptor Block Format ==&lt;br /&gt;
&lt;br /&gt;
The File Descriptor Block is the address given by VARPTR(#file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Byte:&lt;br /&gt;
      0 - File status (0-not open, 1-open for input, 2 open for &lt;br /&gt;
          output or append)&lt;br /&gt;
  2 &amp;amp; 3 - Address of file directory entry&lt;br /&gt;
      4 - File device (248-RAM, 249-MoDeM, 250-LinePrinTer, &lt;br /&gt;
          251-WAND, 252-COM, 253-CASsette, 254-CRT, 255-LCD)&lt;br /&gt;
      6 - Offset from buffer start (see bytes 9) for start of next &lt;br /&gt;
          record&lt;br /&gt;
      7 &amp;amp; 8 -  Relative position of next 256 byte block from&lt;br /&gt;
          beginning of file&lt;br /&gt;
      9 - Start of 256 byte buffer for data transfer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Floating Point Accumulator Format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
 FAC1   |  FAC2   |     DP    |    SP    |  Integer |   SP&lt;br /&gt;
Address | Address |   Format  |  Format  |  Format  | Register&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
FC18H   | FC69H   |   S &amp;amp; E   |  S &amp;amp; E   |    -     |    C&lt;br /&gt;
FC19H   | FC6AH   |   BCD M   |  BCD M   |    -     |    B&lt;br /&gt;
FC1AH   | FC6BH   |   BCD #   |  BCD #   |   LSB    |    E&lt;br /&gt;
FC1BH   | FC6CH   |   BCD #   |  BCD L   |   MSB    |    D&lt;br /&gt;
FC1CH   | FC6DH   |   BCD #   |    -     |    -     |    -&lt;br /&gt;
FC1DH   | FC6EH   |   BCD #   |    -     |    -     |    -&lt;br /&gt;
FC1EH   | FC6FH   |   BCD #   |    -     |    -     |    -&lt;br /&gt;
FC1FH   | FC70H   |   BCD L   |    -     |    -     |    -&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
  LSB =  Least significant byte of intger&lt;br /&gt;
  MSB =  Most significant byte of integer.  Bit 7 contains the sign &lt;br /&gt;
        of the integer&lt;br /&gt;
BCD L =  Least significant BCD byte&lt;br /&gt;
BCD H =  Most significant BCD byte&lt;br /&gt;
BCD # =  Middle BCD bytes.  Each digit of the number is represented &lt;br /&gt;
        by one of the values in the two nibbles in each byte&lt;br /&gt;
S &amp;amp; E =  Sign and exponent of each number.  Bit 7 contains the sign &lt;br /&gt;
        of the floating point number. Bit 6 must be set.  Bits 0-5 &lt;br /&gt;
        determine where the decimal point is to be inserted.  For &lt;br /&gt;
        example, if this byte contained a 65, the sign would be &lt;br /&gt;
        positive and the decimal point would be placed between the &lt;br /&gt;
        first and second digits (#.###....)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Option ROM Important Addresses ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
40H = 54H&lt;br /&gt;
41H = 43H - Required for ROM to be detected on BOOT&lt;br /&gt;
42H - 47H - Name of file associated with ROM program&lt;br /&gt;
&lt;br /&gt;
Code at 7E24H-7E43H executed on BOOT to handle option ROM.&lt;br /&gt;
Code at 0365H loaded at F605H on BOOT to detect option ROM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Model 100 Hardware Port Map ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A0H -  Modem control port&lt;br /&gt;
      Output:&lt;br /&gt;
        Bit:&lt;br /&gt;
            0 - Modem telephone relay (1-Modem connected to phone &lt;br /&gt;
                line)&lt;br /&gt;
            1 - Modem enable (1-Modem chip enabled)&lt;br /&gt;
&lt;br /&gt;
B0H -  8155 PIO Command/Status Register&lt;br /&gt;
      Output:&lt;br /&gt;
        Bit:&lt;br /&gt;
            0 - Direction of Port A (0-input, 1-output)&lt;br /&gt;
            1 - Direction of Port B (0-input, 1-output)&lt;br /&gt;
        2 &amp;amp; 3 - Port C definition (00 - All input, 11 - All output, &lt;br /&gt;
                01 - Alt 3, 10 - Alt 4 (see Intel technical sheets &lt;br /&gt;
                for more information))&lt;br /&gt;
            4 - Enable Port A interrupt (1 - enable)&lt;br /&gt;
            5 - Enable Port B interrupt (1 - enable)&lt;br /&gt;
        6 &amp;amp; 7 - Timer mode (00 - No effect on counter, 01 - Stop &lt;br /&gt;
                counter immediately, 10 - Stop counter after TC, 11 &lt;br /&gt;
                - Start counter)&lt;br /&gt;
      Input:&lt;br /&gt;
        Bit:&lt;br /&gt;
            0 - Port A interrupt request&lt;br /&gt;
            1 - Port A buffer full/empty (input/output)&lt;br /&gt;
            2 - Port A interrupt enabled&lt;br /&gt;
            3 - Port B interrupt request&lt;br /&gt;
            4 - Port B buffer full/empty (input/output)&lt;br /&gt;
            5 - Port B interrupt enabled&lt;br /&gt;
            6 - Timer interrupt (status of TC pin)&lt;br /&gt;
            7 - Not used&lt;br /&gt;
&lt;br /&gt;
B1H -  8155 PIO Port A&lt;br /&gt;
      Output:&lt;br /&gt;
        8 bit data port for printer output, keyboard column strobe, &lt;br /&gt;
        and LCD&lt;br /&gt;
        In addition, the first 5 bits of this port is used to &lt;br /&gt;
        control the 1990 real time clock chip.  The configuration of &lt;br /&gt;
        these five bits are:&lt;br /&gt;
        Bit:&lt;br /&gt;
            0 -  C0&lt;br /&gt;
            1 -  C1&lt;br /&gt;
            2 -  C2&lt;br /&gt;
            3 -  Clock&lt;br /&gt;
            4 -  Serial data into clock chip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B2H -  8155 PIO Port B.&lt;br /&gt;
      Output:&lt;br /&gt;
        Bit:&lt;br /&gt;
            0 - Column 9 select line for keyboard.  This line is &lt;br /&gt;
                also used for the CS-28 line of the LCD.&lt;br /&gt;
            1 - CS 29 line of LCD&lt;br /&gt;
            2 - Beep toggle (1-Data from bit 5, 0-Data from 8155 &lt;br /&gt;
                timer)&lt;br /&gt;
            3 - Serial toggle (1-Modem, 0-RS232)&lt;br /&gt;
            4 - Software on/off switch for computer&lt;br /&gt;
            5 - Data to beeper if bit 2 set.  Set if bit 2 low.&lt;br /&gt;
            6 - DTR (not) line for RS232&lt;br /&gt;
            7 - RTS (not) line for RS232&lt;br /&gt;
&lt;br /&gt;
B3H -  8155 PIO Port C&lt;br /&gt;
      Input:&lt;br /&gt;
        Bits:&lt;br /&gt;
            0 - Serial data input from clock chip&lt;br /&gt;
            1 - Busy (not) signal from printer&lt;br /&gt;
            2 - Busy signal from printer&lt;br /&gt;
            3 - Data from BCR&lt;br /&gt;
            4 - CTS (not) line from RS232&lt;br /&gt;
            5 - DSR (not) line from RS232&lt;br /&gt;
            6-7 - Not avaiable on 8155&lt;br /&gt;
&lt;br /&gt;
B4H -  8155 Timer register.  LSB of timer counter&lt;br /&gt;
&lt;br /&gt;
B5H -  8155 Timer register.  MSB of timer counter&lt;br /&gt;
&lt;br /&gt;
B8H -  Same as port B0H&lt;br /&gt;
&lt;br /&gt;
B9H - Same as port B1H&lt;br /&gt;
&lt;br /&gt;
BAH - Same as port B2H&lt;br /&gt;
&lt;br /&gt;
BBH - Same as port B3H&lt;br /&gt;
&lt;br /&gt;
BCH - Same as port B4H&lt;br /&gt;
&lt;br /&gt;
BDH - Same as port B5H&lt;br /&gt;
&lt;br /&gt;
C0H -  Bidirectional data bus for UART (6402) (C0H-CFH same)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D0H -  Status control register for UART, modem, and phone (6402) &lt;br /&gt;
      (D0H-DFH same)&lt;br /&gt;
      Output:&lt;br /&gt;
        Bits:&lt;br /&gt;
            0 - Stop Bits (1-1.5, 0-2)&lt;br /&gt;
            1 - Parity (1-even, 0-odd)&lt;br /&gt;
            2 - Parity Enable (1-no parity, 0-parity enabled)&lt;br /&gt;
            3 - Data length (00-5 bits, 10-6 bits, 01-7 bits, 11-8 &lt;br /&gt;
                bits)&lt;br /&gt;
            4 - Data length (see bit 3)&lt;br /&gt;
      Input:&lt;br /&gt;
        Bits:&lt;br /&gt;
            0 - Data on telephone line (used to detect carrier)&lt;br /&gt;
            1 - Overrun error from UART&lt;br /&gt;
            2 - Framing error from UART&lt;br /&gt;
            3 - Parity error from UART&lt;br /&gt;
            4 - Transmit buffer empty from UART&lt;br /&gt;
            5 - Ring line on modem connector&lt;br /&gt;
            6 - Not used&lt;br /&gt;
            7 - Low Power signal from power supply (LPS not)&lt;br /&gt;
&lt;br /&gt;
E0H -  Keyboard input and misc. device select (E0H-EFH same)&lt;br /&gt;
      Output:&lt;br /&gt;
        Bits:&lt;br /&gt;
            0 - ROM select (0-Standard ROM, 1-Option ROM)&lt;br /&gt;
            1 - STROBE (not) signal to printer&lt;br /&gt;
            2 - STROBE for Clock chip (1990)&lt;br /&gt;
            3 - Remote plug control signal&lt;br /&gt;
      Input:&lt;br /&gt;
            8 bit data row from keyboard strobe&lt;br /&gt;
&lt;br /&gt;
F0H - LCD display data bus (F0H-FFH same)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Model 100 Keyboard Matrix ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
           ------------------------------------------------&lt;br /&gt;
          7 |  L    K    I    ?    *    -&amp;gt;   Ent  f8   Brk&lt;br /&gt;
Row       6 |  M    J    U    &amp;gt;    &amp;amp;    &amp;lt;-   Prt  f7   &lt;br /&gt;
In        5 |  N    H    Y    &amp;lt;    ^    Up   Lbl  f6   Cap&lt;br /&gt;
          4 |  B    G    T    &amp;quot;    %    Dwn  Pst  f5   Num&lt;br /&gt;
0E0H-     3 |  V    F    R    :    $    +    Esc  f4   Cde&lt;br /&gt;
0EFH      2 |  C    D    E    ]    #    -    Tab  f3   Gph&lt;br /&gt;
(224-     1 |  X    S    W    P    @    )    Del  f2   Ctl&lt;br /&gt;
239)      0 |  Z    A    Q    O    !    (    Spc  f1   Sft&lt;br /&gt;
           ------------------------------------------------&lt;br /&gt;
         bit  0    1    2    3    4    5    6    7    0&lt;br /&gt;
             [----------- 0B1H or 0B9H -----------] [0B2H]&lt;br /&gt;
             [----------- 177  or 185 ------------] [178 ]&lt;br /&gt;
                           Column Strobe&lt;br /&gt;
&lt;br /&gt;
Note:     This table is incorrectly documented in Radio Shack&#039;s &lt;br /&gt;
         &amp;quot;Model 100 Technical Reference Manual&amp;quot; (26-3810)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Math Routine Summary ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
Function       Single Precision    Double Precision    Integer&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
    +               37F4H               2B78H           3704H&lt;br /&gt;
    -               37FDH               2B69H           36F8H&lt;br /&gt;
    *               3803H               2CFFH           3725H&lt;br /&gt;
    /               380EH               2DC7H           0F0DH&lt;br /&gt;
    ^               3D7FH               3D8EH           3DF7H&lt;br /&gt;
 Compare            3498H               34FAH           34C2H&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RIM and SIM Bit Maps ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SIM Bit 0: RST 5.5 mask (set mask) RIM Bit 0: RST 5.5 mask&lt;br /&gt;
        1: RST 6.5 mask (set mask)          1: RST 6.5 mask&lt;br /&gt;
        2: RST 7.5 mask (set mask)          2: RST 7.5 mask&lt;br /&gt;
        3: Mask set enable                  3: Int. enable&lt;br /&gt;
        4: Reset RST 7.5 flip/flop          4: RST 5.5 pending&lt;br /&gt;
        5: Not used                         5: RST 6.5 pending&lt;br /&gt;
        6: SOD change enable                6: RST 7.5 pending&lt;br /&gt;
        7: SOD pin output                   7: SOD pin input&lt;br /&gt;
&lt;br /&gt;
Note: SOD pin is used for cassette I/O on Model 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Model 100 Special Control Characters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
Control Code |  Print  | Routine |                            &lt;br /&gt;
  Sequence   | Address | Address |        Description         &lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
Beep (7)         4229H     7662H   Beep&lt;br /&gt;
Tab (9)            -       4480H   Tab cursor&lt;br /&gt;
LF (10)          4225H     4494H   Move down one line&lt;br /&gt;
Home (11)        422DH     44A8H   Home cursor&lt;br /&gt;
CLS (12)         4231H     4548H   Clear screen&lt;br /&gt;
CR (13)            -       44AAH   Move cursor to beginning of &lt;br /&gt;
                                   next line&lt;br /&gt;
ESC A              -       4469H   Move cursor up one line&lt;br /&gt;
ESC B              -       446EH   Move cursor down one line&lt;br /&gt;
ESC C              -       4453H   Move cursor to the right&lt;br /&gt;
ESC D              -       445CH   Move cursor to the left&lt;br /&gt;
ESC E              -       4548H   Clear screen&lt;br /&gt;
ESC H              -       44A8H   Home cursor&lt;br /&gt;
ESC J              -       454EH   &lt;br /&gt;
ESC K            425DH     4537H   Erase from the cursor to the &lt;br /&gt;
                                   end of the screen&lt;br /&gt;
ESC L            4258H     44EAH   Insert blank line at current &lt;br /&gt;
                                   line&lt;br /&gt;
ESC M            4253H     44C4H   Delete current line&lt;br /&gt;
ESC P            4249H     44AFH   Turn cursor on&lt;br /&gt;
ESC Q            424EH     44BAH   Turn cursor off&lt;br /&gt;
ESC T            4235H     4439H   Protect line 8&lt;br /&gt;
ESC U            423AH     4437H   Unprotect line 8&lt;br /&gt;
ESC V            423FH     443FH   Stop automatic scrolling&lt;br /&gt;
ESC W            4244H     4440H   Resume automatic scrolling&lt;br /&gt;
ESC X            4262H     444AH   &lt;br /&gt;
ESC Y            427CH     43AFH   Set cursor position.  &lt;br /&gt;
                                   Coordinate for cursor (row &lt;br /&gt;
                                   and column) follow ESC Y &lt;br /&gt;
                                   sequence&lt;br /&gt;
ESC j              -       4548H   Clear screen&lt;br /&gt;
ESC l              -       4535H   Erase current line&lt;br /&gt;
ESC p              -       4431H   Start inverse video mode&lt;br /&gt;
ESC q              -       4432H   Cancel inverse video mode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
This documented was created with well over 200 hours of &lt;br /&gt;
sweating over a Model 100 ROM disassembly.  I started my first &lt;br /&gt;
research on the Model 100 ROM about 2 hours after purchasing it &lt;br /&gt;
(Note: I had one of the first 100&#039;s off the production line.  I &lt;br /&gt;
believe I purchased my 100 in June of 1983).  After I figured &lt;br /&gt;
out how to use TELCOM, I downloaded a BASIC Z-80 disassembler &lt;br /&gt;
that friend of mine (Mike Livorsi) wrote from my Model 3.  After &lt;br /&gt;
making a few changes to the disassembler, I was able to get it &lt;br /&gt;
to work on the Model 100.  Then, I tested my Model 100&#039;s &lt;br /&gt;
parallel printer port by printing a disassembly of the Model &lt;br /&gt;
100&#039;s ROM on my old LP8 (note:the disassembly requires a 3 inch &lt;br /&gt;
note book to fit in).  A day later, I came back to my Model 100 &lt;br /&gt;
and found what every machine language addict loves; a complete &lt;br /&gt;
dissasembly of the ROM.&lt;br /&gt;
&lt;br /&gt;
At this point, I had a big problem; where to start.  At the &lt;br /&gt;
time, the only documentation for the 100 was the Instruction &lt;br /&gt;
Manual.  &amp;quot;Hacker reliefs&amp;quot; like schematics, memory maps, &lt;br /&gt;
debuggers, etc. could only be found in the dreams of the infant &lt;br /&gt;
portable hackers.&lt;br /&gt;
&lt;br /&gt;
What did I end up doing?  Well, I decided to write a little &lt;br /&gt;
BASIC program to search for specific bytes in ROM.  This program &lt;br /&gt;
was used initially for finding the text string &amp;quot;Ok&amp;quot; in ROM.  &lt;br /&gt;
Once I found out where the message was in ROM, I then searched &lt;br /&gt;
for any ML instructions that referenced the message.  Then, on a &lt;br /&gt;
warm July night in St. Louis, I found what I was looking for; a &lt;br /&gt;
16 bit register load that referenced the message &amp;quot;Ok&amp;quot; followed &lt;br /&gt;
by a CALL instruction.  This was the key I needed to open the &lt;br /&gt;
door to the Model 100&#039;s ROM.  With my experience from the Model &lt;br /&gt;
1/3/Coco ROMs, I knew that the load/CALL sequence I found was &lt;br /&gt;
used to print a text string on the screen.  From this little &lt;br /&gt;
information, I was able to interrogate the subroutine called and &lt;br /&gt;
find out how the display operated.  In addition, since &amp;quot;Ok&amp;quot; is &lt;br /&gt;
only printed at BASIC ready, I was able to trace out the &lt;br /&gt;
keyboard input routines and eventually, the entire BASIC &lt;br /&gt;
interpreter.&lt;br /&gt;
&lt;br /&gt;
About 200 or so hours later, I documented most of the Model &lt;br /&gt;
100&#039;s ROM.  At this time, I knew enough about my Model 100 to &lt;br /&gt;
write just about any machine langauge program that I needed.&lt;br /&gt;
&lt;br /&gt;
When I started writing ML programs for the 100, I found one &lt;br /&gt;
problem with my ROM documentation; it was too hard to find a &lt;br /&gt;
particular ROM address.  What I needed was an organized &lt;br /&gt;
collection of all my notes, &amp;quot;chicken scratches&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
From this came the memory map you hold in your hand right &lt;br /&gt;
now.  In this memory map, I basically included the information &lt;br /&gt;
that I use the most when ML programming.  I did not include a &lt;br /&gt;
lot of information on how the ROM handles certain task, but I &lt;br /&gt;
did include information that can be used by external stand alone &lt;br /&gt;
ML programs.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
In creating this document, I had a little help along the &lt;br /&gt;
way with figuring out a few things.  Below is a list of sources &lt;br /&gt;
I used to help me determine or verify what certain things in the &lt;br /&gt;
Model 100 did:&lt;br /&gt;
&lt;br /&gt;
* Model 100 User Manual, Radio Shack&lt;br /&gt;
* Model 100 Service Manual (26-3801), Radio Shack&lt;br /&gt;
* Microsystem Components Handbook, Volume 1, Intel (1984)&lt;br /&gt;
* MOS Microprocessors and Peripherals, Advanced Micro Devices (1983)&lt;br /&gt;
* Microsoft BASIC Decoded &amp;amp; other Mysteries for the TRS-80, by James Lee Farvour, IJG (December 1982)&lt;br /&gt;
* &amp;quot;Inside the 100&amp;quot;, by David P. Sumner, 80 Micro (December 1983)&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Developer Reference]] [[Category:Model 100 System Map]]&lt;/div&gt;</summary>
		<author><name>83.234.245.140</name></author>
	</entry>
</feed>