EMMA 02

BASIC

  • Home
  • Download
  • Change Log
  • Help
  • Compilation
    • Windows
    • OS X
    • Ubuntu
    • Fedora
    • openSUSE
  • Forums
  • Tape Conversion
  • Machine Code
    • SYSTEM00
    • CDP1801
    • CDP1802
    • CDP1804
    • CDP1805
    • Differences
  • Pseudo Code
    • AMVBAS
    • AM4KBAS
    • CARDTRAN
    • Chip-8, 8X, ETI-660 & Elf
    • FEL-1
    • FPA-1
    • FPL-2
    • FPL-4
    • GPL-2
    • GPL-3
    • GPL-4
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • ST2
    • ST4
    • STK
    • Test-Word
    • Super-chip
  • XML Code
    • Main Elements
    • I/O
    • System
    • A/D Convertor
    • BASIC
    • Batch wav
    • Bootstrap
    • Cassette
    • CD4536B
    • CDP1851
    • CDP1852
    • CDP1854
    • CDP1855
    • CDP1877
    • CDP1878
    • CDP1879
    • Debugger
    • COMX Diagnostic
    • Dip switch
    • Disk
    • EF Buttons
    • Flip Flop
    • Front Panel
    • GUI
    • HEX Modem
    • I/O Group
    • Keyboard
    • Keyfile
    • Locations
    • Memory
    • MM57109
    • Printer
    • RTC
    • Sound
    • Splash
    • USB
    • Video
    • Videodump
    • vt
    • X Modem
  • BASIC
    • General Information
    • COMX BASIC V1.00
    • Floating Point BASIC 2.2
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
    • Quest Super BASIC 1.4
    • Quest Super BASIC 3.0
    • Quest Super BASIC 5.0
    • Quest Super BASIC 6.0
    • RCA BASIC3 V1.1
    • Telmac SBASIC v24.3
    • Error Messages
  • Computer List

 

 

 

 

 

 

 

 

 

 

 

 

POUT

Format: POUT

Supported by: COMX BASIC V1.00

Similar commands: Quest Super BASIC 5.0 and 6.0: POUT

The POUT command (or TOUT) is not documented in the manual. POUT will also be replaced by CARD if the expansion box is used.

Possibly POUT was supposed to activate output to a printer like the Quest Super BASIC 5.0 and 6.0 commands POUT. Another possibility is that POUT was somehow planned to control the expansion box. The code for the command performs 4 OUT 1 instructions (which is used for expansion box card switching) with with values 0, 1, 2 and again 0. After each OUT 1 address @C000 is inspected if it is ROM and value 0, a strange XOR with a random stack value is performed (I think the last is a bug!). If the result of the XOR is not equal to 0 the next OUT 1 is done. As the stack value is never 0 nothing will ever happen. If the XOR would not be there the code would actuall do a jump to @C002 and execute code that would be stored there, like a printer activation routine (as part of a printer card FW).