[openfirmware] r1517 - dev

svn at openfirmware.info svn at openfirmware.info
Thu Nov 26 01:31:27 CET 2009


Author: wmb
Date: 2009-11-26 01:31:26 +0100 (Thu, 26 Nov 2009)
New Revision: 1517

Added:
   dev/nullscreen.fth
   dev/ramdisk.fth
Log:
Checked in ramdisk driver and null screen driver.


Added: dev/nullscreen.fth
===================================================================
--- dev/nullscreen.fth	                        (rev 0)
+++ dev/nullscreen.fth	2009-11-26 00:31:26 UTC (rev 1517)
@@ -0,0 +1,37 @@
+\ See license at end of file
+purpose: Null driver that no-ops some screen primitives, for testing
+
+dev /null
+: graphmem load-base ;
+: erase-screen ;
+: fill-rectangle 4drop drop ;
+: draw-rectangle 4drop drop  ;
+: draw-transparent-rectangle 4drop drop  ;
+true value vga?
+: set-source to vga? ;
+dend
+devalias screen //null
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2009 FirmWorks
+\ 
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\ 
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\ 
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END

Added: dev/ramdisk.fth
===================================================================
--- dev/ramdisk.fth	                        (rev 0)
+++ dev/ramdisk.fth	2009-11-26 00:31:26 UTC (rev 1517)
@@ -0,0 +1,77 @@
+\ See license at end of file
+purpose: Block-method additions to subrange.fth device to make a RAMdisk device
+
+0 0  " b000000"  " /" begin-package
+   " ramdisk" device-name
+   h# 3800000 constant /device
+
+external
+\ /device must be defined externally as the length of the subrange
+\ my-space is the base of the subrange
+my-address my-space /device reg
+
+0 value offset			\ seek pointer
+
+: clip-size  ( adr len -- adr actual )
+   offset +   /device min  offset -     ( adr actual )
+;
+: update-ptr  ( actual -- actual )  dup offset +  to offset  ;
+
+external
+: open  ( -- flag )  0 to offset  true  ;
+: close  ( -- )  ;
+
+: seek  ( d.offset -- status )
+   0<>  over /device u>  or  if  drop true  exit  then  \ Seek offset too large
+   to offset
+   false
+;
+: read  ( adr len -- actual )
+   clip-size					( adr actual )
+   tuck  offset my-space +  -rot  move          ( actual )
+   update-ptr
+;
+: write  ( adr len -- actual )
+   clip-size					( adr actual )
+   tuck  offset my-space +  swap  move          ( actual )
+   update-ptr
+;
+: size  ( -- d )  /device 0  ;
+
+
+h# 200 value block-size
+: #blocks  ( -- n )  /device block-size /  ;
+: read-blocks  ( adr block# #blocks -- actual-#blocks )
+   swap block-size um* seek  if  2drop 0 exit  then  ( adr #blocks )
+   block-size * read  block-size *
+;
+: write-blocks  ( adr block# #blocks -- actual-#blocks )
+   swap block-size um* seek  if  2drop 0 exit  then  ( adr #blocks )
+   block-size * write  block-size *
+;
+
+end-package
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2009 FirmWorks
+\ 
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\ 
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\ 
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END




More information about the openfirmware mailing list