<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WinSoft.se &#187; General</title>
	<atom:link href="http://www.winsoft.se/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.winsoft.se</link>
	<description>Development with focus on Visual Basic .NET</description>
	<lastBuildDate>Thu, 26 Jan 2012 19:28:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XQT 1.3</title>
		<link>http://www.winsoft.se/2012/01/xqt-1-3/</link>
		<comments>http://www.winsoft.se/2012/01/xqt-1-3/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 20:26:35 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1842</guid>
		<description><![CDATA[XQT, the XPath Query Tool, is updated to version 1.3. This version lets you select a node in the tree, and copy it&#8217;s path. Also, some bugs are fixed and a few interface inprovements are made. Check the Programs page for download link.]]></description>
			<content:encoded><![CDATA[<p>XQT, the XPath Query Tool, is updated to version 1.3. This version lets you select a node in the tree, and copy it&#8217;s path. Also, some bugs are fixed and a few interface inprovements are made. Check the <a href="http://www.winsoft.se/programs/">Programs</a> page for download link.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/xqt-1-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SRT Tool 1.2</title>
		<link>http://www.winsoft.se/2012/01/srt-tool-1-2/</link>
		<comments>http://www.winsoft.se/2012/01/srt-tool-1-2/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 12:21:44 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[SRT Tool]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1825</guid>
		<description><![CDATA[SRT Tool is upgraded to version 1.2. You can download it from the Programs page.]]></description>
			<content:encoded><![CDATA[<p>SRT Tool is upgraded to version 1.2. You can download it from the <a href="http://www.winsoft.se/programs/">Programs</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/srt-tool-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading sequential data from your 5.25 inch floppy</title>
		<link>http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/</link>
		<comments>http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 20:45:21 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1814</guid>
		<description><![CDATA[Continued from here. Once you have some sequential data in a file on your disk, you can write a program to read it back. How this is done, varies between different Commodore machines, and can be quite tricky. On the C128, it is as easy as writing the data. You have to remember the structure [...]]]></description>
			<content:encoded><![CDATA[<p>Continued from <a href="http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/">here</a>.</p>
<p>Once you have some sequential data in a file on your disk, you can write a program to read it back. How this is done, varies between different Commodore machines, and can be quite tricky. On the C128, it is as easy as writing the data. You have to remember the structure of the data you were writing &#8211; in my case one string, one integer and one string.</p>
<p>This is a new program (clear any existing program by typing <strong>NEW</strong>), and it is assumed that you have your floppy with the data you created in the <a href="http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/">earlier post</a>.</p>
<p>Use <strong>OPEN</strong> to open a file, but this time, specify that you want to <strong>READ</strong> the sequential file <strong>TEST.DAT</strong>.</p>
<pre>10 OPEN 1, 8, 2, "TEST.DAT,SEQ,READ"</pre>
<p>Then, use <strong>INPUT#</strong> to read each stored record. Just remember the data types. <strong>PRINT#</strong> supports writing multiple records in one call, and <strong>INPUT#</strong> supports multiple reads. So instead of writing three lines, I can read three records in one line, like so:</p>
<pre>20 INPUT#1, A$, B, C$</pre>
<p>Use <strong>CLOSE</strong> to close the file.</p>
<pre>30 CLOSE 1</pre>
<p>These line will display the file content on screen:</p>
<pre>40 PRINT A$
50 PRINT B
60 PRINT C$</pre>
<p>And if everything is correct, you will now se this:</p>
<pre>ONE STRING
 5
ANOTHER STRING</pre>
<p>(The commands I use are available Commodore Basic 4.0 on Commodore PET, but I run Commodore Basic 7 on a C128.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sequential data on 5.25 inch floppies</title>
		<link>http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/</link>
		<comments>http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 20:02:01 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[C128]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1808</guid>
		<description><![CDATA[If you have an actual 1571 disk drive for your Commodore 128, insert a blank disk, format it using the HEADER command. Something like this: HEADER "MY DISK", I44, D0 (Formatting a disk takes a while.) If you are running a virtual Commodore 128 in VICE, click File, Attach disk image, Drive 8. Create a [...]]]></description>
			<content:encoded><![CDATA[<p>If you have an actual 1571 disk drive for your Commodore 128, insert a blank disk, format it using the <strong>HEADER</strong> command. Something like this:</p>
<pre>HEADER "MY DISK", I44, D0</pre>
<p>(Formatting a disk takes a while.)</p>
<p>If you are running a virtual Commodore 128 in <a href="http://www.viceteam.org/" target="_blank">VICE</a>, click <em>File</em>, <em>Attach disk image</em>, <em>Drive 8</em>. Create a d64 image file and attach that image. To create the file, enter a desired filename, like <em>test.d64</em>, provide a name, click <em>Create Image</em>, then click <em>Attach</em>.</p>
<p>(The commands I use are available Commodore Basic 4.0 on Commodore PET, but I run Commodore Basic 7 on a C128.)</p>
<p>Your disk is now inserted and completely empty. You can check the content using the <strong>DIRECTORY</strong> command.</p>
<p><img class="alignnone size-full wp-image-1809" title="" src="http://www.winsoft.se/wp-content/uploads/seq1.jpg" alt="" width="280" height="144" /></p>
<p>As a Commodore user, you know that you sometimes have to refer to your disk drive using its drive number (the first disk drive is <strong>0</strong>) and sometimes you have to use the device number (the first disk drive is <strong>8</strong>). The <strong>OPEN</strong> command operates on any device, therefore a device number is required in this case. The first parameter is the logical file number (just a number that identifies the file), the second is the device number (<strong>8</strong>). The third argument is a channel number &#8211; enter <strong>2</strong>. Then, in one single string argument, you type in the file name, the file type and the file mode. I want to create a file called <strong>TEST.DAT</strong> as a sequential file and I want to write to it, so I my string holds <strong>&#8220;TEST.DAT,SEQ,WRITE&#8221;</strong>.</p>
<pre>10 OPEN 1, 8, 2, "TEST.DAT,SEQ,WRITE"</pre>
<p>To fill your file with data, use the <strong>PRINT#</strong> command. Anything goes here. This will print one string, one integer, and then yet another string. You provide your logical file number so that <strong>PRINT#</strong> knows what file you are targeting.</p>
<pre>20 PRINT#1, "ONE STRING"
30 PRINT#1, 5
40 PRINT#1, "ANOTHER STRING"</pre>
<p>If you like, more data can be added in one line.<br />
When you are done writing, close the file using the <strong>CLOSE</strong> command. Again, provide your logical file number.</p>
<pre>50 CLOSE 1</pre>
<p>After running this program, you should have a small sequential file called <strong>TEST.DAT</strong> on your disk. If any disk error occurred, the lamp on your drive is flashing now &#8211; it shouldn&#8217;t do that.</p>
<p>Continued <a href="http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skeptikerforum stänger 2012-06-01</title>
		<link>http://www.winsoft.se/2012/01/skeptikerforum-stanger-2012-06-01/</link>
		<comments>http://www.winsoft.se/2012/01/skeptikerforum-stanger-2012-06-01/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 11:20:11 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Skeptical movement]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1799</guid>
		<description><![CDATA[Skeptikerforum, inklusive mediasidan, stängs permanent 2012-06-01. För den som vill debattera eller läsa om det senaste inom skeptikerrörelsen rekommenderas: VoF&#8217;s diskussionsforum Skeptikerpodden Sweskep.com Om du har inlägg eller länkar som du vill spara, ska det göras före juni 2012. Fram till 2012 går det bra att posta nya inlägg, såvida du inte registrerat från någon [...]]]></description>
			<content:encoded><![CDATA[<p>Skeptikerforum, inklusive mediasidan, stängs permanent 2012-06-01. För den som vill debattera eller läsa om det senaste inom skeptikerrörelsen rekommenderas:</p>
<ul>
<li><a href="http://www.vof.se/forum/" target="_blank">VoF&#8217;s diskussionsforum</a></li>
<li><a href="http://skeptikerpodden.se/" target="_blank">Skeptikerpodden</a></li>
<li><a href="http://sweskep.com/" target="_blank">Sweskep.com</a></li>
</ul>
<p>Om du har inlägg eller länkar som du vill spara, ska det göras före juni 2012. Fram till 2012 går det bra att posta nya inlägg, såvida du inte registrerat från någon publik e-posttjänst (typ Hotmail eller gMail),</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/skeptikerforum-stanger-2012-06-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vic 20 software</title>
		<link>http://www.winsoft.se/2011/10/vic-20-software/</link>
		<comments>http://www.winsoft.se/2011/10/vic-20-software/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 19:42:31 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Vic20]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1783</guid>
		<description><![CDATA[The Vic 20 is not dead yet. I just found this lovely site packed with Vic 20 games and tools. To run a game in the Vice emulator, just download the prg file (download link might be hard to find for some of the programs) and autostart it from the File menu in Vice. Happy [...]]]></description>
			<content:encoded><![CDATA[<p>The Vic 20 is not dead yet. I just found <a href="http://www.richardlagendijk.nl/cnp/vic20/index/1/en" target="_blank">this</a> lovely site packed with Vic 20 games and tools. To run a game in the <a href="http://www.viceteam.org/" target="_blank">Vice emulator</a>, just download the prg file (download link might be hard to find for some of the programs) and autostart it from the File menu in Vice. Happy hacking in 176 x 184 pixels!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/10/vic-20-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plotting graphics</title>
		<link>http://www.winsoft.se/2011/10/plotting-graphics/</link>
		<comments>http://www.winsoft.se/2011/10/plotting-graphics/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 19:06:19 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[C128]]></category>
		<category><![CDATA[C64]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1772</guid>
		<description><![CDATA[The Commodore 128 has a nice API for setting graphics mode and plotting graphics, that can be used in 40 column mode. The GRAPHIC command takes a mode (0 to 5) and a &#8220;clear screen flag&#8221;, and changes the current graphics mode. 0 is the 40 column text mode and 1 is the high resolution [...]]]></description>
			<content:encoded><![CDATA[<p>The Commodore 128 has a nice API for setting graphics mode and plotting graphics, that can be used in 40 column mode. The GRAPHIC command takes a mode (0 to 5) and a &#8220;clear screen flag&#8221;, and changes the current graphics mode. 0 is the 40 column text mode and 1 is the high resolution monochrome graphics mode. This program sets a few random pixels on the screen using the DRAW command:</p>
<pre>10 GRAPHIC 1, 1
20 FOR A = 1 TO 100
30 DRAW 1, RND(1) * 320, RND(1) * 200
40 NEXT A</pre>
<p>When the program is run, the text is hidden, so to retain the text cursor, just type GRAPHIC 0 and hit Enter. If you like, you can add this to your program.</p>
<p>The Commodore 64 does not provide any API for graphics, so on the C64 this task is accomplished by <a href="http://www.winsoft.se/2011/03/accessing-individual-bits-on-a-commodore-pet/">manipulating bits</a> in a memory area. You can jump to graphics mode by setting the bit 6 on byte 53265 to 1 and return to text mode by setting it to 0. While plotting, you must make sure you know how to handle bit patterns. The screen area can be located at 8192 if we set a flag for this (bit 4 at byte 53272), like so:</p>
<pre>10 POKE 53272, PEEK(53272) OR 8</pre>
<p>The screen consist of 8000 bytes, so in this case from 8192 to 9191. Then, enter graphics mode:</p>
<pre>20 POKE 53265, PEEK(53265) OR 32</pre>
<p>Now we don&#8217;t have the service to get a clean color map (that is Commodore 128 luxury), so random boxes (8&#215;8 pixels) will have strange colors. No worries, this is expected.</p>
<p>Finally, these lines of code will draw a few horizontal lines in the upper left 8&#215;8 pixel area:</p>
<p><img src="http://www.winsoft.se/wp-content/uploads/c64.jpg" alt="Set graphics mode" title="Set graphics mode" class="alignnone size-thumbnail wp-image-1773" /></p>
<pre>30 POKE 8192, 255
40 POKE 8193, 0
50 POKE 8194, 255
60 POKE 8195, 0
70 POKE 8196, 255
80 POKE 8197, 0
90 POKE 8198, 255
100 POKE 8199, 0</pre>
<p><img src="http://www.winsoft.se/wp-content/uploads/c641.jpg" alt="Click to view" title="C64 high resolution graphics" class="alignnone size-thumbnail wp-image-1775" /></p>
<p>When the program has run, you will not see the text cursor, but to restore everything, type:</p>
<pre>POKE 53272, 21
POKE 53265, 27</pre>
<p>&#8230;and our horizontal lines will be gone and the text cursor is back.</p>
<p><img src="http://www.winsoft.se/wp-content/uploads/c642.jpg" alt="Restoring." title="Restoring." class="alignnone size-thumbnail wp-image-1776" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/10/plotting-graphics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download run.exe</title>
		<link>http://www.winsoft.se/2011/08/download-run-exe/</link>
		<comments>http://www.winsoft.se/2011/08/download-run-exe/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 14:53:36 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1757</guid>
		<description><![CDATA[It takes some clicking and fiddeling to install run.exe, the text based application starter. This post describes what you have to do and also how to use it. There are some arguments that are nice to know: run -p This displays all running processes together with an ID. run -k 1234 This will kill process [...]]]></description>
			<content:encoded><![CDATA[<p>It takes some clicking and fiddeling to install <strong>run.exe</strong>, the text based application starter. <a href="http://www.winsoft.se/2011/08/a-text-based-start-menu/">This post</a> describes what you have to do and also how to use it. There are some arguments that are nice to know:</p>
<pre>run -p</pre>
<p>This displays all running processes together with an ID.</p>
<pre>run -k 1234</pre>
<p>This will kill process with ID 1234 (careful with this). And finally, to display your defined aliases, type:</p>
<pre>run -a</pre>
<p>Download <strong>run.exe</strong> from <a href="http://www.winsoft.se/files/run.zip" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/08/download-run-exe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A text based start menu</title>
		<link>http://www.winsoft.se/2011/08/a-text-based-start-menu/</link>
		<comments>http://www.winsoft.se/2011/08/a-text-based-start-menu/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 21:28:55 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1752</guid>
		<description><![CDATA[Since I have tried everything (including RocketDock), this is what it has come to. I have made a text based start menu! I have my little personal setup with a folder that is handled by Dropbox so that it is available on all my computers. It is also specified in the PATH system variable, so [...]]]></description>
			<content:encoded><![CDATA[<p>Since I have tried everything (including <strong>RocketDock</strong>), this is what it has come to. I have made a text based start menu! I have my little personal setup with a folder that is handled by <strong>Dropbox</strong> so that it is available on all my computers. It is also specified in the <strong>PATH</strong> system variable, so I can access the scripts and programs without specifying the full path to them. The EXE file is called <strong>run</strong>.</p>
<p>Now, I can start <strong>CDBurnerXP</strong> by typing:</p>
<pre>run "C:\Program Files (x86)\CDBurnerXP\cdbxpp.exe"</pre>
<p>Also, passing arguments to programs are also supported, so this will open the a specified web page in </p>
<pre>run "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.winsoft.se/</pre>
<p>This might feel a bit odd, because this command can already be executed from <strong>cmd.exe</strong>, so what does the <strong>run</strong> command actually provide?</p>
<p>In the configuration file, you can point out a file that define aliases. The alias file consists of aliases for any phrase you like. By defining an alias for the <strong>Firefox</strong> path like so:</p>
<pre>#DEFINE ff "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"</pre>
<p>&#8230;you can start <strong>Firefox</strong> and open a specific address like so:</p>
<pre>run ff http://www.winsoft.se/</pre>
<p>And of course, you can add another line to your file to create an alias for the URL you want to visit, like so:</p>
<pre>#DEFINE ff "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
#DEFINE winsoft http://www.winsoft.se/</pre>
<p>Now, all you need to type to open WinSoft.se in <strong>Firefox</strong> is:</p>
<pre>run ff winsoft</pre>
<p>You can also use run to display running programs and close programs. More information and a download link to <a href="http://www.winsoft.se/2011/08/download-run-exe/">come</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/08/a-text-based-start-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A physical C65 in action</title>
		<link>http://www.winsoft.se/2011/08/a-physical-c65-in-action/</link>
		<comments>http://www.winsoft.se/2011/08/a-physical-c65-in-action/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 19:54:47 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[C65]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1750</guid>
		<description><![CDATA[There are some preserved footage of actual Commodore 65 machines out there. This first clip demonstrates some graphics capabilities. Note that you don&#8217;t have to specify the unit number when loading from disk. This clip shows how to use the Commodore 65 in C64 &#8220;fast mode&#8221;.]]></description>
			<content:encoded><![CDATA[<p>There are some preserved footage of actual Commodore 65 machines out there. This first clip demonstrates some graphics capabilities. Note that you don&#8217;t have to specify the unit number when loading from disk.</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/mL4iX_iuBO8" frameborder="0" allowfullscreen></iframe></p>
<p>This clip shows how to use the Commodore 65 in C64 &#8220;fast mode&#8221;.</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/3ub8oKxsJug" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/08/a-physical-c65-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

