#! 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...
Amiga7878