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

 

 

 

 

 

 

 

 

 

 

 

 

DMAPT

Format: var = DMAPT (expr)

Supported by: Telmac SBASIC v 24.3

Similar commands: RCA BASIC3 V1.1: DMAPT

This command is similar to the DMAPT command in RCA BASIC3 V1.1, however for some reason the command in SBASIC does not change the DMA Pointer but changes the interrupt register.

Load interrupt register with value specified by expr, i.e. CPU 1802 register R1 (= start of interrupt routine) will be loaded with the specified value. The function also returns the former interrupt routine address.

Example

10 A = DMAPT (@D445)
20 PR A
30 GOTO 20

Will result in:

5792

5792 will be printed repeatedly, until the program is stopped by the BREAK key.

Hexadecimal value of D445 will be loaded into register R1 as long as the program runs. After 'BREAK' the value @16A0 (= 5792 decimal) is restored as this value is the start address of the SBASIC interrupt routine handling, see also the ENINT command.

Note the above example is NOT complete, to have any use of this the user should also program an actual machine code interrupt routine at address @D445 and connect some external hardware to the CDP 1802 interrupt.