From owner-freebsd-multimedia Fri Jul 24 02:27:30 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA27693 for freebsd-multimedia-outgoing; Fri, 24 Jul 1998 02:27:30 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from fleming.cs.strath.ac.uk (root@fleming.cs.strath.ac.uk [130.159.196.123]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA27676 for ; Fri, 24 Jul 1998 02:27:24 -0700 (PDT) (envelope-from roger@cs.strath.ac.uk) Received: from muir-10 (roger@muir-10.cs.strath.ac.uk [130.159.148.10]) by fleming.cs.strath.ac.uk (8.8.8/8.8.8) with SMTP id KAA16615 Fri, 24 Jul 1998 10:26:32 +0100 (BST) Message-ID: <35B8534A.167E@cs.strath.ac.uk> Date: Fri, 24 Jul 1998 10:26:35 +0100 From: Roger Hardiman Organization: University of Strathclyde X-Mailer: Mozilla 3.04Gold (X11; I; OSF1 V4.0 alpha) MIME-Version: 1.0 To: hasty@rah.star-gate.com, rhh@ct.picker.com CC: multimedia@FreeBSD.ORG Subject: BT848 RISC instructions. Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, Yong Kim has emailed me about the bt848 RISC instructions for RGB modes and the use of the DMA Split. Please can you help him? Cheers, Roger. Replies to YoosInfo@netsgo.com My problem is that I can't understand about RISC instructions enough. assume that every local register is set for NTSC input and 320*240*3 RGB. now I need to generate a RISC instruction set for that mode. I thought I needed a OP_SYNC and 240 OP_WRITEs like following. OP_SYNC with RESYNC and BKTR_FM1 OP_WRITE with EOL, SOL and 0x03c0 bytes to XXXXXXXX OP_WRITE with EOL, SOL and 0x03c0 bytes to XXXXXXXX . . but bt848 driver doesn't generate such instructions. it generates some different instructions from what I thought. some JUMP codes and WRITE codes that seem stupid. the code generated by bt848 driver is like following. . . OP_WRITE with SOL,EOL and 0x03c0 bytes to XXXXXXXX OP_WRITE with SOL and 0x2c0 bytes to XXXXXXXX OP_WRITE with EOL and 0x100 bytes to XXXXXXXX . . why doesn't the driver move total data of a line to memory at once? is that some kinda optimizing-code to avoid PCI-bus traffic? is it just because there's not enough continued physical memory? what's DMA_BT848_SPLIT (319*2) in your source code? Cheers Roger To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message