Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #1164

Re: Multitasking Mouse Draw Demo

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!us.feeder.erje.net!xmission!news.bbs-scene.org!macgui.com!dog_cow
From D Finnigan <dog_cow@macgui.com>
Newsgroups comp.sys.apple2.programmer
Subject Re: Multitasking Mouse Draw Demo
Date Sat, 22 Feb 2014 17:36:29 +0000 (UTC)
Organization Mac GUI
Lines 47
Message-ID <dog_cow-1393090588@macgui.com> (permalink)
References <dog_cow-1393012033@macgui.com> <leakb3$197$1@news.xmission.com>
NNTP-Posting-Host gunshin.wiredns.net
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding 8bit
X-Trace technocratmedia-w1.news.bbs-scene.org 1393090589 17983 74.119.145.48 (22 Feb 2014 17:36:29 GMT)
X-Complaints-To abuse@bbs-scene.org
NNTP-Posting-Date Sat, 22 Feb 2014 17:36:29 +0000 (UTC)
User-Agent Mac GUI Usenet
In-Reply-To <leakb3$197$1@news.xmission.com>
Xref csiph.com comp.sys.apple2.programmer:1164

Show key headers only | View raw


Egan Ford wrote:
> On 2/21/14, 12:47 PM, D Finnigan wrote:
>> I wrote a multitasking demonstration this week and today it is finished
>> enough to show to people. This is a multi-part post. The documentation
>> and
>> source code will appear in separate followups to this article.
>>
>> You can email me for a disk image with Merlin source and the binary.
>>
>> In brief, the system swaps three processes, or threads as we might call
>> them, between the 6502. The main process will allow the user to make some
>> doodles on the low-res graphics screen using the mouse. Two background
>> processes run autonomously plotting red and blue blocks, respectively, to
>> the screen.
>>
>> The VBL interrupt on the AppleMouse card provides the IRQ source.
>>
> 
> Thanks for posting this.
>

You're welcome. I started working on the improvements yesterday. I am going
to add a process priority table. Then I am going to turn NEWPROC into a more
general system call like YIELD, so a process can call it to spawn a new
process. I am also going to increase the total number of processes which can
be created in the system.

Lastly, I'm going to add a SLEEP system call, which will put a process to
sleep for a period of time. I think this will work by setting the high-bit
in the priority table, then the low 7 bits become a timer.

I have assessed all of these improvements to be "easy" so I will likely have
this new version posted next week.


Then the next thing I want to mix in is hardware support for the TimeMaster
II H.O. in 1-second interrupt mode, and then the Super Serial Card, also
with interrupts, so we can really max out the system and see what it can do.

I'm holding off with disk access for now. I don't want to go there yet. :-)

-- 
]DF$
Apple II Book: http://macgui.com/newa2guide/
Usenet: http://macgui.com/usenet/  <-- get posts by email!
Apple II Web & Blog hosting: http://a2hq.com/

Back to comp.sys.apple2.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Multitasking Mouse Draw Demo D Finnigan <dog_cow@macgui.com> - 2014-02-21 19:47 +0000
  Documentation for Multitasking Mouse Draw Demo D Finnigan <dog_cow@macgui.com> - 2014-02-21 19:48 +0000
  Source Code for Multitasking Mouse Draw Demo D Finnigan <dog_cow@macgui.com> - 2014-02-21 19:51 +0000
  Source Code for Multitasking Mouse Draw Demo 2 D Finnigan <dog_cow@macgui.com> - 2014-02-21 19:55 +0000
  Re: Multitasking Mouse Draw Demo D Finnigan <dog_cow@macgui.com> - 2014-02-21 19:56 +0000
  Re: Multitasking Mouse Draw Demo Egan Ford <datajerk@gmail.com> - 2014-02-22 09:47 -0700
    Re: Multitasking Mouse Draw Demo D Finnigan <dog_cow@macgui.com> - 2014-02-22 17:36 +0000

csiph-web