Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Staff meeting in the conference room in %d minutes.


computers / comp.sys.transputer / Re: Transputer B008 DMA on the bare metal --- examples?

SubjectAuthor
* Transputer B008 DMA on the bare metal --- examples?Tom Stepleton
`* Re: Transputer B008 DMA on the bare metal --- examples?Tom Ivar Helbekkmo
 `- Re: Transputer B008 DMA on the bare metal --- examples?Tom Stepleton

1
Transputer B008 DMA on the bare metal --- examples?

<e3d9c558-36d2-4584-a97e-bd095fa1234en@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=108&group=comp.sys.transputer#108

  copy link   Newsgroups: comp.sys.transputer
X-Received: by 2002:ac8:5acf:0:b0:39c:d4d8:3f75 with SMTP id d15-20020ac85acf000000b0039cd4d83f75mr18708836qtd.579.1666401067582;
Fri, 21 Oct 2022 18:11:07 -0700 (PDT)
X-Received: by 2002:a0c:8b0a:0:b0:4b1:9500:4703 with SMTP id
q10-20020a0c8b0a000000b004b195004703mr19345596qva.124.1666401067186; Fri, 21
Oct 2022 18:11:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.net!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.transputer
Date: Fri, 21 Oct 2022 18:11:06 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=82.39.238.122; posting-account=l3olFwkAAAB7_YlbF47jpoRgdTkZ-iGF
NNTP-Posting-Host: 82.39.238.122
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e3d9c558-36d2-4584-a97e-bd095fa1234en@googlegroups.com>
Subject: Transputer B008 DMA on the bare metal --- examples?
From: steple...@gmail.com (Tom Stepleton)
Injection-Date: Sat, 22 Oct 2022 01:11:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 20
 by: Tom Stepleton - Sat, 22 Oct 2022 01:11 UTC

Hi again,

Are there any good examples out there of doing DMA with a B008 card?

I've set aside Helios for now and am eager for advice about how to get data out of a Transputer on a B008 in a hurry. DMA seems like the ticket for me and my 286. In fact, I'd be happy for the Transputer to shove bytes directly into the 16 kilobytes at address B8000 --- that's right, straight into video memory of the mighty CGA card. (Snow, what snow?)

I've never done much bare-metal PC programming so I don't know if this is really even all that sensible a proposition. Either way, DMA examples would be welcome. I think the DMA transfer listing in the B008 Rev. E user guide
(https://www.transputer.net/mg/b008ug/b008ug.html#x1-60000C.3)
tells me most of what I need to know on the PC side, but the example code for the Transputer side is missing (it's only on the floppy disk that comes with the B008). Does anyone have any guide to what the Transputer has to be doing to do DMA in a B008?

Cheers,
--Tom

Re: Transputer B008 DMA on the bare metal --- examples?

<m2eduyonm5.fsf@thuvia.hamartun.priv.no>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=109&group=comp.sys.transputer#109

  copy link   Newsgroups: comp.sys.transputer
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: tih...@hamartun.priv.no (Tom Ivar Helbekkmo)
Newsgroups: comp.sys.transputer
Subject: Re: Transputer B008 DMA on the bare metal --- examples?
Date: Sun, 23 Oct 2022 12:12:02 +0200
Lines: 33
Message-ID: <m2eduyonm5.fsf@thuvia.hamartun.priv.no>
References: <e3d9c558-36d2-4584-a97e-bd095fa1234en@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: individual.net +1cmU7Lqxwp1UxpQL8Pe5ALamXPa/ZhoqdsjsssFQjYPpggvwA
Cancel-Lock: sha1:WqWZ/W6gfKuASZh7b9nGtmoAOW4= sha1:7IVynGG2y7ebmICOj9WqXUHXDIw=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (berkeley-unix)
 by: Tom Ivar Helbekkmo - Sun, 23 Oct 2022 10:12 UTC

Tom Stepleton <stepleton@gmail.com> writes:

> Does anyone have any guide to what the Transputer has to be doing to
> do DMA in a B008?

Nothing special, really. The B008, like the B004 and compatible boards,
offers a link that goes to the host computer, and the code on the
Transputer just has to use that link, sending and receiving bytes across
it. It's then up to the host computer how it wants to serve the link;
whether one byte at a time using port I/O, or, in the case of the B008,
using DMA. (The C012 chip on the B008 knows how to implement its half
of the DMA dance with the PC host through the ISA bus.)

When the Transputer sends a message, it gets queued on the B008 for
transfer to the host, and when the host sends a message, it gets queued
on the B008 for transfer to the Transputer. In both directions, if DMA
is to be used between the host and the B008, the host has to program its
DMA controller correctly, and then tell the B008 to go ahead and run the
DMA transfer. The code running on the Transputers on the B008 don't
know whether the transfer is done using port I/O or DMA; it just sees a
normal inter-Transputer link that happens to go to the host.

> Are there any good examples out there of doing DMA with a B008 card?

I've implemented a MINIX 3.4 driver for the B004 and B008. It does DMA
for the latter. I've got a little write-up about that on my web site,
at <https://hamartun.priv.no/b004.html>, and there are links from there
to the code on github. I mostly use the driver to support Helios.

-tih
--
Most people who graduate with CS degrees don't understand the significance
of Lisp. Lisp is the most important idea in computer science. --Alan Kay

Re: Transputer B008 DMA on the bare metal --- examples?

<9e3ebd96-3f18-43fd-b6ef-dd26ecea9652n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=110&group=comp.sys.transputer#110

  copy link   Newsgroups: comp.sys.transputer
X-Received: by 2002:a05:620a:191c:b0:6ed:88c5:e839 with SMTP id bj28-20020a05620a191c00b006ed88c5e839mr20257155qkb.627.1666527686205;
Sun, 23 Oct 2022 05:21:26 -0700 (PDT)
X-Received: by 2002:a05:622a:14d0:b0:39c:ce79:55f3 with SMTP id
u16-20020a05622a14d000b0039cce7955f3mr23251531qtx.215.1666527686020; Sun, 23
Oct 2022 05:21:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.transputer
Date: Sun, 23 Oct 2022 05:21:25 -0700 (PDT)
In-Reply-To: <m2eduyonm5.fsf@thuvia.hamartun.priv.no>
Injection-Info: google-groups.googlegroups.com; posting-host=82.39.238.122; posting-account=l3olFwkAAAB7_YlbF47jpoRgdTkZ-iGF
NNTP-Posting-Host: 82.39.238.122
References: <e3d9c558-36d2-4584-a97e-bd095fa1234en@googlegroups.com> <m2eduyonm5.fsf@thuvia.hamartun.priv.no>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9e3ebd96-3f18-43fd-b6ef-dd26ecea9652n@googlegroups.com>
Subject: Re: Transputer B008 DMA on the bare metal --- examples?
From: steple...@gmail.com (Tom Stepleton)
Injection-Date: Sun, 23 Oct 2022 12:21:26 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2294
 by: Tom Stepleton - Sun, 23 Oct 2022 12:21 UTC

On Sunday, October 23, 2022 at 11:12:04 AM UTC+1, Tom Ivar Helbekkmo wrote:
> Tom Stepleton <step...@gmail.com> writes:
>
> > Does anyone have any guide to what the Transputer has to be doing to
> > do DMA in a B008?
> Nothing special, really.

Thanks Tom, that's very helpful indeed!

In the time since I've posted, I've learned more about DMA on the IBM PC AT, and it seems like it's an open question whether DMA is actually any faster or more practical than polling with the CPU. A number of resources suggest that DMA's main advantage in the AT is precise timing --- apparently that's useful for the floppy disk. It could be useful for me, too, if I want to avoid "snow" on the CGA display. If that proves necessary, your notes will be invaluable.

(I didn't know much about PC DMA when I first posted --- now I know a few basics. I suppose I'd expected that expansion cards would be able to take over the ISA bus and manage their own DMA, but I can see I was being a bit too optimistic!)

Thanks again,
--Tom

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor