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
  • 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
  • CDP18S020
    • General Information
    • I/O Map
  • Cidelsa
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
  • COMX-35
    • General Information
    • F&M
    • Did You Know...?
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Expansion Box
    • Disk
    • Printers
    • Thermal
    • PL-80
    • 32K RAM
    • 80 Column
    • F&M EPROM
    • F&M Joy Card
    • Super Board
    • COMX BASIC V1.00
  • COMIX-35
  • Cosmac Elf
    • General Information
    • I/O Map
  • Cosmac Elf 2000
    • General Information
    • I/O Map
    • Memory
    • Video
  • Cosmac Vip
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • STK
    • Chip-8 and 8X
    • Test-Word
    • Floating Point BASIC 2.2
  • Cosmac Vip II
    • General Information
    • I/O Map
    • Floating Point BASIC 2.2
  • Cosmicos
    • General Information
    • I/O Map
  • FRED 1
    • General Information
    • I/O Map
    • Cassette
    • CARDTRAN Syntax
  • FRED 1.5
    • General Information
    • I/O Map
    • Cassette
    • FPL-2
    • FPL-4
    • FEL-1
  • HUG1802/ETI-660
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Chip-8 ETI-660
  • Infinite
    • General Information
    • I/O Map
  • MCDS
    • General Information
    • I/O Map
  • Membership Card
    • General Information
    • I/O Map
  • Microboard
    • General Information
    • I/O Map
  • Microtutor
    • General Information
    • I/O Map
  • Microtutor II
    • General Information
    • I/O Map
  • MS2000
    • General Information
    • I/O Map
  • Netronics Elf II
    • General Information
    • I/O Map
    • Keyboard
  • Oscom Nano
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
  • Pecom 32 and 64
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
  • Pico/Elf V2
    • General Information
    • I/O Map
  • Quest Super Elf
    • General Information
    • I/O Map
  • RCA Coin Arcade
    • General Information
    • I/O Map
    • Memory
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • GPL-2
    • GPL-3
    • GPL-4
  • RCA Studio II
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST2
  • RCA Studio III
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
  • RCA Studio IV
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST4 Syntax
  • Telmac TMC-600
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Telmac SBASIC v24.3
  • Telmac 1800
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cassette
  • Telmac 2000
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
  • VELF
    • General Information
    • I/O Map
    • BIOS
    • Video
    • Keyboard
  • VIP2K MC
    • General Information
    • I/O Map
    • Memory
    • Video
    • Chip 8
  • Visicom COM-100
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard

 

 

 

 

 

 

 

 

 

 

 

 

DEFUS

Format: DEFUS expr

Supported by: Pecom 32 BASIC, Pecom 64 BASIC 1.0 and 4.0

Similar commands:
COMX BASIC V1.00: DEFUS
Floating Point BASIC 2.2: DEFUS
Quest Super BASIC 1.4: DEFUS
Quest Super BASIC 3.0: DEFUS
Quest Super BASIC 5.0 and 6.0: DEFUS
RCA BASIC3 V1.1: DEFUS
Telmac SBASIC v 24.3: DEFUS

This statement (define the start of user space) is provided to allow the start of program space to be moved further up in memory, as shown in figure 1. It allows the programmer to create a "hole" in memory in which he can store machine language routines. Expr defines where the program space will begin. In Pecom 64 BASIC 1.0 and 4.0 the user space begins at &0200 (hexadecimal). The expression must evaluate to a number greater than &0200. BASIC will round down the expression to give only even-page increments of movement. If an attempt is made to define the user space at an address lower than &0200, BASIC will "self-destruct", i.e. since the program overwrites the system area (see figure 1), the BASIC interpreter will no longer work properly. Once a DEFUS statement is executed, the only way to get the program space back to &0200 is by another DEFUS to &0200. The statement destroys the user program currently in memory.

An interesting feature of moving the start of user program space lies in the PSAVE statement. If a program has been generated at a moved location and it has associated with it some machine language routines, a PSAVE statement will save everything from @6300 to the end of program space. Included would be the machine language routines as well as the associated BASIC program. A subsequent PLOAD will load in all of the above, including the machine language routines, and will also redefine the start of user space to where it was when the file was created. No book-keeping is necessary.

DEFUS @6D00

Or

DEFUS @6DCC

moves the start of user space to @6D00

DEFUS @0200

moves the start of program space back to its original location

Figure 1: Action by DEFUS to move the beginning of program space up