Emulator modules

EEA index

FileStore
Description
Hardware
Error codes
NVRAM
Disc format
Disc image
Accessing
Password file
E01 vs E01S
Rescuing
Emulator

Executable
Source
EPROMs
Mem. map
Licence
Versions
Modules
SD card

Intro
MDFS
Others
Clocks
Bridges
Interfaces
Misc h/w
Testing
Misc info

Version...

This information is correct for version 0.00 (2009/06/30).

 

frmAbout (form)

What it does
This is a form that provides the "about this software" info.
 
What we'd like it to do
-
 
Status
Complete, pending any tweaks necessary.

frmADLC (form)

What it does
This is a form that provides the inside scoop on the ADLC's status.
 
What we'd like it to do
Work.
 
Status
Dummy, does nothing yet.

frmBreak (form)

What it does
The interface to the breakpoint system.
 
What we'd like it to do
Work...
 
Status
Dummy, does nothing yet.

frmCPUState (form)

What it does
Reports on CPU status (flags, registers...) and allows you to alter things.
 
What we'd like it to do
Work...
 
Status
Incomplete, does nothing itself yet; but the CPU core will update this if it is open.

frmHelp (form)

What it does
Display brief RTF help file.
 
What we'd like it to do
-
 
Status
Complete, it works but no help file available yet.

frmInit (form)

What it does
Little splash window for status during start-up.
Also 'borrowed' by the EPROM joiner.
 
What we'd like it to do
-
 
Status
Complete.

frmJoin (form)

What it does
The interface to the EPROM joiner.
 
What we'd like it to do
-
 
Status
Complete (we won't bother with 8times;8KiB dumps)

frmMain (form)

What it does
The main interface with the E01S piccies.
 
What we'd like it to do
Work...
 
Status
Dummy, does mostly nothing yet - though the menus do some stuff.

frmMem (form)

What it does
The interface to a page-based hex-editor-like memory viewer/editor.
 
What we'd like it to do
-
 
Status
Complete, pending enhancements and bug fixes.

frmSetup (form)

What it does
The interface to the emulator setup.
 
What we'd like it to do
-
 
Status
Complete, pending tweaks.

 

There may be other forms added as the situation progresses.

 

IMPORTANT It might be a good idea to let hardware respond immediately to requests to read/write internal registers, but for things like "write byte to printer" or "request read data from floppy", we should defer the operation to the next time the main loop polls the device. The firmware may not be able to cope with an FDC interrupt at the exact time it writes to the 2793 register to request something, as that absolutely wouldn't happen in real life...

 

ADLCmod

What it is for
Emulation of 6854 ADLC.
 
What it does
Hopefully fakes enough to permit the server to believe there's a network card fitted and an operation Econet connected.
 
What we'd like it to do
It would be nice to route the network packets to a sort of terminal window so that we can, at least, issue commands to the server...
 
Status
Incomplete, just does enough to 'fake' being there; is it sufficient?

CPU65C102

What it is for
Emulation of 65C102 processor.
 
What it does
Emulates a 65C102 processor.
 
What we'd like it to do
Implement the following:
  • RMBx, SMBx, BBRx, BBSx
  • Cycle accurate for crossing page boundaries.
  • Ensure it works correctly! esp. ADC/SBC with/without carry flag.
  • Support for code tracing, debug, single-stepping [partial implementation].
  • Check how the exec loop system holds up with respect to emulation of external hardware.
The following will probably not be implemented:
  • BCD maths mode
  • Undefined opcodes (are NOPs but are varying 'lengths')

 
Status
Incomplete, but appears 99% operational.
The instructions TRB and TSB have been added mostly by guesswork, can somebody please confirm correct behaviour?

FDCmod

What it is for
Emulation of 2793 FDC; plus read/write of up to two floppy disc images.
 
What it does
Basic type I commands, though evidently not enough for the firmware to start reading sectors. Meh.
 
What we'd like it to do
Behave like a 2793 FDC and permit access to up to two floppy disc image files; which includes the creation of such if it does not already exist (will usually need to be FSFORMATted, but we might add some code to optionally lay down a generic format if the ADLCmod does not yet allow communication with the server); the software is now supplied with a disc image that is suitable (and/or can be dumped to a real floppy too!).
 
Status
Dummy, does nothing yet (except hwlog).

HDCmod

What it is for
Emulation of logic-gate-based SCSI harddisc interface; which can read/write a harddisc image file.
 
What it does
Nothing (reports hardware access).
 
What we'd like it to do
Behave like the add-on (E01)/built-in (E01S) SCSI interface with a harddisc fitted. The aim is to try to stretch the scope of the actual hardware beyond the two specific Rodime drives that it 'likes'...
 
Status
Dummy, does nothing yet (except hwlog).

Memory

What it is for
RAM space, EPROM space and address map decode/dispatch (i.e. to hardware).
Also contains some memory-related routines such as support for the ROM image joiner.
 
What it does
As above.
 
What we'd like it to do
-
 
Status
Complete, pending additional functionality.

MiscFunc

What it is for
The miscellaneous functions latch.
 
What it does
Sets flags as applicable for Misc. Func. Latch access. Is able to turn the Mode LED on and off by itself.
 
What we'd like it to do
-
 
Status
Complete, I think?
Writes to "hwlog" so we can compare these ops with FDC behaviour.

NVRAMmod

What it is for
Emulation of 146818 RTC/NVRAM.
 
What it does
Emulates the basics necessary.
Silently discards writes to the system clock, as it builds clock information directly from the host's RTC.
 
What we'd like it to do
-
  • Verify that we are specifying the YEAR correctly.

 
Status
Mostly complete, anything else to do?

Script

What it is for
Script interpreter for CPU verification scripts.
 
What it does
As above.
 
What we'd like it to do
n/a
 
Status
Working - likely to be expanded to facilitate testing of other hardware in time.

Setup

What it is for
Routines to read/write the emulator settings; also to poke/pull information from frmSetup; plus handling for the "" shortcut.
 
What it does
As above.
 
What we'd like it to do
To add: Support for savestate and loadstate.
 
Status
Incomplete.

VIAmod

What it is for
Emulation of 65C22 VIA. Will also spool 'printed' data to a file, and display a "cooked" version in a window.
 
What it does
Nothing (reports hardware access).
 
What we'd like it to do
As specified above.
 
Status
Dummy, does nothing yet (except hwlog).

Wrapper

What it is for
Program entry point [Sub Main()], initialise the emulation, main emulation loop, various support routines.
 
What it does
As above.
 
What we'd like it to do
-
 
Status
Incomplete, by definition won't be complete until the project is fully operational...

 

There may be other modules added as the situation progresses.

 

Return to FileStore emulator


Copyright © 2010 Rick Murray