From clr1@st-andrews.ac.uk Mon Nov 28 11:47:09 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 28 Nov 94 11:20:16 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <13882-0@andie.st-andrews.ac.uk>; Mon, 28 Nov 1994 11:19:58 +0000
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 28 Nov 1994 11:17:46 +0000
Received: from dira.bris.ac.uk by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) 
          id AA03691; Mon, 28 Nov 94 11:17:38 GMT
Received: from icebox.mfltd.co.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 28 Nov 1994 11:17:01 +0000
Received: from localhost (jfid@localhost) by icebox.mfltd.co.uk (8.6.4/8.6.4) 
          id LAA19120 for bbc-emu@bristol.ac.uk; Mon, 28 Nov 1994 11:20:55 GMT
Message-Id: <199411281120.LAA19120@icebox.mfltd.co.uk>
From: jfid@mfltd.co.uk (James Fidell)
Date: Mon, 28 Nov 1994 11:20:54 +0000
In-Reply-To: Mike Borcherds's note of Nov 28, 10:53am
To: bbc-emu@bristol.ac.uk
Subject: Re: snapshots
X-Status: 
Status: RO

Mike Borcherds wrote:

> Has there been any development in snapshot formats?
> How many people have developed their own and how many people are
> using the xbeeb one?

I've not seen anything other than my proposal.

> I would prefer to see a more extensible format, with each bit of the format
> being optional - ie it has a few flags, one for main memory, one for
> each sideways ROM socket, one for each bit of hardware that is memory
> mapped, etc, specifying whether that part has been saved.

I've allowed for that, in a way.  I consider the most important thing to
be that we agree on a set of magic numbers, so that as the snapshot format
evolves, it's possible for the emulator to correctly load the snapshot.

My main concern in posting the suggested spec. was that we could all
discuss a suitable format and not waste time coding all sorts of
incompatible formats.

> (and support for master 128 snaps)

I don't know much at all about this machine, so I couldn't provide for
it in my suggestion.

> Maybe each bit should have a length associated with it, so you could for eg 
> have a snapshot that was just a screen shot without wastage etc

That's not an unreasonable thing to want to do.  However, I didn't
consider it necessary for a first pass, since it made the work of decoding
the snapshot more complex whilst minimally reducing the amount of disk
space required to store them.  Disk space isn't exactly the problem it
was three or four years ago, is it ?

> I very much like the snapshot starting &BC &BB

I suggested starting with &0BBC stored lo-hi, followed by a 16-bit version
number.

> If the timers are in one-shot mode, presumably  we also need to save 
> whether they have "gone off" or not?

I believe that my format will handle this properly because it saves the
full state of the VIAs and a count of the number of outstanding interrupts
(ie. +1 for every piece of hardware trying to pull down the CPU NIRQ line).

If there's interest, I can re-post the spec. that I'm using.

James.

-- 
 "Yield to temptation --             |     jfid@mfltd.co.uk
  it may not pass your way again"    |  http://www.mfltd.co.uk/~jfid/
                                     |
        - Lazarus Long               |              James Fidell

From clr1@st-andrews.ac.uk Mon Nov 28 11:46:56 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 28 Nov 94 10:57:31 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <13191-0@andie.st-andrews.ac.uk>; Mon, 28 Nov 1994 10:57:19 +0000
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 28 Nov 1994 10:56:05 +0000
Received: from dira.bris.ac.uk by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) 
          id AA29453; Mon, 28 Nov 94 10:55:37 GMT
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Mon, 28 Nov 1994 10:55:15 +0000
Via: uk.ac.oxford; Mon, 28 Nov 1994 10:54:53 +0000
Received: from mail.physics.ox.ac.uk by oxmail2.ox.ac.uk. with SMTP (PP) 
          id <15260-0@oxmail2.ox.ac.uk.>; Mon, 28 Nov 1994 10:53:33 +0000
Received: from teaching.physics.ox.ac.uk by mail.physics.ox.ac.uk 
          with SMTP (5.65c+/IDA-1.4.4-UK-t for <bbc-emu@bristol.ac.uk>) 
          id AA01243; Mon, 28 Nov 1994 10:50:09 GMT
Received: from teaching8 by teaching.physics.ox.ac.uk (NX5.67e/NX3.0M) 
          id AA04834; Mon, 28 Nov 94 10:53:27 GMT
From: Mike Borcherds <borchrds.teaching@physics.oxford.ac.uk>
Message-Id: <9411281053.AA04834@teaching.physics.ox.ac.uk>
Received: by teaching8.physics.ox.ac.uk (NX5.67e/NX3.0X) id AA02163;
          Mon, 28 Nov 94 10:53:26 GMT
Subject: snapshots
To: bbc-emu@bristol.ac.uk
Date: Mon, 28 Nov 1994 10:53:26 +0000 (GMT)
Original-Sender: borchrds.teaching@physics.oxford.ac.uk
Reply-To: borchrds.teaching@physics.oxford.ac.uk
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 845
X-Status: 
Status: RO

Has there been any development in snapshot formats?
How many people have developed their own and how many people are
using the xbeeb one?
I would prefer to see a more extensible format, with each bit of the format
being optional - ie it has a few flags, one for main memory, one for
each sideways ROM socket, one for each bit of hardware that is memory
mapped, etc, specifying whether that part has been saved.
(and support for master 128 snaps)
Maybe each bit should have a length associated with it, so you could for eg 
have a snapshot that was just a screen shot without wastage etc

I very much like the snapshot starting &BC &BB

If the timers are in one-shot mode, presumably  we also need to save 
whether they have "gone off" or not?

comments please,

Mike

-- 
borchrds.teaching@ph.ox.ac.uk  | 71 Swarthmore Road, B'ham, B29 4NH, UK.

From clr1@st-andrews.ac.uk Sun Nov 27 16:42:46 1994
Received: from andie by maths.st-andrews.ac.uk; Sun, 27 Nov 94 15:15:17 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <24785-0@andie.st-andrews.ac.uk>; Sun, 27 Nov 1994 15:15:12 +0000
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Sun, 27 Nov 1994 15:13:57 +0000
Received: from dira.bris.ac.uk by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) 
          id AA24199; Sun, 27 Nov 94 15:13:54 GMT
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Sun, 27 Nov 1994 15:13:52 +0000
Via: uk.ac.leeds.gps1; Sun, 27 Nov 1994 15:13:44 +0000
Received: from gps.leeds.ac.uk (gps0) by leeds.ac.uk;
          Sun, 27 Nov 94 15:13:41 GMT
Received: from leeds.ac.uk (gps1) by gps.leeds.ac.uk;
          Sun, 27 Nov 1994 15:13:40 +0000
Received: from scs.leeds.ac.uk (csunb0.leeds.ac.uk) by leeds.ac.uk;
          Sun, 27 Nov 94 15:13:40 GMT
From: csxpgg@scs.leeds.ac.uk
Received: from csgi42 by csirisa.scs.leeds.ac.uk; Sun, 27 Nov 94 15:14:16 GMT
Date: Sun, 27 Nov 94 15:14:14 GMT
Message-Id: <4586.9411271514@csgi42.scs.leeds.ac.uk>
To: bbc-emu <bbc-emu%bristol.ac.uk@gps.leeds.ac.uk>
Subject: Re: DFS Disks
Content-Length: 546
X-Status: 
Status: RO

Hi,
I think the format is in the Advanced User Guide
I'll check when I go home tonite and bring it in
in the next few days

laters,
-Nige

+------------------------------------------------------------------------------+
| Nigel Gilbert    (Norb)                                                      |
|   csxpgg@scs.leeds.ac.uk        csc4npgg@lucs-03.novell.leeds.ac.uk          |
|                                                                              |
+------------------------------------------------------------------------------+



From clr1@st-andrews.ac.uk Sun Nov 27 16:42:39 1994
Received: from andie by maths.st-andrews.ac.uk; Sun, 27 Nov 94 15:12:02 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <24716-0@andie.st-andrews.ac.uk>; Sun, 27 Nov 1994 15:11:54 +0000
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Sun, 27 Nov 1994 15:10:32 +0000
Received: from dira.bris.ac.uk by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) 
          id AA24190; Sun, 27 Nov 94 15:10:30 GMT
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Sun, 27 Nov 1994 15:10:27 +0000
Received: by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) id AA24187;
          Sun, 27 Nov 94 15:10:25 GMT
From: Mark Cooke <ee2015@bristol.ac.uk>
Message-Id: <9411271510.AA24187@kestrel.fen.bris.ac.uk>
Subject: DFS Disks
To: bbc-emu@bristol.ac.uk (Beeb Group)
Date: Sun, 27 Nov 1994 15:10:25 +0000 (GMT)
X-Mailer: ELM [version 2.4 PL21]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 917
X-Status: 
Status: RO

Hi Everyone,

I'm attempting to write some code to read DFS disks on the PC.  I have
some source code (thanks to providers!) but don't have the info about the
layout of DFS disks.

So, does anyone know the layout of 40 and 80 track, double & single sided
BBC DFS style disks (5.25")?  Any info will help - or if anyone has done
this already, please drop the source/binary into /incoming at
blue.bad.bris.ac.uk, and drop me a note about it!

Mark

PS. Is everyone hard at work on coding/exams/etc at the moment, the list seems
very quiet :-)

/------------------------------------------------------------------------\
| Mark Cooke                 |    Email : ee2015@bristol.ac.uk           |
|----------------------------+-------------------------------------------|
|      bbc-emu@bristol.ac.uk - Home of the BBC Emulator Mailing list     |
\------------------------------------------------------------------------/

From clr1@st-andrews.ac.uk Thu Nov 17 18:59:04 1994
Received: from andie by maths.st-andrews.ac.uk; Thu, 17 Nov 94 18:02:45 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <11149-0@andie.st-andrews.ac.uk>; Thu, 17 Nov 1994 18:02:38 +0000
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Thu, 17 Nov 1994 18:01:23 +0000
Received: from dira.bris.ac.uk by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) 
          id AA02411; Thu, 17 Nov 94 18:01:21 GMT
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Thu, 17 Nov 1994 18:01:13 +0000
Via: uk.ac.aston; Thu, 17 Nov 1994 18:00:51 +0000
Received: from sat2 by email.aston.ac.uk with SMTP (PP) 
          id <13520-0@email.aston.ac.uk>; Thu, 17 Nov 1994 15:26:34 +0000
From: lamcw <lamcw@sun.aston.ac.uk>
Date: Thu, 17 Nov 1994 15:31:47 +0000
Message-Id: <335.9411171531@sun.aston.ac.uk>
To: bbc-emu@bristol.ac.uk
Subject: Undocumented Opcodes,
X-Sun-Charset: US-ASCII
Content-Length: 779
X-Status: 
Status: RO


Nigel wrote:


;I seem to remember a thread about undocumented opcodes
;on the 6502, I wonder if I can get any information
;from:
;- -6502 data sheets, if anyone has these and they are any
;use I would appreciate them
;- -any other source

;I really need those undocumented ones!


yes indeed, undefined 6502 opcodes may eventually cause a
bigger headache than video interrupts.

i have 3 games which don't work - manic miner, match day and
repton2. i think repton 2 may be the easiest to crack out of
these 3. i'm sure in manic miner it uses these nasty opcodes
to 'decode' the game before execution... tricky.

there's the infamous 64doc which provides a lot of info about
these opcodes. there's also a list of them mailed to this group
a couple of months ago.


chris lam.



From clr1@st-andrews.ac.uk Sat Nov 19 15:33:02 1994
Received: from andie by maths.st-andrews.ac.uk; Thu, 17 Nov 94 18:01:27 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <11110-0@andie.st-andrews.ac.uk>; Thu, 17 Nov 1994 18:01:12 +0000
Received: from kestrel.fen.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Thu, 17 Nov 1994 17:59:50 +0000
Received: from dira.bris.ac.uk by kestrel.fen.bris.ac.uk (4.1/SMI-SVR4) 
          id AA02400; Thu, 17 Nov 94 17:59:47 GMT
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Thu, 17 Nov 1994 17:59:45 +0000
Via: uk.ac.aston; Thu, 17 Nov 1994 17:59:22 +0000
Received: from sat2 by email.aston.ac.uk with SMTP (PP) 
          id <12883-0@email.aston.ac.uk>; Thu, 17 Nov 1994 15:17:52 +0000
From: lamcw <lamcw@sun.aston.ac.uk>
Date: Thu, 17 Nov 1994 15:23:08 +0000
Message-Id: <332.9411171523@sun.aston.ac.uk>
To: bbc-emu@bristol.ac.uk
Subject: RE: Keyboard emulation question
X-Sun-Charset: US-ASCII
Content-Length: 780
X-Status: 
Status: RO


David Alan Gilbert <gilbertd@cs.man.ac.uk> :


;The problem is the mapping of unshifted/shifted keystrokes -
;for example when the user presses the shift key I tell the beeb
;the shift is down by setting the bit in the keyboard matrix
;so it finds it next time it scans.  However on my PC ':' is
;shift with ';' - so the beeb is given the keycode for the ':' and '*'
;key and also a shift - so it types a '*'.


i found this inconvenient at first but i decided to keep it this way,
just takes a bit of getting used to. moving keys around might affect
games in which keys are expected to be certain places.


;P.S. As far as I can tell the keyboard matrix in the AUG is wrong - rows
;1-6 are inverted and the 9 and the I are swapped.

the AUG is far from infallible.

chris lam.


From clr1@st-andrews.ac.uk Wed Nov 16 12:54:38 1994
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <13036-0@andie.st-andrews.ac.uk>; Wed, 16 Nov 1994 12:23:14 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Wed, 16 Nov 1994 12:22:15 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA06587;
          Wed, 16 Nov 94 12:22:13 GMT
Message-Id: <9411161222.AA06587@mail.bris.ac.uk>
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Wed, 16 Nov 1994 12:21:54 +0000
Via: uk.ac.earn-relay; Wed, 16 Nov 1994 12:21:30 +0000
Received: from UKACRL by UK.AC.RL.IB (Mailer R2.10 ptf000) with BSMTP id 6084;
          Wed, 16 Nov 94 08:59:50 GMT
Received: from IRLEARN.UCD.IE by UKACRL.BITNET (Mailer R2.10 ptf000) with BSMTP 
          id 7340; Wed, 16 Nov 94 08:59:16 GMT
Received: from IRLEARN.UCD.IE (NJE origin PETER@IRLEARN) 
          by IRLEARN.UCD.IE (LMail V1.2a/1.8a) with BSMTP id 7684;
          Wed, 16 Nov 1994 08:57:53 +000
Date: Wed, 16 Nov 94 08:44:53 +0000 (GMT)
From: Peter Coghlan <PETER@IRLEARN.UCD.IE>
Subject: Re: Brk handling (Was Re: Undocumented Opcodes,)
To: bbc-emu@BRISTOL.AC.UK
In-Reply-To: Your message of Tue, 15 Nov 1994 14:33:10 +0000 (GMT)
X-Status: 
Status: RO

On Tue, 15 Nov 1994 14:33:10 +0000 (GMT) you said:
 
>Just another question...
>Has anyone out there had any problems with the BRK instruction
>when executing *FX 0 from BASIC?
>I know BRK is used to write out the startup banner, but
>the emulator crashes when it trys to do *FX 0 and I have traced
>the ROM as far as BRK, then further until it JSR &8003 to the
>preferred language ROM
>
 
Before handing control over to the current language, the OS informs all paged
roms via their service entry (8003) when a BRK is encountered. Basic does
not have a service entry so is probably choking at this point. The OS checks
whether a rom has a service entry before calling it and will not attempt to
call Basic in this way. If you have sideways roms implemented, perhaps there
is a bug in the implementation. If not, its hard to guess where the problem is.
 
Bit 7 of the rom status byte (8006 I think) indicates a service entry exists.
Os 1.2 hold copies of each roms status byte in page D and uses the sequence
DEC D??,X, INC D??,X to check bit 7. It might be worth checking that
DEC absolute,X and INC absolute,X are setting the N flag correctly.
 
                            Peter.

From clr1@st-andrews.ac.uk Tue Nov 15 16:20:46 1994
Received: from andie by maths.st-andrews.ac.uk; Tue, 15 Nov 94 15:26:11 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <14243-0@andie.st-andrews.ac.uk>; Tue, 15 Nov 1994 15:25:53 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 15 Nov 1994 15:24:42 +0000
Received: by mail.bris.ac.uk (4.1/SMI-SVR4) id AB12423;
          Tue, 15 Nov 94 15:24:40 GMT
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Tue, 15 Nov 1994 15:24:23 +0000
Via: uk.ac.leeds.gps1; Tue, 15 Nov 1994 15:24:01 +0000
Received: from gps.leeds.ac.uk (gps0) by leeds.ac.uk;
          Tue, 15 Nov 94 14:33:28 GMT
Received: from leeds.ac.uk (gps1) by gps.leeds.ac.uk;
          Tue, 15 Nov 1994 14:33:17 +0000
Received: from scs.leeds.ac.uk (csunb0.leeds.ac.uk) by leeds.ac.uk;
          Tue, 15 Nov 94 14:32:57 GMT
From: csxpgg@scs.leeds.ac.uk
Received: from csgi16 by csirisa.scs.leeds.ac.uk; Tue, 15 Nov 94 14:33:11 GMT
Date: Tue, 15 Nov 94 14:33:10 GMT
Message-Id: <18440.9411151433@csgi16.scs.leeds.ac.uk>
To: bbc-emu <bbc-emu%bristol.ac.uk@gps.leeds.ac.uk>
Subject: Undocumented Opcodes,
Content-Length: 1056
X-Status: 
Status: RO

Hi Beeb geeks :-),

I seem to remember a thread about undocumented opcodes
on the 6502, I wonder if I can get any information
from:
- -6502 data sheets, if anyone has these and they are any
use I would appreciate them
- -any other source

I really need those undocumented ones!

Just another question...
Has anyone out there had any problems with the BRK instruction
when executing *FX 0 from BASIC?
I know BRK is used to write out the startup banner, but
the emulator crashes when it trys to do *FX 0 and I have traced
the ROM as far as BRK, then further until it JSR &8003 to the
preferred language ROM

Thanks in advance for any help,
- -Nigel


+------------------------------------------------------------------------------+
| Nigel Gilbert    (Norb)                                                      |
|   csxpgg@scs.leeds.ac.uk        csc4npgg@lucs-03.novell.leeds.ac.uk          |
|                                                                              |
+------------------------------------------------------------------------------+



From clr1@st-andrews.ac.uk Mon Nov 14 17:32:16 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 14 Nov 94 17:24:41 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <13414-0@andie.st-andrews.ac.uk>; Mon, 14 Nov 1994 17:24:27 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 17:23:21 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA12798;
          Mon, 14 Nov 94 17:23:18 GMT
Message-Id: <9411141723.AA12798@mail.bris.ac.uk>
Received: from TEXTB.PH.UTEXAS.EDU by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 17:22:48 +0000
Received: from [128.83.128.32] by TEXTB.PH.UTEXAS.EDU with SMTP;
          Mon, 14 Nov 1994 11:22:35 -0600 (CST)
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Mon, 14 Nov 1994 11:22:40 -0600
To: bbc-emu@bristol.ac.uk
From: barnett@textb.ph.utexas.edu (David Barnett)
Subject: Re: Catalogue info and emulated file system
X-Status: 
Status: RO

Dave Lodge writes:

>Erm just curious...
>
>What is wrong with doing it like Acorn's Beeb emulator and just do a mapping
>translation from your current filing system on to your current filing system;
>and working out a map of spare attributes to beeb ones...
>
>I'm not certain about what attibutes DOS has; but all it needs are 3 (32bit)
>words and erm thats it...
>
>dave

Dave is right provided the info is available on your machine.

Most systems use relocateable code and so an absolute code address is
irrelevant to them.  Worth exploring case by case.  Best would be if there
is some sort of comment field in the host machine's catalogue.  You need to
be careful that placing info relevant to the emulator's memory map does not
cause probems to the host OS.

The optional header idea is a last resort (where the host gives no option).
It does, however, have one general advantage: one can use it is a
universal interchange format for beeb files.

Ideally, an emulator written for one machine in C should work on another
except for those routines which access the lower levels of the host's
hardware (these, I hope will be isolated as easily replaced host specific
modules).

Just a thought.

David Barnett



From clr1@st-andrews.ac.uk Mon Nov 14 16:56:47 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 14 Nov 94 16:56:35 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <12483-0@andie.st-andrews.ac.uk>; Mon, 14 Nov 1994 16:55:35 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 16:54:36 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA10254;
          Mon, 14 Nov 94 16:54:34 GMT
Received: from andie.st-andrews.ac.uk (actually andie.st-and.ac.uk) 
          by dira.bris.ac.uk with SMTP (PP); Mon, 14 Nov 1994 16:54:25 +0000
Received: from maths.st-and.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <12369-0@andie.st-andrews.ac.uk>; Mon, 14 Nov 1994 16:52:43 +0000
Date: Mon, 14 Nov 1994 16:49:40 +0000 (GMT)
From: Chris Rae <clr1>
Subject: My emulator
To: BBC Emulator People <bbc-emu@bristol.ac.uk>
Message-Id: <Pine.3.87.9411141640.B2892-0100000@maths>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Status: 
Status: RO

Hello all.

Just a quick note to let you know how my emulator's getting along; thanks 
to all the people who asked!

Due to pressures of work and another big project (this one might have 
money in it!) - see sig - I'm afraid I've done very little to it since 
the list went down at the end of my summer holidays. I also suffer from 
not having a BBC with me here, which doesn't help.

I am still stuck at the keyboard handling - I'm afraid I'm getting 
confused simultaneously by PC interrupt handling (never done it in 
straight assembler before - self modifying code gives me the willies) and 
BBC keyboard handling.

With any luck I'll sit down some time and have a long hard look at the 
keyboard handling, but I don't think it'll be for a while; I've got 2 
essays and a project due in in the next couple of weeks.

Keep programming though, folks! I'll be back...

+------------------------------------------------------------+
| AutoBase 7.3 should *soon* be available via anonymous ftp  |
| to ganglion.anes.med.umich.edu, /pub/autobase. For current |
| development info, finger clr1@maths.st-and.ac.uk           |
+------------ Chris Rae; clr1/clr@cs/it0031@cs.st-and.ac.uk -+



From clr1@st-andrews.ac.uk Mon Nov 14 16:11:03 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 14 Nov 94 11:52:12 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <03876-0@andie.st-andrews.ac.uk>; Mon, 14 Nov 1994 11:52:06 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 11:50:29 +0000
Received: by mail.bris.ac.uk (4.1/SMI-SVR4) id AB07917;
          Mon, 14 Nov 94 11:50:24 GMT
Received: from icebox.mfltd.co.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 11:49:55 +0000
Received: from localhost (jfid@localhost) by icebox.mfltd.co.uk (8.6.4/8.6.4) 
          id LAA27768 for bbc-emu@bristol.ac.uk; Mon, 14 Nov 1994 11:53:40 GMT
Message-Id: <199411141153.LAA27768@icebox.mfltd.co.uk>
From: jfid@mfltd.co.uk (James Fidell)
Date: Mon, 14 Nov 1994 11:53:40 +0000
In-Reply-To: David Alan Gilbert's note of Nov 14, 11:42am
To: bbc-emu@bristol.ac.uk
Subject: Re: Keyboard emulation question
X-Status: 
Status: RO

David Alan Gilbert wrote:

> Well I just got full beeb emulation (at hardware level) going on my
> emulator - there is however one rather difficult problem.
> The problem is the mapping of unshifted/shifted keystrokes -
> for example when the user presses the shift key I tell the beeb
> the shift is down by setting the bit in the keyboard matrix
> so it finds it next time it scans.  However on my PC ':' is
> shift with ';' - so the beeb is given the keycode for the ':' and '*'
> key and also a shift - so it types a '*'.
>
> OK - so I could stamp on shifts or add them at times - but wouldn't
> this upset some games which used the shift in combination with
> other keys ?
> 
> What have other people done?

At the moment, I fake the SHIFT-key presses in the appropriate places.
However, what I intend to do long-term is to install a special BBC
keymap in the xbeeb window.

> My only other problem at the moment is that the BRK flag is never cleared
> - so after an error I never service anymore interrupts - does anyone know
> when its supposed to be cleared?

This is correct.  The BRK flag is cleared *ONLY* in the image of the SR
when it is pushed onto the stack after a hardware IRQ.  It is never
cleared in the SR and not cleared in the SR image pushed onto the stack
for a BRK-generated IRQ.

> P.S. As far as I can tell the keyboard matrix in the AUG is wrong - rows
> 1-6 are inverted and the 9 and the I are swapped.

Yes, there are a number of such errors in the AUG.

James.

-- 
 "Yield to temptation --             |     jfid@mfltd.co.uk
  it may not pass your way again"    |  http://www.mfltd.co.uk/~jfid/
                                     |
        - Lazarus Long               |              James Fidell

From clr1@st-andrews.ac.uk Mon Nov 14 11:44:33 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 14 Nov 94 11:44:03 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <03659-0@andie.st-andrews.ac.uk>; Mon, 14 Nov 1994 11:43:54 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 11:42:40 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA07012;
          Mon, 14 Nov 94 11:42:32 GMT
Received: from m1.cs.man.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 11:42:18 +0000
Received: from amu5.cs.man.ac.uk by m1.cs.man.ac.uk (4.1/SMI-4.1:AL5l) 
          id AA22917; Mon, 14 Nov 94 11:42:13 GMT
Date: Mon, 14 Nov 94 11:42:08 GMT
From: David Alan Gilbert <gilbertd@cs.man.ac.uk>
Message-Id: <9411141142.AA16512@amu5.cs.man.ac.uk>
To: bbc-emu@bristol.ac.uk
Subject: Keyboard emulation question
X-Status: 
Status: RO

Hi,
Well I just got full beeb emulation (at hardware level) going on my
emulator - there is however one rather difficult problem.
The problem is the mapping of unshifted/shifted keystrokes -
for example when the user presses the shift key I tell the beeb
the shift is down by setting the bit in the keyboard matrix
so it finds it next time it scans.  However on my PC ':' is
shift with ';' - so the beeb is given the keycode for the ':' and '*'
key and also a shift - so it types a '*'.

OK - so I could stamp on shifts or add them at times - but wouldn't
this upset some games which used the shift in combination with
other keys ?

What have other people done?

My only other problem at the moment is that the BRK flag is never cleared
- so after an error I never service anymore interrupts - does anyone know
when its supposed to be cleared?

Dave

P.S. As far as I can tell the keyboard matrix in the AUG is wrong - rows
1-6 are inverted and the 9 and the I are swapped.


From clr1@st-andrews.ac.uk Mon Nov 14 09:26:29 1994
Received: from andie by maths.st-andrews.ac.uk; Mon, 14 Nov 94 09:23:54 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <29672-0@andie.st-andrews.ac.uk>; Mon, 14 Nov 1994 09:23:37 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 09:22:30 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA22914;
          Mon, 14 Nov 94 09:22:26 GMT
Received: from icebox.mfltd.co.uk by dira.bris.ac.uk with SMTP (PP);
          Mon, 14 Nov 1994 09:22:18 +0000
Received: from localhost (jfid@localhost) by icebox.mfltd.co.uk (8.6.4/8.6.4) 
          id JAA16987 for bbc-emu@Bristol.ac.uk; Mon, 14 Nov 1994 09:26:05 GMT
Message-Id: <199411140926.JAA16987@icebox.mfltd.co.uk>
From: jfid@mfltd.co.uk (James Fidell)
Date: Mon, 14 Nov 1994 09:26:05 +0000
In-Reply-To: Mark Cooke's note of Nov 13, 4:17pm
To: bbc-emu@Bristol.ac.uk
Subject: Re: Web Pages
X-Status: 
Status: RO

Mark Cooke wrote:

> I'm in the process of setting up some web pages with bits & bobs of bbc
> related info on them.  How interested is everyone?  I thought I'd cover
> the history of the Beeb/Acorn, 6502 cpu, 6522's, 6845 etc etc.  I thought
> it would also be a good place for a list of people developing emulators,
> along with progress reports etc.

I think it's a good idea.

> These pages would be run from my own machine (which will hopefully be
> connected to internet in the next couple of weeks) and so would most
> likely not be available 24hours a day (but certainly 2-8am UK time -
> and probably a lot more than this).

I can make them available on www.mfltd.co.uk 24 hours a day, if you're
interested -- I administrate the machine, so it's not a problem :-)

> Is anyone interested in helping produce these pages?

I'm a bit pressed for time at the moment, but I can try to help.

> Also, can everyone developing emulators drop me a note, so I can include
> you all in the 'work in progress' page(s).

I believe someone has a list of all of these.  Chris Lam, perhaps ?

> Any bitmaps of BBC related stuff can (hopefully) be ftp'd to
> blue.bad.bris.ac.uk in /incoming.  However, I don't advise you do this if
> you pay for your line time - blue.bad is at the far end of a 14400 modem.
> (And unfortunately my machine wraith.bad.bris.ac.uk will be too)

Again, I can make ftp.mfltd.co.uk available for this, if it's useful.  We
have a 64K leased line connection via Pipex, which we're looking at upgrading
to 128K, so it'll be a good deal faster than your 14.4K modem.

James.

-- 
 "Yield to temptation --             |     jfid@mfltd.co.uk
  it may not pass your way again"    |  http://www.mfltd.co.uk/~jfid/
                                     |
        - Lazarus Long               |              James Fidell

From clr1@st-andrews.ac.uk Sun Nov 13 17:02:33 1994
Received: from andie by maths.st-andrews.ac.uk; Sun, 13 Nov 94 16:19:23 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <14305-0@andie.st-andrews.ac.uk>; Sun, 13 Nov 1994 16:19:19 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Sun, 13 Nov 1994 16:17:48 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA00310;
          Sun, 13 Nov 94 16:17:46 GMT
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Sun, 13 Nov 1994 16:17:34 +0000
Received: by mail.bris.ac.uk (4.1/SMI-SVR4) id AA00304;
          Sun, 13 Nov 94 16:17:33 GMT
From: Mark Cooke <ee2015@bristol.ac.uk>
Message-Id: <9411131617.AA00304@mail.bris.ac.uk>
Subject: Web Pages
To: bbc-emu@bristol.ac.uk (Beeb Group)
Date: Sun, 13 Nov 1994 16:17:33 +0000 (GMT)
X-Mailer: ELM [version 2.4 PL21]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 1636
X-Status: 
Status: RO

Hi everyone,

I'm in the process of setting up some web pages with bits & bobs of bbc
related info on them.  How interested is everyone?  I thought I'd cover
the history of the Beeb/Acorn, 6502 cpu, 6522's, 6845 etc etc.  I thought
it would also be a good place for a list of people developing emulators,
along with progress reports etc.

These pages would be run from my own machine (which will hopefully be
connected to internet in the next couple of weeks) and so would most
likely not be available 24hours a day (but certainly 2-8am UK time -
and probably a lot more than this).

Is anyone interested in helping produce these pages?

Also, can everyone developing emulators drop me a note, so I can include
you all in the 'work in progress' page(s).

Any bitmaps of BBC related stuff can (hopefully) be ftp'd to
blue.bad.bris.ac.uk in /incoming.  However, I don't advise you do this if
you pay for your line time - blue.bad is at the far end of a 14400 modem.
(And unfortunately my machine wraith.bad.bris.ac.uk will be too)

Mark

/------------------------------------------------------------------------\
| Mark Cooke                 |    Email : ee2015@bristol.ac.uk           |
|----------------------------+-------------------------------------------|
| Badock Hall Net-Rep &      |  Surface : Badock Hall, Stoke Park Road.  |
| Data Safety Officer        |            Stoke Bishop, Bristol. BS9 1JQ |
+------------------------------------------------------------------------+
|      bbc-emu@bristol.ac.uk - Home of the BBC Emulator Mailing list     |
\------------------------------------------------------------------------/

From clr1@st-andrews.ac.uk Fri Nov 11 17:21:26 1994
Received: from andie by maths.st-andrews.ac.uk; Fri, 11 Nov 94 17:20:38 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <07761-0@andie.st-andrews.ac.uk>; Fri, 11 Nov 1994 17:20:19 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Fri, 11 Nov 1994 17:18:25 +0000
Received: by mail.bris.ac.uk (4.1/SMI-SVR4) id AB27259;
          Fri, 11 Nov 94 17:18:22 GMT
Message-Id: <9411111718.AB27259@mail.bris.ac.uk>
Received: from TEXTB.PH.UTEXAS.EDU by dira.bris.ac.uk with SMTP (PP);
          Fri, 11 Nov 1994 17:18:03 +0000
Received: from [128.83.128.81] by TEXTB.PH.UTEXAS.EDU with SMTP;
          Fri, 11 Nov 1994 11:17:52 -0600 (CST)
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Fri, 11 Nov 1994 11:17:57 -0600
To: bbc-emu@bristol.ac.uk
From: barnett@textb.ph.utexas.edu (David Barnett)
Subject: Catalogue info and emulated file system
X-Status: 
Status: RO

Hallo intrepid beebophiles,

Some more thoughts on file structure.

It is desirable that ordinary text files be usable on the beeb regardless
of origin.  Generally, catalogue info (other than length) is irrelevant to
these files.   Following the previously mentioned marker idea I suggest the
following:

Those files which need load/execution address info should have a header
which begins:

*##*BBC Info: Load=hhhhhh Exec=hhhhhh*##*
Where hhhhhh is hexadecimal for the relevant item.

Files without this header would be readily identifiable and catalogue
requests and length requests would uses the information supplied by the
host machine unaltered (Load and exec could be reported as zero).

If the header is present then its info can be read, the header length can
be subtracted from the file length before reporting, and the header can be
added or stripped during SAVE or LOAD respectively.

David Barnett
University of Texas at Austin
barnett@textb.ph.utexas.edu



From clr1@st-andrews.ac.uk Thu Nov  3 16:07:39 1994
Received: from andie by maths.st-andrews.ac.uk; Thu, 3 Nov 94 14:34:01 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <25849-0@andie.st-andrews.ac.uk>; Thu, 3 Nov 1994 14:33:57 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Thu, 3 Nov 1994 14:32:41 +0000
Received: by mail.bris.ac.uk (4.1/SMI-SVR4) id AB20891;
          Thu, 3 Nov 94 14:32:37 GMT
Received: from icebox.mfltd.co.uk by dira.bris.ac.uk with SMTP (PP);
          Thu, 3 Nov 1994 14:32:30 +0000
Received: from localhost (jfid@localhost) by icebox.mfltd.co.uk (8.6.4/8.6.4) 
          id OAA29388 for bbc-emu@BRISTOL.AC.UK; Thu, 3 Nov 1994 14:35:57 GMT
Message-Id: <199411031435.OAA29388@icebox.mfltd.co.uk>
From: jfid@mfltd.co.uk (James Fidell)
Date: Thu, 3 Nov 1994 14:35:56 +0000
In-Reply-To: Peter Coghlan's note of Nov 3, 9:06am
To: BBC Emulator People <bbc-emu@BRISTOL.AC.UK>
Subject: Re: Reading BBC disks
X-Status: 
Status: RO

Peter Coghlan wrote:

> How about one of these solutions to hold the attributes:
>  
> 1. Create a single file per disk (or per directory) which holds the
>    BBC attributes of all files on the disk (or in the directory) which
>    are to be used with the emulator. The attributes would be held in text
>    form, one line per file. This would allow them to be added or modified
>    with any editor if required.

This is my preferred option.  A sort of equivalent of a disk directory.

> 2. A marker plus the attributes are added in text form at the top of
> any file to be used in the emulator system. As above, files which do
> not have attributes (ie the marker is not present) cannot be *RUN
> and cannot be loaded with Osfile unless a load address is specified.
> Attributes are not added to any file which does not have them as this
> would mess up other applications using the files.

I personally don't like this one because it requires modification of the
file as it appears on the Beeb.

> 3. A marker plus the attributes are added in text form to the end of
> any file to be used in the emulator system. Similar problems to scheme
> 2 except that it is easier to add attributes to existing files and
> less likely to end up thrashing the file by accident.

But it means that you have to mess around with file pointers to actually
read the attributes.  I don't really see any useful advantage over option
2 here.

An observation...

Using method one can, as I've already said, be considered a sort of
analogue of the disk catalog mechanism, but it should work fine for
emulating a tape mechanism.

To use the same method for emulating disks would require a slightly
different approach because disk files have more attributes, disk sizes
are fixed and there can be at most 31 files per disk (I'm talking about
the original Acorn DFS here.  I have no experience of the ADFS.  I'm
not even sure it was around when I left school).

How do you differentiate between the two systems ?  Do you bother ?

James.

-- 
 "Yield to temptation --             |     jfid@mfltd.co.uk
  it may not pass your way again"    |  http://www.mfltd.co.uk/~jfid/
                                     |
        - Lazarus Long               |              James Fidell

From clr1@st-andrews.ac.uk Thu Nov  3 12:34:19 1994
Received: from andie by maths.st-andrews.ac.uk; Thu, 3 Nov 94 12:22:50 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <02639-0@andie.st-andrews.ac.uk>; Thu, 3 Nov 1994 12:22:45 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Thu, 3 Nov 1994 12:21:20 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA06759;
          Thu, 3 Nov 94 12:21:17 GMT
Message-Id: <9411031221.AA06759@mail.bris.ac.uk>
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Thu, 3 Nov 1994 12:20:53 +0000
Via: uk.ac.earn-relay; Thu, 3 Nov 1994 12:20:37 +0000
Received: from UKACRL by UK.AC.RL.IB (Mailer R2.10 ptf000) with BSMTP id 8412;
          Thu, 03 Nov 94 12:20:12 GMT
Received: from IRLEARN.UCD.IE by UKACRL.BITNET (Mailer R2.10 ptf000) with BSMTP 
          id 3526; Thu, 03 Nov 94 12:20:09 GMT
Received: from IRLEARN.UCD.IE (NJE origin PETER@IRLEARN) 
          by IRLEARN.UCD.IE (LMail V1.2a/1.8a) with BSMTP id 4373;
          Thu, 3 Nov 1994 12:18:40 +000
Date: Thu, 03 Nov 94 09:06:08 +0000 (GMT)
From: Peter Coghlan <PETER@IRLEARN.UCD.IE>
Subject: Re: Reading BBC disks
To: BBC Emulator People <bbc-emu@BRISTOL.AC.UK>
In-Reply-To: Your message of Wed, 02 Nov 1994 08:34:08 +0000 (GMT)
X-Status: 
Status: RO

On Wed, 02 Nov 1994 08:34:08 +0000 (GMT) Chris said:
 
>> 2. Intercept osword 7F for sector read/write
>
>This is my personal favourite; it allows you to use BBC disks safely and
>also could be adapted to support a "virtual" hard drive.
>
 
(Sorry for the late contribution ...) Intercepting Osword 7F is fine to
support programs which use Osword 7F, but the DFS does not use it to perform
normal disk access for Osfile, Osfind etc. The approach I have taken so far
is to intercept all the filing system vectors and issue calls which the host
operating system understands. Unfortunately, this cannot read real BBC disks,
but I think it allows more flexibility as it can allow you to load PC (or
whatever system) files into the emulator without having to convert them to the
format of BBC disks, provided the problem of BBC file attributes is solved.
 
I might add a filing system which can access real BBC disks in the future.
 
How about one of these solutions to hold the attributes:
 
1. Create a single file per disk (or per directory) which holds the BBC
   attributes of all files on the disk (or in the directory) which are to be
   used with the emulator. The attributes would be held in text form, one line
   per file. This would allow them to be added or modified with any editor if
   required.
 
   When a new file is created by the emulator, attributes are automatically
   added to the attribute file. Similarly, when files are renamed, deleted
   etc the attribute file is updated to reflect the changes.
 
   If a file which does not have an entry in the attribute file is opened
   in the emulator, a default entry is created. Files with default entries
   give an error (Bad Address?) if you try to *RUN them or load them using
   Osfile without specifying a load address.
 
2. A marker plus the attributes are added in text form at the top of any file
   to be used in the emulator system. As above, files which do not have
   attributes (ie the marker is not present) cannot be *RUN and cannot be
   loaded with Osfile unless a load address is specified. Attributes are not
   added to any file which does not have them as this would mess up other
   applications using the files.
 
3. A marker plus the attributes are added in text form to the end of any file
   to be used in the emulator system. Similar problems to scheme 2 except that
   it is easier to add attributes to existing files and less likely to end
   up thrashing the file by accident.
 
All schemes would allow BBC files and non BBC files to be accessed. I prefer
the first scheme as it allows files to be created / updated by the emulator
and then used without any problems outside the emulator. You could even
create files in the format of your favourite word processor or any application
from within the emulator.
 
Any thoughts ?
 
                                Peter.

From clr1@st-andrews.ac.uk Wed Nov  2 11:04:42 1994
Received: from andie by maths.st-andrews.ac.uk; Wed, 2 Nov 94 11:00:51 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <20523-0@andie.st-andrews.ac.uk>; Wed, 2 Nov 1994 11:00:38 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Wed, 2 Nov 1994 10:59:30 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA29949;
          Wed, 2 Nov 94 10:59:27 GMT
Received: from mail-relay.ja.net by dira.bris.ac.uk with SMTP (PP);
          Wed, 2 Nov 1994 10:59:04 +0000
Via: uk.ac.aston; Wed, 2 Nov 1994 10:58:47 +0000
Received: from sat2 by email.aston.ac.uk with SMTP (PP) 
          id <18182-0@email.aston.ac.uk>; Wed, 2 Nov 1994 10:55:53 +0000
From: lamcw <lamcw@sun.aston.ac.uk>
Date: Wed, 2 Nov 1994 11:00:46 +0000
Message-Id: <12047.9411021100@sun.aston.ac.uk>
To: bbc-emu@bristol.ac.uk
Subject: Re: Reading BBC disks
X-Sun-Charset: US-ASCII
Content-Length: 727
X-Status: 
Status: RO


david barnett wrote:

;Its sole merit is that some games would
;work which accessed the controller directly (usually for copy security)
;would work.  Related to this is the issue of emulating illegal opcode
;effects on the 6502 itself.  

i think the issue of 6502 invalid opcodes is probably more important a
problem than the emulation of the 8271. i've come across some games which
use say, a dozen, invalid opcodes to 'decode' itself before running. the
snag here is that you're never really 100% sure you implemented one invalid
opcode properly before proceeding to the next. i wouldn't be surprised if many
of the later games (late '80s) use most of them in an attempt to scare off
hackers.


chris lam,
aston univ,
u.k.

From clr1@st-andrews.ac.uk Wed Nov  2 10:59:57 1994
Received: from andie by maths.st-andrews.ac.uk; Wed, 2 Nov 94 08:51:12 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <17403-0@andie.st-andrews.ac.uk>; Wed, 2 Nov 1994 08:50:51 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Wed, 2 Nov 1994 08:49:26 +0000
Received: from by mail.bris.ac.uk (4.1/SMI-SVR4) id AB19260;
          Wed, 2 Nov 94 08:49:24 GMT
Received: from andie.st-andrews.ac.uk (actually andie.st-and.ac.uk) 
          by dira.bris.ac.uk with SMTP (PP); Wed, 2 Nov 1994 08:37:45 +0000
Received: from maths.st-and.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <17237-0@andie.st-andrews.ac.uk>; Wed, 2 Nov 1994 08:37:41 +0000
Date: Wed, 2 Nov 1994 08:34:08 +0000 (GMT)
From: Chris Rae <clr1>
Subject: Re: Reading BBC disks
To: BBC Emulator People <bbc-emu@bristol.ac.uk>
In-Reply-To: <9411012137.AA12276@mail.bris.ac.uk>
Message-Id: <Pine.3.87.9411020807.C1089-0100000@maths>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Status: 
Status: RO

On Tue, 1 Nov 1994, Mark Cooke wrote:
> I'd also like to start a discussion on everyone's ideas for doing disk
> I/O.  Various ways have been bandied about.
> 
> 1. Intercepting the FDC read/write and emulating the FDC and physical disk.

Well, for what it's worth I would certainly not like to try this on my 
machine. The BBC did not have my 420Mb of precious data attacked to it 
and I'd rather it didn't try to format my hard disk as a 600Kb floppy...

> 2. Intercept osword 7F for sector read/write

This is my personal favourite; it allows you to use BBC disks safely and 
also could be adapted to support a "virtual" hard drive.

> 3. Blow it all, and write an FS rom that breaks out to the emulator.

Certainly a thought. Might be tricky though, and if (2) can be 
implemented then there might not be much point.

> I'm sure there are countless other variations - thoughts & ideas please.

I'm afraid you've covered all mine!

+-------------------+-------------------------------------+
| /-- |_| /-- | (~  | "I'm in two minds, and both of them |
| \-- | | |   | _)  | are out of it at the bar"           |
+-------------------+--- Marillion - Clutching at Straws -+



From clr1@st-andrews.ac.uk Wed Nov  2 20:30:08 1994
Received: from andie by maths.st-andrews.ac.uk; Wed, 2 Nov 94 00:00:50 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <05851-0@andie.st-andrews.ac.uk>; Wed, 2 Nov 1994 00:00:45 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 23:59:05 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA14749;
          Tue, 1 Nov 94 23:59:03 GMT
Message-Id: <9411012359.AA14749@mail.bris.ac.uk>
Received: from TEXTB.PH.UTEXAS.EDU by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 23:59:01 +0000
Received: from [128.83.128.54] by TEXTB.PH.UTEXAS.EDU with SMTP;
          Tue, 1 Nov 1994 17:58:54 -0600 (CST)
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Tue, 1 Nov 1994 17:58:55 -0600
To: bbc-emu@bristol.ac.uk
From: barnett@textb.ph.utexas.edu (David Barnett)
Subject: Re: Reading BBC disks
X-Status: 
Status: RO

Mark Cooke Writes:
>
>I'd also like to start a discussion on everyone's ideas for doing disk
>I/O.  Various ways have been bandied about.
>
I shall comment on the approaches Mark lists:
>
>1. Intercepting the FDC read/write and emulating the FDC and physical disk.
>
This is the most difficult an least elegant solution.  There may be some
severe timing problems because of the need to emulate the NMI line on the
6502 and take a byte at a time.  Its sole merit is that some games would
work which accessed the controller directly (usually for copy security)
would work.  Related to this is the issue of emulating illegal opcode
effects on the 6502 itself.   Any programs which did this broke when run on
later models and even later versions of the same machine.  Originally there
was the 8271, then 1770 then 1772 and 8272 what are you going to emulate?
Same applies to the illegal opcodes on the 6502.  Not only did later models
use 65C12 where these do other things but not every manufacturer of the
6502 did it the same way.  (Incidentally I suggest you emulate a Master
with its 65C12 for maximum utility).
>
>2. Intercept osword 7F for sector read/write
>
This is almost as bad as 1 above but not quite as difficult since this can
go off to the emulator.  Osword 7F was not in the MOS but passed to the
sideways ROMS to identify and handle.  If you really want this one it could
be part of the ROM written for 3 below.  It has the same hardware specific
objections as 1.  The only times I personally used 7F to access the 8271
was when I wanted to make disks dual readable on 40 and 80 track drives
(see my Acorn User article Feb.1984) or to read/write 40 track discs on 80
track drives.  If your hope is that this is enough to get the DFS to work
beware that the DFS may sometimes call itself internally and bypass the
OSWORD call.
>
>3. Blow it all, and write an FS rom that breaks out to the emulator.
>
This is the simplest and most elegant solution.  As far as most programs
are concerned All exterior storage is in the form of files which are really
just chunks of bytes.  How to do it?

1. Every emulator should have a way for a BBC program to call it.  I
suggest that if the PC points to SHEILA at the time of an instruction fetch
the instead of reading the BBC memory map a direct emulator call be
executed.  X,Y and A can hold data used by the BBC/emulator interface.  The
address called can indicate the required routine (note the can be spaced
just 1 address apart).

2. Write a sideways FS ROM whose sole purpose is to respond to the relevant
MOS poling calls (*HELP, unidentified command, change of FS etc. - see
advanced user guide and Master series reference manuals), and when becoming
the current filing system to set the FS vectors (FINDV, OSFC etc.) to point
to the relevant SHEILA addresses.  The emulator (written in C most likely)
will simply repackage these calls and then call the hosts file functions.

3.  The FS ROM should also respond to the commands *CAT and *DIR. and any
other manipulation you might want to do at the BBC keyboard.  I Think
*SAVE, *LOAD and *DEL. are handled by the MOS using OSFILE.  *SPOOL and
*EXEC look to the FS like any other fileopen requests.

4.  Messages/catalogues from the FS should cause streams of bytes to go to
OSWRCH in case a program is looking out for these but the catalogue output
should be whatever is natural to the host machine.

5.  Optionally the FS ROM could recognize OSWORD 7F etc. but I shouldn't
bother.


Happy coding.

David Barnett



From clr1@st-andrews.ac.uk Wed Nov  2 08:37:41 1994
Received: from andie by maths.st-andrews.ac.uk; Tue, 1 Nov 94 21:39:19 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <03407-0@andie.st-andrews.ac.uk>; Tue, 1 Nov 1994 21:39:08 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 21:37:40 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA12305;
          Tue, 1 Nov 94 21:37:38 GMT
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 21:37:27 +0000
Received: by mail.bris.ac.uk (4.1/SMI-SVR4) id AA12276;
          Tue, 1 Nov 94 21:37:26 GMT
From: Mark Cooke <ee2015@bristol.ac.uk>
Message-Id: <9411012137.AA12276@mail.bris.ac.uk>
Subject: Reading BBC disks
To: bbc-emu@bristol.ac.uk (Beeb Group)
Date: Tue, 1 Nov 1994 21:37:26 +0000 (GMT)
X-Mailer: ELM [version 2.4 PL21]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 1348
X-Status: 
Status: RO

To All, MikeB esp.,

Does anyone out there have software (preferably source) for reading beeb
disks on the PC.  Mike sent me some, but unfortunately it does not work -
the drive times out!  Ideas anyone?

So, I'm stuck with some old beeb software on 5.25" disks and no way to
transfer them to the PC.  Anyone out there have an old bbc they don't need
:-) ? 

I'd also like to start a discussion on everyone's ideas for doing disk
I/O.  Various ways have been bandied about.

1. Intercepting the FDC read/write and emulating the FDC and physical disk.

2. Intercept osword 7F for sector read/write

3. Blow it all, and write an FS rom that breaks out to the emulator.

I'm sure there are countless other variations - thoughts & ideas please.

Mark

/------------------------------------------------------------------------\
| Mark Cooke                 |    Email : ee2015@bristol.ac.uk           |
|----------------------------+-------------------------------------------|
| Badock Hall Net-Rep &      |  Surface : Badock Hall, Stoke Park Road.  |
| Data Safety Officer        |            Stoke Bishop, Bristol. BS9 1JQ |
+------------------------------------------------------------------------+
|      bbc-emu@bristol.ac.uk - Home of the BBC Emulator Mailing list     |
\------------------------------------------------------------------------/

From clr1@st-andrews.ac.uk Wed Nov  2 08:21:51 1994
Received: from andie by maths.st-andrews.ac.uk; Tue, 1 Nov 94 18:29:27 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <29863-0@andie.st-andrews.ac.uk>; Tue, 1 Nov 1994 18:29:20 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 18:27:36 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA07193;
          Tue, 1 Nov 94 18:27:32 GMT
Message-Id: <9411011827.AA07193@mail.bris.ac.uk>
Received: from TEXTB.PH.UTEXAS.EDU by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 18:27:06 +0000
Received: from [128.83.204.22] by TEXTB.PH.UTEXAS.EDU with SMTP;
          Tue, 1 Nov 1994 12:26:30 -0600 (CST)
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Tue, 1 Nov 1994 12:26:32 -0600
To: bbc-emu@bristol.ac.uk
From: barnett@textb.ph.utexas.edu (David Barnett)
Subject: Re: Another emulator
X-Status: 
Status: RO

Hi all,

David Alan Gilbert writes:
 >
>Warning for people still hacking at the instruction set:
>My last instruction level problem (that I fixed last night) was an
>error in my implementation of BRK, JSR, and RTS.
>BRK should push the address of PC two instructions after the BRK.
>JSR should push the address of the last byte of the JSR instruction
>and RTS should add one to the recovered PC value.
>
Notice that this is in each case really PC+2 at the time the instruction
was fetched.  In other words, they share an instruction mechanism.

Note that RTI does not have to increment the return address the way RTS does.

David Barnett



From clr1@st-andrews.ac.uk Wed Nov  2 07:42:14 1994
Received: from andie by maths.st-andrews.ac.uk; Tue, 1 Nov 94 12:49:12 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <17307-0@andie.st-andrews.ac.uk>; Tue, 1 Nov 1994 12:48:59 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 12:47:28 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA07109;
          Tue, 1 Nov 94 12:47:25 GMT
Received: from m1.cs.man.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 12:46:43 +0000
Received: from rba.cs.man.ac.uk by m1.cs.man.ac.uk (4.1/SMI-4.1:AL5l) 
          id AA15040; Tue, 1 Nov 94 12:46:40 GMT
Date: Tue, 1 Nov 94 12:46:35 GMT
From: David Alan Gilbert <gilbertd@cs.man.ac.uk>
Message-Id: <9411011246.AA15907@rba.cs.man.ac.uk>
To: bbc-emu@bristol.ac.uk
Subject: Another emulator
X-Status: 
Status: RO

Hi,
Well I got bored 3 sunday's ago and decided to
get down to writing a beeb emulator.  As of last
night it happily runs OS 1.2, Basic, Wordwise and
Exmon.  There are quite a lot of hacks in there to
get it going and almost no hardware support.

Read character is intercepted and read with a C getchar,
I have a simple mode 0 emulator which intercepts screen memory
writes and uses plot commands to draw them on my Archimedes screen,
and also a simple mode 7 emulator which uses the Archimedes Mode 7 to
do the work.
There is a very simple model of the keyboard - which can't yet cause interrupts
(in actual fact there is nothing to cause interrupts yet - the
system VIA isn't finished).

I've fully emulated the whole 6502 instruction set - including BCD (although
that is not properly tested).
I'm quite suprised at how little hardware the OS needs to run.

Warning for people still hacking at the instruction set:
My last instruction level problem (that I fixed last night) was an 
error in my implementation of BRK, JSR, and RTS.
BRK should push the address of PC two instructions after the BRK.
JSR should push the address of the last byte of the JSR instruction
and RTS should add one to the recovered PC value.

This is not made clear in the Advanced User Guide, but is stated
in Birnbaum.

I'm hoping to get this thing running under X on Linux once my
PC arrives!


Dave (gilbertd@cs.man.ac.uk)

From clr1@st-andrews.ac.uk Tue Nov  1 12:34:04 1994
Received: from andie by maths.st-andrews.ac.uk; Tue, 1 Nov 94 12:33:10 GMT
Received: from dira.bris.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <16857-0@andie.st-andrews.ac.uk>; Tue, 1 Nov 1994 12:33:07 +0000
Received: from mail.bris.ac.uk by dira.bris.ac.uk with SMTP (PP);
          Tue, 1 Nov 1994 12:32:15 +0000
Received: from dira.bris.ac.uk by mail.bris.ac.uk (4.1/SMI-SVR4) id AA06088;
          Tue, 1 Nov 94 12:32:10 GMT
Received: from andie.st-andrews.ac.uk (actually andie.st-and.ac.uk) 
          by dira.bris.ac.uk with SMTP (PP); Tue, 1 Nov 1994 12:31:51 +0000
Received: from maths.st-and.ac.uk by andie.st-andrews.ac.uk with SMTP (PP) 
          id <16829-0@andie.st-andrews.ac.uk>; Tue, 1 Nov 1994 12:31:41 +0000
Date: Tue, 1 Nov 1994 12:29:43 +0000 (GMT)
From: Chris Rae <clr1>
Subject: Hello all!
To: bbc-emu@bristol.ac.uk
In-Reply-To: <9410311651.AA26928@mail.bris.ac.uk>
Message-Id: <Pine.3.87.9411011243.A20987-0100000@maths>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Status: 
Status: RO

> Hello All.

Hello Mark!  ;-)

> This is just to let you all know that the bbc list is up and running at
> bbc-emu@bristol.ac.uk  If you have any problems mail me at
> bbc-emu-request@bristol.ac.uk or personally at ee2015@bristol.ac.uk

Gotcha.

> This list is the new home for Chris' list.

Because the old home didn't have a clue what they were doing. :-(

On a more serious note, thanks for taking over the list. Also, I just 
want to let everyone know that I haven't given up with the whole BBC 
thing, I'm still quite happy to keep a list archive and I will still 
maintain the list of emulators currently under progress.

Good luck all!

+-------------------+-------------------------------------+
| /-- |_| /-- | (~  | "I'm in two minds, and both of them |
| \-- | | |   | _)  | are out of it at the bar"           |
+-------------------+--- Marillion - Clutching at Straws -+



