EMMA 02

COMX-35

  • Home
  • CDP18S020
    • General Information
    • I/O Map
  • COMIX-35
  • 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
  • COSMAC Elf
    • General Information
    • I/O Map
    • Front Panels
  • COSMAC Elf 2000
    • General Information
    • I/O Map
    • Memory
    • Video
  • COSMAC Microtutor
    • General Information
    • I/O Map
  • COSMAC Microtutor II
    • General Information
    • I/O Map
  • 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
  • Cidelsa
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
  • Conic
  • Cosmicos
    • General Information
    • I/O Map
    • Front Panels
    • Mops & Hexmops
    • ASCII Monitor
    • HEX Monitor & UT4
  • CyberVision
  • ETI-660
  • FRED 1
    • General Information
    • I/O Map
    • Cassette
    • CARDTRAN Syntax
  • FRED 1.5
    • General Information
    • I/O Map
    • Cassette
    • Cassette
    • FPL-2
    • FPL-4
    • FEL-1
  • HEC1802
  • HUG1802
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Chip-8 ETI-660
  • Infinite UC1800
    • General Information
    • I/O Map
  • JVIP
  • Macbug
  • Membership Card
    • General Information
    • I/O Map
  • Netronics Elf II
    • General Information
    • I/O Map
    • Front Panels
    • Keyboard
    • Giant Board
    • BASIC/Math
  • 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 Game System
  • RCA Microboard
    • General Information
    • I/O Map
  • RCA MS2000
    • General Information
    • I/O Map
  • RCA MCDS
    • General Information
    • I/O Map
  • 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
  • RCA Video Coin
    • General Information
    • I/O Map
    • Memory
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • GPL-2
    • GPL-3
    • GPL-4
  • SBC1802
  • Studio 2020
  • Telmac 1800
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cassette
  • Telmac 2000
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
  • Telmac TMC-600
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Telmac SBASIC v24.3
  • VELF
    • General Information
    • I/O Map
    • BIOS
    • Video
    • Keyboard
  • VIP2K MC
    • General Information
    • I/O Map
    • Memory
    • Video
    • Chip 8
  • VIS1802
  • VT1802
  • Visicom COM-100
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard

 

 

 

 

 

 

 

 

 

 

 

 

Memory

RAM

The 'COMX 35' is called '35' due to the fact that it has 35 KB RAM. This includes 32 KB user RAM (of which roughly 30 KB is available for BASIC storage) and an additional 3 KB video RAM. For details about the video RAM see the Video Interface System page.

On a ‘clean start’ of the COMX the command PRINT MEM states that 30934 bytes are available which is 1834 Bytes less than 32 KB. The missing bytes are used as follows (see also Memory Map below):

  • 1024 bytes for the System Parameter area at @4000-@43FF
  • 17 bytes at @4400-@4410 reserved by COMX BASIC
  • 256 bytes for stack growth around @BCE7-@BDE6
  • 25 bytes of stack used on a clean start at @BDE7-@BDFF
  • 512 bytes reserved for DOS at @BE00-@BFFF

DMA & Refresh

Dynamic RAM is refreshed by DMA. A counter is implemented with HW to count the number of CPU execution cycles, my current assumption is that every 5 machine cycles a DMA Out request is generated. This is very frequent but in the emulator it looks like this figure gives the right speed. If anyone has any facts on this please don't hesitate to drop me an email.

DMA Out generates a dummy memory read on the R[0] register location and after that a step of R[0] with 1.

Some games use the R[0] register value as a random generator as the value is stepped from 0 to @FFFF all the time. Except at start-up when R[0] is used as program counter at which stage DMA and Dynamic RAM Refresh is still disabled.

Memory Map

0000 - 3FFF Build in system ROM
4000 - 43FF BASIC System Parameters
4400 - 4410 17 Bytes reserved by COMX BASIC
4411 - BDFF BASIC Program and Data storage (top of stack: BDFF)
BE00 - BFFF Reserved for DOS
C000 - DFFF 8K Interface card expansion ROM
E000 - EFFF 4K  Expansion box ROM
F000 - F3FF Reserved / Not used
F400 - F7FF Character Memory Access
F800 - FFFF Screen Page Memory Access