Skip to content
Snippets Groups Projects
  1. Jan 22, 2025
    • Deucе's avatar
      Add my Prestel test "stuff" · 4ce11e59
      Deucе authored
      4ce11e59
    • Deucе's avatar
      Update comments for closer reading of the spec. · 1817c363
      Deucе authored
      Section 2.3.1 is the C0 set, which "is not stored or displayed"
      Section 2.3.2 is the C1 set, so interpret "all control characters"
      in this context as meaning "all C1 characters".
      1817c363
    • Deucе's avatar
      Switch back to ignoring unhandled C0 bytes. · 7982c3cf
      Deucе authored
      This "feels" more like what the spec means.
      7982c3cf
    • Deucе's avatar
      bf58917b
    • Deucе's avatar
      Ignore invalid ESC sequences in Prestel mode · 1eb4ec04
      Deucе authored
      1eb4ec04
    • Deucе's avatar
      Support the "Replacement Character" in Prestel mode · b2b88684
      Deucе authored
      This is the unicode replacement character, now displayed whenever
      a G1 byte is received (byte values 160-255).
      
      Prestel terminals are 7-bit devices, and use special escape
      sequences to select alternate glyphs.  The Videotex standards
      define a default G1 set though, which I am not supporting in the
      1.x versions.  So that sysops and users know "something weird
      happened", this weird glyph will clearly indicate that.
      
      The C1 characters (128-159) I am supporting though simply because
      it's easy to do, and I saw at least one BBS using them.  These BBSs
      won't actually work with a real Prestel terminal though... they may
      end up as parity errors, or they may end up as C0 bytes, or they
      may be replaced with a '?'... I've seen all three now. SyncTERM can
      at least do the right thing since it's well defined.
      
      This may also fix held mosaic display for unhandled C0 bytes... it
      looks like previously they were ignored, but the Prestel Terminal
      Specification clearly states that "Generally all control characters
      are displayed as spaces"... it doesn't limit them to supported
      control characters.
      b2b88684
    • Deucе's avatar
      Fix handling of C1 control characters · ac92a69b
      Deucе authored
      At the same time, fix an old error in prestel_handle_escaped() that
      didn't pass the ctrl to prestel_apply_ctrl_after() properly, and
      always flush the print buffer before calling prestel_handle_escaped()
      
      We still shouldn't actually get C1 characters on a Prestel connection,
      but if we do, at least we're doing the right thing now.
      
      As for G1 characters, the default repetoire for these terminals per
      ITU-T REC. T0101 is the mosaic character set with smoothed moasics,
      something there's no evidence of a Prestel terminal ever supporting.
      In order to implement those properly, I would need special handling
      of "separated" in the renderer, and would need to fiddle with the
      font to include the contiguous smoothed mosaics (and exclide the
      separated ones).  Since this would end up allowing wildly un-Pretel
      behaviour (ie: mosaics without a mosaic escape) I'm inclined to
      just treat them all as spaces and move on util/unless I do full
      support for all the Videotex standards.  Nobody has asked me to
      open this can of worms, so I'm just going to leave it on the shelf.
      ac92a69b
    • Deucе's avatar
    • Deucе's avatar
      f8f00d18
    • Deucе's avatar
      Atari doesn't blink? · 4837ce25
      Deucе authored
      4837ce25
    • Deucе's avatar
      Fix previous commit. · 7079932a
      Deucе authored
      7079932a
    • Deucе's avatar
      Add C64/C128 blinking... 1.5Hz · 7ae2f1b1
      Deucе authored
      Blinking text is opposite of the cursor
      7ae2f1b1
    • Deucе's avatar
      Fix up cursor and blinking rates, step 1... · 0524805a
      Deucе authored
      For "PC" modes, cursor blinked at 1/16th of the VSYNC rate, so use
      the CGA timings, where were generally the slowest of the bunch...
      This means cursor blink at 3.745Hz, and character blink at 1.8725Hz.
      
      For Prestel, character blink was 0.75Hz with a 3:1 On:Off ratio.
      The cursor on the other hand was 1/32th the VSYNC and was generally
      PAL, so 1.5625Hz.
      
      I still need to dig into C64 and Atari modes, because they're likely
      way off now (assuming either supports blinking).
      0524805a
    • Deucе's avatar
      Make the whole 32-127 range match CP437 · 2723c35b
      Deucе authored
      Only 0-31 and 128-255 are left needing CP437 love.
      2723c35b
    • Deucе's avatar
      Add "support" for 12x20 fonts (prestel mode only) · 6d9cac40
      Deucе authored
      Also hack together a 12x20 "CP437" font that's just the Prestel font
      with the characters uifc32 uses from cp437 in it.
      6d9cac40
  2. Jan 21, 2025
Loading