[Coco] Feralcore: An Internet Protocol Based on the 6809
Sean
badfrog at gmail.com
Fri Jun 25 13:44:41 EDT 2010
In the Windows world, I have the best luck with VLC media player
(www.videolan.org). It's compact, and free! I've had it as my
default player for a couple of years now.
On Fri, Jun 25, 2010 at 11:38 AM, Wayne Campbell <asa.rand at gmail.com> wrote:
> Adam,
>
> I downloaded the MPEG-4 version of the video. Quicktime Player opened it,
> but only in audio mode (no video screen). WMP could not play the video. Real
> Player stated it needs a MPEG-2 decoder installed to play the video.
>
> I downloaded the Microsoft ASF version. WMP plays it without a problem.
>
> I downloaded the Feralcore.zip file. Upon trying to extract the archive, I
> am asked for a password. I have no password to provide, and WinZip won't
> extract the files, or even show me what's in the archive.
>
> Is there something I need to know?
>
> I am running Windows XP Professional (all service packs and updates
> installed) on a HP/Compaq nx9020 notebook (Intel Celeron M 1.5 GHz), 2 GB
> RAM, 80 GB HD (28% free).
>
> Wayne
>
> ----- Original Message ----- From: "Adam Young" <ay235 at yahoo.com>
> To: <coco at maltedmedia.com>
> Sent: Thursday, June 24, 2010 6:19 PM
> Subject: [Coco] Feralcore: An Internet Protocol Based on the 6809
>
>
>> All,
>>
>> Based on the responses of Brett, Aaron, Sean, and
>> Andrew regarding Darwin, Corewar, and Network Tierra,
>> it seems like there might be some interest in
>> Feralcore (thanks for your feedback guys). Moti and I
>> (along with other contributors) are actively researching
>> Feralcore and welcome experimentation and feedback. It
>> is written in C++ and is POSIX compatible for the most
>> part. Below is a blurb on what it is.
>>
>> A Feralcore network is a network consisting of n nodes.
>> Each node in the network has a unique personal identity
>> (R. Pandya. Emerging mobile and personal communication systems.
>> IEEE Communications Magazine, vol. 33, pages 44-52,
>> June 1995). Every node can send a message to every other
>> node. So, the network forms the complete graph on n vertices.
>>
>> Feralcore was inspired in part by the computer game Darwin
>> (Aleph-Null. Computer Recreations. Software: Practice and
>> Experience, vol. 2, pages 93-96, 1972). Core war was also
>> inspired by Darwin. Each player submits a set of programs,
>> called a species, to the game. An umpire program
>> oversees the execution of the programs in memory. Programs
>> can clobber one another since they run in the same address
>> space. The last species standing wins. We adopt the term
>> feralcore kernel to describe the program that
>> oversees program execution.
>>
>> In feralcore each node has 256 memory cores.
>> Each memory core consists of 65536 bytes. The kernel can
>> run up to 256 processes at once spread out across the 256
>> cores. Each process has a set of private registers that
>> includes the program counter. Each process also has an
>> associated integer corresponding to which core the process
>> is in. The program counter points to the next instruction
>> to be executed in this core. The privacy of the registers
>> is not ensured, since one process can indirectly read
>> or write the registers of another.
>>
>> At any given time, m processes are running in a node.
>> The kernel implements a time sharing strategy to
>> execute them. They are not executed in parallel (at least
>> when viewed at the C++ source code level). For the purposes
>> of illustration, suppose the processes are labeled from
>> 1 to m. Let c be an m-sided coin having sides labeled from
>> 1 to m. The kernel flips c to get a result r. The kernel lets
>> process r execute a single instruction. The kernel flips
>> c to get a result r. The kernel lets process r execute
>> a single instruction, and so on. If one process dies
>> then a coin having m - 1 sides is used, etc.
>>
>> This randomized strategy is clearly fair, especially when
>> you consider the issue of which process gets to execute
>> first. This design was chosen over a deterministic
>> round-robin scheduler since it simplifies the
>> implementation of break-points in the feralcore
>> debugger.
>>
>> The kernel implements a virtual machine based on the
>> feralcore instruction set. This instruction set is
>> similar to the Motorola 6809 instruction set.
>> So, processes execute 6809 instructions.
>> However, 6809 instructions relating to hardware interrupts
>> are not part of the feralcore instruction set. Also,
>> an instruction using opcode 0x02 is included in
>> the feralcore instruction set. The opcode 0x02 is
>> not a valid instruction for the 6809. The 0x02
>> instruction implements the feralcore API call.
>> It is 0x02 followed by a 16-bit API vector.
>>
>> The API calls supplement the 6809 instructions by
>> providing some very powerful functionality. There
>> is an API call that lets a process spawn another
>> feralcore process. There is an API call that
>> lets a feralcore process move itself to another
>> core within the same node. There is also an API
>> call that lets a process move itself to another
>> feralcore node in the network instantly.
>>
>> The kernel terminates a process when that process
>> executes an invalid instruction. Executing an
>> invalid instruction is the normal way for a process
>> to terminate itself. Process A can clobber process B
>> by writing an invalid instruction at the memory
>> location pointed to by the program counter in
>> process B.
>>
>> There are other situations that can cause a process
>> to be terminated. When the 256th process is created,
>> a random process is terminated. A node that is
>> spammed with incoming feralcore programs may drop
>> some incoming programs.
>>
>> Feralcore is an experiment. The documentation is
>> currently available at:
>>
>> http://www.feralcore.com/download/tfcdocuments/feralcore.pdf
>>
>> A video of the 6809 program slowhopper is available
>> at: www.feralcore.com
>>
>> slowhopper hops randomly around the feralcore network.
>>
>> Please let us know if you are interested in learning
>> more or experimenting with it. It is not ready for
>> general distribution due to unresolved bandwidth issues.
>>
>> I view feralcore in many different ways. The CoCo nut
>> in me likes it since it is a new way to bring the 6809
>> to life. I am wondering if any of you will feel the
>> same way.
>>
>> regards,
>>
>> Adam
>>
>>
>>
>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
More information about the Coco
mailing list