Commit Graph

321 Commits

Author SHA1 Message Date
ad 571ef6d823 Make this work on alpha, and fix some other bogons. 2001-03-04 13:32:25 +00:00
nisimura 8e3f2f7c65 Change to exclude TC identification string PMAGD-AA because 8bpp can not
be handled with current implementation.  sfbplus.c should be capable of
doing the right things for multiple depths by ultilizing SFB+ design.
2001-02-27 02:11:36 +00:00
nisimura ab8c4071cc Void-filling to honour SVIDEO ioctl call. 2001-02-19 09:11:11 +00:00
nisimura b4ef15f3bc - paint underline on text honouring WSSCREEN_UNDERLINE.
- use accellerated painting for text cursor, should improve speed.
2001-01-19 05:43:43 +00:00
nisimura 1d8bb9f134 managed to make this useful enough for screen editor.
- video base register value brings different scanline starting address
  of framebuffer depending on VRAM chip column size.
many other issues left unsolved.
- text rendered in incorrect colours.
- acceleration codes should be reimplemented from scratch.
2001-01-17 06:48:09 +00:00
nisimura f20b78bb5d Add a definition for PMAGD which should cover all (three?) variations of
it.  Left commented out until DECstation switchs to WSCONS.
2001-01-16 05:49:41 +00:00
nisimura bd7039cbdb - relocate the code to place sprite cursor inside interrupt handlers
called on every virtical replace.
- efforts to make the code strucutures similar across TC framebuffers.
2001-01-16 05:32:16 +00:00
nisimura f493d886c1 - make this more senseful 32bpp TC framebuffer. This is far less broken
than the preivous code.  It can show readable characters on screen.
  Tested only with 32bpp model of PMAGD opion card.  Need more work for 8bpp.
- 2D accelleration will be revamped to ultilize SFBplus features.
- there seems much mulfunctionness in 32bpp codes of /sys/dev/rasops/.
  Need to rectify every corners.
2001-01-16 05:06:02 +00:00
nisimura 9b47b68152 abandon an attempt to have 8bpp textop and 32bpp textop parallelly.
Pursuade a unified logic effective for both depths.
2001-01-15 09:45:30 +00:00
nisimura 452e3d1a2f fix a typo and rearrange a comment about SFB register aliasing effect. 2001-01-15 09:41:57 +00:00
nisimura 3a6d3e0771 use ri_devcmap[] values directly, instead of calling rasops_unpack_attr().
-
2001-01-15 09:37:42 +00:00
ad 1b4eef2721 - Make VDAC state per-board.
- Add an ioctl to reset the STIC.
- Add an ioctl to restore the screen contents from backing.
- Other tweaks.
2001-01-09 16:04:03 +00:00
mrg d9a9b8d6d5 the tcds cards work in pmaxen. move tcds attachment to files.tc. leave asc
at tcds in files.alpha for now, and add a new `xasc at tcds' to files.pmax.
after pmax has moved fully to MI scsi (and `asc' is MI scsi), we should move
the device asc, etc., lines to files.tc.
2001-01-01 23:43:05 +00:00
ad 024d36d353 - Fix bugs, make this useful.
- Add ioctls to start and stop the co-processor (if present).
2000-12-22 13:30:32 +00:00
perseant 3475e639f3 Add register #defines similar to those in <dev/pci/tgareg.h>, referring to
a 32-bit sfb_reg_t, for easy comparison between tga and sfb Xservers.
2000-12-19 01:25:46 +00:00
ad b5aee7bd4c Thinko. 2000-12-17 14:46:43 +00:00
ad 3b02b279aa Regen. 2000-12-17 13:56:19 +00:00
ad d092cb0d0a Sync with PixelStamp drivers. 2000-12-17 13:56:05 +00:00
ad 553c5108d4 Add wscons drivers for the DEC PixelStamp graphics accelerators. 2000-12-17 13:52:03 +00:00
nisimura 2e93099aff Replace sfb_copycols() which can run better job in some degree.
It still fails on certain conditions, thus is left commented out.
copycols() is done by a generic routine which works correctly.
2000-11-25 11:43:42 +00:00
nisimura b974ee7790 Add TC option card descriptions, which are commented out before NetBSD/pmax
yields local implementations to them.
2000-11-24 05:02:26 +00:00
nisimura 0661e6718b - fix an error in uninitialized variable reference.
- add a missing function argument declaration.
- minor comment adjustments.
2000-11-22 06:59:08 +00:00
nisimura ce10334de9 Fix errors in color lookup table initialization. Glyph is rendered
in visible color now.
2000-11-21 07:42:02 +00:00
mhitch d458239a94 When doing the cacheflush for MIPS1, adjust the length to account for
an unaligned buffer.  The last word of the buffer was not getting flushed
if the buffer was unaligned and fit in a single DMA segment.  Now dump(8)
works on both MIPS1 and MIPS3 DECstations.
2000-11-05 21:02:13 +00:00
mhitch f5f7066fc8 When a read DMA transfer is interrupted by a disconnect on the IOASIC SCSI
and the buffer is not 8-byte aligned, it leaves a partial transfer in the
SDRx registers.  This could cause data corruption in dump(8) because the
read-ahead buffers are allocated on a non-aligned address.  When the read
DMA transfer is interrupted and the current DMA position is not aligned,
call the dma_end() routine to flush the SDRx register contents to the
buffer.
2000-11-02 21:00:04 +00:00
simonb 97e5badeae Line up columns in #define list. 2000-10-31 15:16:26 +00:00
nisimura 8a54846748 Fix errors in initializing the software copy of 256 entry colormap
stored in device softc.  rasops_cmap[] array is orginazed in 256
iteration of 3 byte long RBG triplet, which does not match with
struct wsdisplay_cmap design.
2000-10-27 07:24:04 +00:00
nisimura ad74c7dbd6 - Put comment about wsevent structure counts 0 for the left most mouse
button with a bit coding improvement.
- signed char -> int to hold integer values.  Contributed 16 insn savings.
2000-10-19 10:27:04 +00:00
nisimura 8a526d9513 Remove sc_lance_dmam field from ioasic_softc structure. It was obsoluted
by the removal of ioasic_lance_dma_setup() made in if_le_ioasic.c 1.15.
2000-10-17 09:45:49 +00:00
nisimura f3d4ccd750 Have consistent #if's for machine dependent clauses. 2000-10-17 09:27:22 +00:00
nisimura 1fd2521475 - efforts to merge TC Alpha and IOASIC DECstation, derived from Mattias
Drochner's work made in nisimura-pmax-wscons branch.  Still a little
  to do before useful for DECstation.  MI softintr required.
- allow wildcard matchs to have zstty/zskbd/zsms in default hardware
  configuration.
- abandon to check zs_ioasic_cnattach() return value; it doesn't fail.
- have zs_ioasic_cnattach() serial line parameters hardcoded inside, in
  symmetry with zs_ioasic_lk201_cnattach().
2000-10-17 08:55:43 +00:00
nisimura ca7bd5f302 Make sure wsmouseopen() returns ENXIO when no VSXXX mouse is attached. 2000-10-14 08:51:51 +00:00
mhitch af7ddd3659 Set up the physical addresses for DMAPTR/NEXTPTR before adjusting for
unaligned transfers and adjust the physical address to align the transfer.
If the buffer end just crossed the page boundary, the computation of the
NEXTPTR physical address resulted in using -1.  The cleanup at the end of
the DMA transfer would try to copy the residual data to physical address
0x1ffffffc.  This would silently corrupt data on the R3000 and usually
would hang the R4000.
2000-09-28 03:11:29 +00:00
nisimura bf7a6e6857 Found glyph pixel order inverted on screen. 2000-09-13 02:11:14 +00:00
nisimura c8321c45a7 Found glyph pixel order inverted on screen. 2000-09-12 09:45:48 +00:00
nisimura 59178ec7b4 Use dev/{rasops,wsfont} instead of awesome dev/rcons. Still much to do
before being useful.
2000-09-09 06:15:17 +00:00
nisimura 48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
tsutsui 83f94dc417 Regen. 2000-07-20 07:11:28 +00:00
tsutsui 4af0fbdb1a Add PMAG-JA framebuffer. 2000-07-20 06:38:39 +00:00
thorpej 693ff4c94d PAGE_SIZE -> IOASIC_DMA_BLOCKSIZE in one last place. From Izumi Tsutsui. 2000-07-18 06:14:05 +00:00
thorpej b91d520dc9 Back out previous. It is no longer needed, as both the Alpha
and DECstation IOASIC drivers clear the appropriate interrupts
in the dispatch routine.
2000-07-18 06:12:33 +00:00
thorpej 5e275d7012 Clear the DMA pointer reload interrupt bits in the IOASIC_INTR
register to prevent interrups from looping on the Alpha.

From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
2000-07-17 17:43:16 +00:00
thorpej 8746b7c870 - Write the registers 7930 registers properly on the Alpha (it's
different than on the DECstation).
- Use IOASIC_DMA_BLOCKSIZE instead of PAGE_SIZE.

Should make this work on the Alpha.  From discussion with
Izumi Tsutsui, Gregory McGarry, and Chris Demetriou, and
much reading of EK-D3SYS-PM.
2000-07-17 04:37:27 +00:00
thorpej 887bebaa71 Define IOASIC_DMA_BLOCKSIZE (4096 bytes). 2000-07-17 02:18:17 +00:00
thorpej 8623daff6d G/c some unused (and incorrect, for our usage) definitions. 2000-07-17 02:17:13 +00:00
thorpej 95f72dd4aa Use the IOASIC_DMA_ADDR() macro now that it is fixed. 2000-07-17 01:29:02 +00:00
thorpej cd6fa19644 Make sure to get the upper 5 bits of the page address mixed in
in IOASIC_DMA_ADDR(), as the le_ioasic attachment does.  Noted
by Gregory McGarry.
2000-07-17 01:28:16 +00:00
nisimura 4f051180a0 - Use PMAD-BA name for device match logic. It's not a real TURBOchannel
device and the id string is not found in option ROM string, but
  ULTRIX/OSF1 call it so anyway.
- Squash IOASIC DMA buffer allocation into device attach() sequence.
2000-07-11 04:10:25 +00:00
nisimura 30c1d4ba1c - Withdraw ZS_IOASIC_DMA conditional which has never been useful.
- Sanitize ZS register access.
2000-07-05 07:50:57 +00:00
nisimura 728e424e54 Repopulate 4 files, zs_ioasic.c and zs_ioasicvar.h from arch/alpha/tc,
zskbd.c and zsms.c from dev/dec/, respectively.  No functionality
change this time.
2000-07-05 02:48:50 +00:00