Go Back   Wiremod Forums > Wiremod Skills > Wiremod Addons

Wiremod Addons Have you created a wiremod addon? Post it here.

Reply
 
LinkBack (8) Thread Tools Display Modes
Old 08-21-2008   8 links from elsewhere to this Post. Click to view. #1 (permalink)
Member
 
Borsty's Avatar
 

Join Date: Apr 2007
Posts: 99
Borsty is on a distinguished road
Default Custom consolescreen + Wrapper + RT Camera + Dyn. Memory

Hey there!

I started work on a custom consolescreen version, not just optimize it's code a little but also add new features

After some ideas you gave me I came to the point where we can start testing it ^^
I don't have that much time to test everything right now so it would be kind of some of you could test it, check shifting, clearing, rt screen, pointer (touchscreen) functionality, etc

I made a svn repo so it's easier to fix errors, add new graphics etc etc
url: https://borsty.dyndns.org:8443/svn/advconsolescreen
name/pw: anonsvn

Video
http://www.youtube.com/watch?v=iZgGgSuL9uEScreenshot:


What can be done with this console screen?
Instead of a single layer of combined background and text color, this screen uses a background layer which only stores color (RG and two layers of text/icons which has the classical layout Char/Color, Chars are normal ASCII codes from 0 to 128, everything above contains small graphical icons as seen on the screenshot above. The color code for the text layers is (ARG. Colors work like with the classic consolescreen, 000 would be black, 900 red, 090 green, 009 blue and 999 white.
The text layers also got an alpha value which is 0 for completly invisible to 9 completly visible, don't forget to add a 9 in front of your color code to make it visible
So every block is 5 memory values big instead of 2.

RT screen:
The screen also supports rendering of the render target for the normal well known RT-Camera.

Touchscreen
Touchscreen functionality have been added but it only works for the owner of the screen. If you read memory address 3065 (Pointer Address) it either returns 540, which means that the owner isn't looking at the screen or something betwen 0 and 539 ( Address = X + Y * 30 )
I will work on this so you can set who is allowed to use the screen's pointer.

Misc
The screen also got a global brightness register ( 0 for everything black, 255 for everything normal ), alpha scale registers for both text layers, overlay registers for both layers to toggle overlay on rt screen areas, check the memory map for addresses!

Memory map:
You'll notice that there's a "buffered" and an "unbuffered" area, the big difference here is that the buffered area only gets applied when the clock register gets triggered ( 0 to 1 ), the remaining unbuffered area gets applied directly!
Code:
 ** Buffered **
 
   0 - 2699 Image Memory: 5 values per pixel
(Background RGB), (Layer 1 Char), (Layer 1 ARGB), (Layer 2 Char), (Layer 2 ARGB)

Hardware control
2700 - Hardware scale (0)
2701 - Vertical scale (1)
2702 - Horizontal scale (1)

2703 - Screen Brightness (255)
2704 - Hardware Background Color (000)
2705 - Layer 1 Alpha (255)
2706 - Layer 2 Alpha (255)

RT Screen control
2707 - RT Enable
2708 - Start X
2709 - Start Y
2710 - End X
2711 - End Y
2712 - Enable Layer 1 overlay
2713 - Enable Layer 2 overlay

Cursor control:
2714 - Cursor Enabled
2715 - Cursor Blink Rate (0.50)
2716 - Cursor Size (0.25) // Obsolete, I mean... what's it for?
2717 - Cursor Address

2718 - 2749 ** RESERVED **

 ** Unbuffered **
 
2750 - 3036 ** UNUSED **

Hardware image control:
3040 - Screen ratio (read only)
3041 - Rotation (0 - 0*, 1 - 90*, 2 - 180*, 3 - 270*)

Shifting control:
3050 - Low shift column
3051 - High shift column
3052 - Low shift row
3053 - High shift row

Control registers:
3060 - Shift columns (number of columns, >0 shift right, <0 shift left)
3061 - Shift rows (number of rows, >0 shift down, <0 shift up)
3062 - Hardware Clear Column (Writing clears column)
3063 - Hardware Clear Row (Writing clears row)
3064 - Hardware Clear Screen

Pointer control:
3065 - Pointer Address (read only) ( owner only )
3066 - Screen got used by player (read only, auto reset)

Clock
3070 - Hardware Reset
3071 - Clock
Please report any errors, misbehaviours or things you don't understand how to use.

With Version 0.6 comes another gate which allows to use the Advanced Consolescreen with normal wires:
Clk is used to put the new char with its params into the right address, Active needs to be 1 to get the chars drawn (just like with the cpu when you print a bigger chunk of text)
So set active to 0, put your text into the screen, set active to 1 and zing! your string or whatever gets drawn.





Changelog

0.7b - 20th September (Rev. 34)
  • Added Hi-Speed link to rt camera ( 0: Activate/ Is Activated | 1: Hide/ Is Hidden )
  • Fixed some errors in the rt camera stool ( and added checkbox to toggle onscreen monitor )

0.7 - 20th September (Rev.31)
  • Added a "Persistant" option to dynamic memory gate to make it save it's data when being duplicated
  • Fixed dynamic memory gate
  • Fixed duplicator issues with the wrapper and the memory gate
  • Fixed small bug in the wired rt camera sent
  • Fixed ClearPx(x,y) function in advconlib.c

0.6b - 19th September (Rev. 30)
  • Added "GotUsed" output to wrapper gate

0.6 - 27th August (Rev. 26)
  • Added Wrapper gate
  • Fixed RT Camera being in the wrong STool category
  • Fixed some STool strings
  • Fixed Screen not drawing wire connections

0.5 - 26th August (Rev. 23)
  • Several small bugfixes
  • Extended c library
  • Added a wired RT camera. It has an "activate" and "hide" input, exactly the same as the original one but instead of using the numpad to activate it it uses a wire input!

0.4 - 26th August (Rev. 20)
  • Fixed Screen being not solid to Owner
  • Improved touch screen accuracy a lot
  • Added RT functions to C lib
0.3 - 25th August (Rev. 9)
  • Fixed Cursor blinking
  • Added advconlib.c for use with ZC32

0.2 - 24th August
  • Fixed Stool
  • Removed "ledboard" model from list
  • Option "create flat to surface" and "weld" added

0.1 - 24th August
  • Beta release

Last edited by Borsty; 09-20-2008 at 02:04 PM..
Borsty is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Old 08-21-2008   #2 (permalink)
Wire Guru

 
IEF015's Avatar
 

Join Date: Feb 2008
Location: London, ON (Canada, eh?)
Posts: 729
IEF015 has a spectacular aura aboutIEF015 has a spectacular aura about
Default Re: Custom consolescreen

That looks really cool. Can't wait to give it a try.
__________________
WIREMOD WILL NOT WORK ON A PIRATED GMOD!


MY COLOUR IS BLUE.
Post your expressions here: www.wiredexpressions.tk
It's my favourite country song. And I hate it.
IEF015 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #3 (permalink)
Member
 
Jarviar's Avatar
 

Join Date: Apr 2008
Posts: 89
Jarviar is an unknown quantity at this point
Default Re: Custom consolescreen

How about a layer input like Layer=0-2 Which would allow Background text. Which means lets say you put Hello on the screen but go to the next layer and type Waffles. Waffles would be written over Hello causeing Weird looking text effect. Do you see what i mean?
Jarviar is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #4 (permalink)
Member
 
nitrousoxide's Avatar
 

Join Date: Jun 2008
Location: in a cardboard box, Possibly near you house
Posts: 56
nitrousoxide is an unknown quantity at this point
Send a message via MSN to nitrousoxide Send a message via Skype™ to nitrousoxide
Default Re: Custom consolescreen

cool! im edging to try it, could you possibly list the inputs?
OH! and what would be awesome if you could make a touch screen (as in look at graphics tablet code) with separate outputs (to wire to cpu or something).
nitrousoxide is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #5 (permalink)
Member
 
Jarviar's Avatar
 

Join Date: Apr 2008
Posts: 89
Jarviar is an unknown quantity at this point
Default Re: Custom consolescreen

BTW implementing a graphics tablet interface would be stupid unless you can eliminate the mager lag from haveing multiple Graphics Tablets at once. The input for my idea should be Layer and possible values should be 0-Background(Default), 1-Foreground, 2-This one draws the text/graphics over all the other layers.
Jarviar is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #6 (permalink)
Member
 
nitrousoxide's Avatar
 

Join Date: Jun 2008
Location: in a cardboard box, Possibly near you house
Posts: 56
nitrousoxide is an unknown quantity at this point
Send a message via MSN to nitrousoxide Send a message via Skype™ to nitrousoxide
Default Re: Custom consolescreen

sorry?, i mean just having a graphics tablet combined with this OUTPUTTING the x and y(sorry i didn't make it clear before), so you could implement a mouse using a cpu program.
nitrousoxide is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #7 (permalink)
Member
 
Borsty's Avatar
 

Join Date: Apr 2007
Posts: 99
Borsty is on a distinguished road
Default Re: Custom consolescreen

Hmmm, the layer thing isn't that much of a bad idea, need to think about that. Rendering the screen twice will take twice the time... Maybe I change it to something like
1 - background color, no chars
2 - first char layer
3 - second char layer with alpha

About the touch-screen thing, well... why not ^^, I could make it toggle-able using a control register

:EDIT:
Updated first post!

Last edited by Borsty; 08-21-2008 at 06:19 PM..
Borsty is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #8 (permalink)
Member
 
Jarviar's Avatar
 

Join Date: Apr 2008
Posts: 89
Jarviar is an unknown quantity at this point
Default Re: Custom consolescreen

Hey btw i made an expression to type stuff on a screen to type stuff and i want to know if i use the address bus could ilink it to my egate and change stuff like this? I imagine i could and i have lots of spare time to go through it but before i start i want to know if it is possible without a cpu.
3047 - Rotation (0 - 0*, 1 - 90*, 2 - 180*, 3 - 270*)
Jarviar is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #9 (permalink)
Member
 
Borsty's Avatar
 

Join Date: Apr 2007
Posts: 99
Borsty is on a distinguished road
Default Re: Custom consolescreen

Quote:
Originally Posted by Jarviar View Post
Hey btw i made an expression to type stuff on a screen to type stuff and i want to know if i use the address bus could ilink it to my egate and change stuff like this? I imagine i could and i have lots of spare time to go through it but before i start i want to know if it is possible without a CPU.
3047 - Rotation (0 - 0*, 1 - 90*, 2 - 180*, 3 - 270*)
I don't think the expression gate supports hi-speed links. Maybe if someone would be so kind to add some hi-speed-interface functions to the exp. gate but these screens are mainly made for the CPU :P

I'll provide an interface chip to use this screen with the "normal" part of wiremod, I don't like to have hundreds of inputs >
Borsty is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-21-2008   #10 (permalink)
Member
 
Jarviar's Avatar
 

Join Date: Apr 2008
Posts: 89
Jarviar is an unknown quantity at this point
Default Re: Custom consolescreen

btw I'm sure it's possible i could set the offset for whatever and then use the memory to control it. I guna experiment.
Jarviar is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

LinkBacks (?)
LinkBack to this Thread: http://www.wiremod.com/forum/wiremod-addons/6208-custom-consolescreen.html
Posted By For Type Date
YouTube - Advanced Consolescreen test This thread Refback 1 Week Ago 05:02 PM
YouTube - Advanced Consolescreen test This thread Refback 10-14-2008 05:53 AM
YouTube - Advanced Consolescreen test This thread Refback 10-04-2008 09:46 AM
YouTube - Advanced Consolescreen test This thread Refback 08-27-2008 07:14 AM
YouTube - Advanced Consolescreen test This thread Refback 08-26-2008 01:26 PM
YouTube - Advanced Consolescreen test This thread Refback 08-26-2008 10:54 AM
Borsty’s Blog Blog Archive Advanced Console Screen and more This thread Pingback 08-26-2008 09:28 AM
Wire - Advanced console screen - JokerIce Community Forums This thread Refback 08-26-2008 09:18 AM


All times are GMT -7. The time now is 08:38 PM.


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.

Page top