070396B.TXT

(48 KB) Pobierz
#! rnews 2211
Path: pravda.aa.msen.com!news1.best.com!nntp.primenet.com!news.mathworks.=
com!fu-berlin.de!zib-berlin.de!news.tu-chemnitz.de!fachat
From: fachat@physik.tu-chemnitz.de (Andre Fachat)
Newsgroups: comp.sys.cbm,comp.emulators.cbm,comp.sys.apple2,comp.sys.atar=
i.8bit,alt.comp.hardware.homebuilt
Subject: Re: Multithreading OS for the C64
Followup-To: comp.sys.cbm,comp.emulators.cbm,comp.sys.apple2,comp.sys.ata=
ri.8bit,alt.comp.hardware.homebuilt
Date: 3 Jul 1996 16:16:35 GMT
Organization: University of Technology Chemnitz, FRG
Lines: 27
Message-ID: <4re6d3$8oe@narses.hrz.tu-chemnitz.de>
References: <4q3u1i$rd7@sun0.urz.uni-heidelberg.de> <Dtvnp8.9p3@inter.NL.=
net> <Dtxpuo.JD9@undergrad.math.uwaterloo.ca> <4rcqt2$p2u@seagoon.newcast=
le.edu.au>
NNTP-Posting-Host: mclane.physik.tu-chemnitz.de
X-Newsreader: TIN [version 1.2 PL2]
Xref: pravda.aa.msen.com comp.sys.cbm:57343 comp.emulators.cbm:12260 comp=
.sys.apple2:105099 comp.sys.atari.8bit:38419 alt.comp.hardware.homebuilt:=
23278

Bruce R. McFarling (ecbm@cc.newcastle.edu.au) wrote:
: Notice that normally the 6502 address space is full
: with additional memory (if available) banked in by an external
: memory management arrangement.  So if the 6502 *had* 'boundary
: errors' it would be pointless -- I believe the Andre's original
: 6502 box had memory banking on 4K boundaries (is that right?)
Yes you are right. The upper 4 address bits were taken as index
into 16 registers each 8 bit wide. So I had 16 chunks of memory,
each 4kByte in size.
These could then be mapped to any of 256 chunks within the=20
extended up to 1MByte memory.

: which give 16 different relocatable chunks of memory in the
: memory space.  So the assumption that
: (logical address space) > (physical address space)
: is often strictly false for a 6502 machine. (That includes
: the original 6502, with 64K RAM, 16K ROM, and 0K < IO < 4K
You mean C64, don't you?

Andre


--
Andre Fachat, Tel:++49-371-531-3551|"I do not feel obliged to believe tha=
t the
Stadlerstr 17, 09126 Chemnitz, FRG | same God who has endowed us with sen=
se,
a.fachat@physik.tu-chemnitz.de     | reason, and intellect has intended u=
s to
http://www.tu-chemnitz.de/~fachat  | forego their use" -- Galileo Galilei
#! rnews 2266
Path: pravda.aa.msen.com!news1.best.com!nntp.primenet.com!news.mathworks.=
com!fu-berlin.de!zib-berlin.de!news.tu-chemnitz.de!fachat
From: fachat@physik.tu-chemnitz.de (Andre Fachat)
Newsgroups: comp.sys.cbm,comp.emulators.cbm,comp.sys.apple2,comp.sys.atar=
i.8bit,alt.comp.hardware.homebuilt
Subject: Re: Multithreading OS for the C64
Date: 3 Jul 1996 16:18:08 GMT
Organization: University of Technology Chemnitz, FRG
Lines: 28
Message-ID: <4re6g0$8oe@narses.hrz.tu-chemnitz.de>
References: <4q3u1i$rd7@sun0.urz.uni-heidelberg.de> <Dtvnp8.9p3@inter.NL.=
net> <4rd0bt$4uq@umbc10.umbc.edu> <4rd6m0$dp3@tuegate.tue.nl>
NNTP-Posting-Host: mclane.physik.tu-chemnitz.de
X-Newsreader: TIN [version 1.2 PL2]
Xref: pravda.aa.msen.com comp.sys.cbm:57344 comp.emulators.cbm:12261 comp=
.sys.apple2:105100 comp.sys.atari.8bit:38420 alt.comp.hardware.homebuilt:=
23279

Martijn van Buul (martijnb@stack.urc.tue.nl) wrote:
: | I'm guessing he uses the timer interrupt. Am I close?
: Well, I guess he is ;) I'm currently making a task-swapper myself (just
: for the fun of it. I've got no intentions or whatever blahblah), and I'=
m
: using the NMI for it... Those CIA's might come in hand, every now and t=
hen..

Well, I'm using the timer interrupt. But then I use the IRQ timer.
A disadvantage is, that 'nasty' programs can take full control over
the machine. An advantage is that the system itself cannot be=20
interrupted when doing critical routines. Well, that could have been
taken care of with a flag (to immediately return from NMI) but
I thought it was easier this way.

And as I wanted to run close-to-hardware processes on the machine, I
wanted a process to be able to protect itself from task switching.
(for timing critical hardware handling)
Which is obviously easier when just doing a SEI instead of=20
calling some StopMultiTasking or RestartMultiTasking (as the Amiga does)
to access some kernel internal flag - which is not available in the=20
process memory.
=20
Andre

--
Andre Fachat, Tel:++49-371-531-3551|"I do not feel obliged to believe tha=
t the
Stadlerstr 17, 09126 Chemnitz, FRG | same God who has endowed us with sen=
se,
a.fachat@physik.tu-chemnitz.de     | reason, and intellect has intended u=
s to
http://www.tu-chemnitz.de/~fachat  | forego their use" -- Galileo Galilei
#! rnews 889
Path: pravda.aa.msen.com!news1.best.com!sgigate.sgi.com!newsfeeder.sdsu.e=
du!newspump.sol.net!news.mindspring.com!usenet
From: Radioactive Warrior <radwar@orl.mindspring.com>
Newsgroups: comp.sys.cbm
Subject: Re: CIA serial port discrepancy, $DD0C
Date: Wed, 03 Jul 1996 12:46:12 +0000
Organization: noorgan
Lines: 6
Message-ID: <31DA6B94.2DF0@orl.mindspring.com>
References: <31D9DFC5.6CE7@orl.mindspring.com> <4rdsl1$man@news.acns.nwu.=
edu>
Reply-To: noname
NNTP-Posting-Host: user-168-121-176-117.dialup.mindspring.com
Mime-Version: 1.0
Content-Type: text/plain; charset=3Dus-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.02 (Macintosh; U; PPC)

Stephen Judd wrote:
> Why don't you swap the CIAs and see what the new behavior is?

Well, 80 pins are a pain to de-solder if I don't havta :)  Any other
software fixes that might set this register to zero???
> >Radioactive Warrior
#! rnews 2586
Path: pravda.aa.msen.com!news1.best.com!nntp.primenet.com!news.mathworks.=
com!fu-berlin.de!zib-berlin.de!news.tu-chemnitz.de!fachat
From: fachat@physik.tu-chemnitz.de (Andre Fachat)
Newsgroups: comp.sys.cbm,comp.emulators.cbm,comp.sys.apple2,comp.sys.atar=
i.8bit,alt.comp.hardware.homebuilt
Subject: Re: Multithreading OS for the C64
Followup-To: comp.sys.cbm,comp.emulators.cbm,comp.sys.apple2,comp.sys.ata=
ri.8bit,alt.comp.hardware.homebuilt
Date: 3 Jul 1996 16:30:36 GMT
Organization: University of Technology Chemnitz, FRG
Lines: 31
Message-ID: <4re77c$8oe@narses.hrz.tu-chemnitz.de>
References: <4q3u1i$rd7@sun0.urz.uni-heidelberg.de> <Dtvnp8.9p3@inter.NL.=
net> <Dtxpuo.JD9@undergrad.math.uwaterloo.ca> <4rcqt2$p2u@seagoon.newcast=
le.edu.au>
NNTP-Posting-Host: mclane.physik.tu-chemnitz.de
X-Newsreader: TIN [version 1.2 PL2]
Xref: pravda.aa.msen.com comp.sys.cbm:57346 comp.emulators.cbm:12262 comp=
.sys.apple2:105103 comp.sys.atari.8bit:38423 alt.comp.hardware.homebuilt:=
23280

: >> how did you make it pre-emptive when the 6502 processor
: >> itself has no way to check for boundaries or anything
: >> (so called trap errors coming from the processor itself
: >> (in pc systems btw)). In what way can the operating system

In my original design, the memory pages from other processes just couldn'=
t
be accessed, as they were not mapped in. (As I explained in another
post). A process with 8kByte RAM just had access to 8 kByte RAM
and the rest of the address space would be mapped into some read-only
regions (well, I used the kernel image...)
So that the process can just change it's own RAM.

That's even a way to implement paging, i.e. put a process out on disk=20
if memory is short. Only one thing, as you mentioned, has to be taken
care of: The 6502 cannot detect memory faults, so that _all_ memory pages
belonging to the process must be mapped and accessible when it is run.
(Even if there were some hardware mechanism to detect the fault,
there is no way to restore the original register values as before the
trapped memory access - which is essential to correctly re-execute
the offending opcode after the page has been loaded.
The capability to restore the register values was one of the few
improvements of the Motorola 68010 CPU above the 68000.)

so long
Andre

--
Andre Fachat, Tel:++49-371-531-3551|"I do not feel obliged to believe tha=
t the
Stadlerstr 17, 09126 Chemnitz, FRG | same God who has endowed us with sen=
se,
a.fachat@physik.tu-chemnitz.de     | reason, and intellect has intended u=
s to
http://www.tu-chemnitz.de/~fachat  | forego their use" -- Galileo Galilei
#! rnews 1306
Path: pravda.aa.msen.com!spool.mu.edu!sgigate.sgi.com!uhog.mit.edu!news.m=
athworks.com!newsfeed.internetmci.com!usenet.logical.net!news.wizvax.net!=
news
From: tonyp@wizvax.wizvax.net (Tony Postmayer)
Newsgroups: comp.sys.cbm,comp.emulators.cbm,sfnet.atk.cbm
Subject: Re: ANNOUNCE: C64 Prog Ref Guide etext available
Date: Wed, 03 Jul 1996 17:37:12 GMT
Organization: Wizvax Communications, Troy, N.Y. 12180 USA
Lines: 21
Message-ID: <31daaf1a.857763@199.181.141.3>
References: <4r39hi$dd2@dub-news-svc-4.compuserve.com>
NNTP-Posting-Host: tonyp.wizvax.net
X-Newsreader: Forte Agent .99e/16.227
Xref: pravda.aa.msen.com comp.sys.cbm:57347 comp.emulators.cbm:12263 sfne=
t.atk.cbm:155

On Sat, 29 Jun 1996 13:12:00 GMT, 74171.2136@compuserve.com (Cris
Berneburg) wrote:

>
>OK, it's finally done! The Commodore 64 Programmer's
>Reference Guide is now available to you as a Project 64
>electronic text. Here's an excerpt from the document that
>Ville Muikkula <vmuikku@yrttis.ratol.fi>, the individual
>who undertook this effort, included in the etext header:
>
Excellent job.  I just visited your homepage a snagged a bunch of
texts.  I thinks it's a great way of preserving these old sources of
information.

Keep up the good work!

(and don't let any pissy-faced wet blankets dampen your enthusiam)

  Tony -


#! rnews 1150
P...
Zgłoś jeśli naruszono regulamin