The Machine Room
Home | Browse | Picture Archive | News | Links | Help
Status
CotW
Translate

The Machine Room is Back!
This is the recovered Machine Room from 2005. Please don't expect wonders. The look and feel of this site is nine years old, and so is its code. Some of the functionality has been recovered while the rest of the site is modernised and restructured. Watch this space!
Top :: Help & Docs :: How to Write Machine Room Computer Entries
The Machine Room's computer entries (and many other things besides) are written in standard XML. XML looks very much like HTML, so if you know HTML writing entries will be a dawdle.

If you know how to write XML by hand, fair enough. If you don't want to bother, you can get an XML editor. I use Emacs as my editor of choice, so I also use it to write XML. Your mileage may vary.

If you'll be editing stuff offline (greatly recommended), I suggest getting the latest MRDB DTD. Your XML editor will need it.

If you're comfortable with reading DTDs, you can understand the structure of an entry just by looking at the DTD. It's much easier using the automatically generated DTD documentation, however. Remember that our validator is case-sensitive, so you'll have to write XML elements in capitals.

If all this feels too complex, then perhaps a nice long example and its walkthrough will help. Here is the example in plaintext.

A computer entry has an XML header (which you can leave as it is, or cut and paste it to create new entries) and a number of sections. Each section describes one aspect of the computer, like its graphics or audio capabilities. The database reads in these sections and renders them to form the entry you see.

Entry XML header

The header looks like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MRDB PUBLIC "-//TheMachineRoom//MRDB Computer Entry 1.5//EN"
                      "http://machine-room.bedroomlan.org/dtd/mrdb-1.5.dtd">

You don't need to know what this is or how it works, just paste it at the top of every entry you make.

Markup

Computer entries use XML markup for three different tasks:

Full example

The elements and attributes in this example link to their documentation in the DTD. Download this example.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MRDB PUBLIC "-//TheMachineRoom//MRDB Computer Entry 1.5//EN"
                      "http://machine-room.bedroomlan.org/dtd/mrdb-1.5.dtd">

<MRDB MAKE="Oric" MODEL="Telestrat">

  <SECTION NAME="MAKEANDMODEL">
    <MAKE>Oric</MAKE> Telestrat (aka Oric <AKA>Stratos</AKA>, codename
    <AKA>IQ164</AKA>). ``Stratos'' stands for ``stratosphere'',
    naturally following the <REFM>Atmos</REFM>. If there ever was
    another Oric micro, I guess they'd have named it Ionos.
  </SECTION>
  
  <SECTION NAME="CHRONOLOGY">
    Announced in <TIMELINE TYPE="ANNOUNCED">1984;11;15</TIMELINE>.
    Released in <TIMELINE TYPE="RELEASED">1986</TIMELINE>. Production stopped soon thereafter,
    possibly within <TIMELINE TYPE="PRODUCTIONENDED">1986</TIMELINE>.
  </SECTION>
  
  <SECTION NAME="EMPHASIS">
    <EMPHASIS>Telecommunications</EMPHASIS>,
    <EMPHASIS>Small Business</EMPHASIS>,
    <EMPHASIS>Programming</EMPHASIS>,
    <EMPHASIS>Home computing</EMPHASIS>.
  </SECTION>

  <SECTION NAME="COMPATIBILITY">
    <REF ID="Oric-1;COMPATIBILITY"/>
  </SECTION>

  <SECTION NAME="AVAILABILITY">
    This machine is very rare. Total production count was around <UNITS>2000</UNITS> to
    <UNITS>6000</UNITS> units, depending on whom you listen to. Most are in France, though
    there have been a few recent sales. Just so I can brag about it, the first ever
    Telestrat was imported to Greece by yours truly (<USER>alexios</USER>) where it was
    thoroughly admired by my father, <USER>domosh</USER> (who wanted to buy it in 1986,
    just before Oric went belly up for the last time).
  </SECTION>

  <SECTION NAME="PRICING">
    Unknown. <HELP/>
  </SECTION>

  <SECTION NAME="TRIVIA">
    This was initially called the Stratos. It was announced by Oric UK right before they
    went bankrupt. Most of the world then lost track of the Oric machines. I found out in
    1995(!) that the prototype was actually launched in France as the Oric Telestrat,
    where it sold around <UNITS>2000</UNITS>--<UNITS>6000</UNITS> machines. <P/>
    
    The hardware of the machine was quite good, but it came out too late. The firmware was
    exceptional as well: a telecommunications-oriented machine with all necessary software
    (I think there are still BBSs working on Telestrats), and an excellent BASIC. This
    would be strong competition for the <REFM>Acorn BBC-B</REFM>, were it not three years
    too late. <P/>

    The Telestrat has a tape interface, but no internal code to handle it, and it is not
    supported by the BASIC cartridge. <P/>

    The target market of the machine is obvious by the fact that it has no TV modulator (the
    modulator was removed when the machine was bought by Oric France, and replaced by the MIDI
    connector -- part of the reason for this is, of course, the fact that French TV sets use
    the SECAM encoding scheme, instead of PAL, which is used in Britain). It comes with a disk
    drive as standard, and only connects to an RGB monitor (or a TV with a SCART
    connector). <P/>
    
    Since the machine was backwards compatible with the <REFM>Oric-1</REFM> and <REFM>Oric
      Atmos</REFM>, it was possible to emulate these machines using the simple addition of
    the <EM>Stratoric</EM> cartridge (which simply contained the <REFM>Oric Atmos</REFM>
    ROM). You could still access the extra hardware, as well. <P/>
    
    Most of the machine's initial software came in cartridges. Various cartridges were
    announced (and never actually manufactured). Among those manufactured were cartridges
    containing HyperBASIC, Telecommunications software and Backwards Compatibility
    ROMs. <P/>
    
    Of course, since the machine was marketed in France, a lot of the
    software is in French, including Hyper-BASIC's error messages. <P/>
  </SECTION>
  
  <SECTION NAME="CPU">
    <REF ID="Oric-1;CPU"/>
  </SECTION>

  <SECTION NAME="ROM">
    Typically <ROM>16</ROM> or <ROM>32</ROM>, in the form of one or two ROM
    cartridges. Like the <REFM>Atari 400</REFM>, there was no on-board ROM. A ROM banking
    scheme was used to accommodate up to 7 <K>16</K> ROM banks. This was used by the
    various cartridges. There were really eight banks. Bank 0 corresponded to the top
    <K>16</K> of RAM, i.e. ROM was unmapped. Bank 7 was necessary for the machine to
    boot. The full theoretical size of ROM was <K>112</K>.
  </SECTION>
  
  <SECTION NAME="RAM">
    <RAM>64</RAM>, with the top <K>16</K> possibly overlaid by one of the seven ROM
    banks. The banking system allowed unmapping the ROM to access the RAM underneath (the
    RAM is the first bank). Unlike the <REFM>Oric-1</REFM> and <REFM>Atmos</REFM>, the
    on-board paging logic does not need external hardware to make itself available to the
    user.
  </SECTION>

  <SECTION NAME="APPEARANCE">
    Medium, plastic case with typewriter keyboard. The case is tilted for ergonomic
    reasons. Speaker holes at the upper left corner. The colour scheme is the same as that
    of the <REFM>Atmos</REFM> and the shape and design are reminiscent of a larger
    Atmos. The differently-textured plastic strip covers the twin cartridge slots. It's
    actually transparent, so you can just about discern the titles of the two cartridges
    inside. The speaker holes are real here, but yet again, it's a kludge: there is no
    longer a speaker! This is due to the reworking of the Oric's video circuitry. All
    French TVs had an RGB input which included sound, so it was deemed unnecessary to have
    an on-board amplifier and speaker. The circuit was dropped, but it was too late to
    hide the speaker holes. <P/>

    There are two joystick/mouse ports to the left and right of the case
    and a reset button at a more accessible place (the side of the
    case). There's even a power switch this time! All other connectors are
    at the back.
  </SECTION>



  <SECTION NAME="KEYBOARD">
    Exactly the same layout as the <REFM>Atmos</REFM>': a
    <KEYBOARD>Typewriter keyboard</KEYBOARD> with <NUMKEYS>59</NUMKEYS>. Standard ASCII,
    normal style keys. Keyboard includes arrow keys, Escape key and FUNCtion key (similar
    in function to an Alt or Meta key). Telestrat software actually used the FUNC key, but
    there was no longer space for the function key template. No Tab or Caps Lock key
    (CTRL-T toggles Caps Lock).
  </SECTION>

  <SECTION NAME="DISPLAY">
    <REF ID="Oric-1;DISPLAY"/>
  </SECTION>

  <SECTION NAME="AUDIO">
    <REF ID="Oric-1;AUDIO"/>
  </SECTION>

  <SECTION NAME="MEDIA">
    The Telestrat needs a floppy drive to boot from. It comes with an on-board disk drive
    interface, but the type of drive shipped with the machine differs. Early ones had a
    3-inch Oric Microdisc floppy drive. Later ones came with a 3.5-inch disk drive. <P/>
    
    The versatility of some of the operating systems (and there are <EM>nine</EM> of them
    for the various Oric machines) allows <EM>any</EM> type of floppy drive to be
    connected, assuming it has a standard floppy connector (the one used on PCs). This
    allows the machine to use tons of different media and capacities, including 3-, 3.5-
    and 5.25-inch drives, and a wide range of capacities (the user may freely define drive
    parameters). <P/>
    
    Thus, the total media capacity of the Telestrat depends on a number of
    factors. Assuming four <K>720</K> drives are connected (probably the highest storage
    capacity under the current versions of the most operating systems), the total capacity
    would be 4 x <K>720</K>, or <MAXMEDIA>2880</MAXMEDIA>. It's not bad.
  </SECTION>

  <SECTION NAME="IO">
    <IOLIST>
      <IOPORT>Parallel</IOPORT> printer port (not a full implementation but it works perfectly).
      <IOPORT>RGB</IOPORT> monitor connector, including audio.
      <IOPORT>Tape recorder</IOPORT> port, plus mono sound output.
      The interface can operate at two speeds, <TAPESPEED>2400</TAPESPEED> or
      <TAPESPEED>300</TAPESPEED>. This port is only for importing old Oric software. All
      Telestrat software came on disk.
      <IOPORT>Expansion</IOPORT> port that allows access to the entire bus.
      It's quite easy to build
      expansion hardware for the Telestrat.
      <IOPORT>RS-232</IOPORT>.
      <IOPORT>Minitel</IOPORT> port (another serial port, but the voltages are different).
      <IOPORT NUM="2">Joystick</IOPORT> ports on either side of the machine
      (can also be used to connect one mouse and one joystick).
      <IOPORT NUM="2">Cartridge</IOPORT> ports.
      <IOPORT>Floppy</IOPORT> disk drive connector (Shugart-compatible 34-pin IDC cable).
      <IOPORT>MIDI</IOPORT> connector (which, according to some, is not a full
      implementation, but is useful for device control).
      <IOPORT NUM="1">Phone line</IOPORT> connector. The connector is used to detect incoming
      calls. This is useful when running a BBS, as the Minitel terminal (the
      modem and Minitel hardware) is unable to do that.
    </IOLIST>
  </SECTION>
</MRDB>
Download this example.