<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Awesome C64 visual debugger</title>
	<atom:link href="http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/feed/" rel="self" type="application/rss+xml" />
	<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/</link>
	<description>Embedded security, crypto, software protection</description>
	<lastBuildDate>Tue, 16 Mar 2010 03:16:39 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/#comment-5303</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Tue, 15 Sep 2009 01:12:14 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=413#comment-5303</guid>
		<description>Nice. I was pleased to find that gdb has built-in overlay support also. It automatically switches symbols when the overlay is reloaded.</description>
		<content:encoded><![CDATA[<p>Nice. I was pleased to find that gdb has built-in overlay support also. It automatically switches symbols when the overlay is reloaded.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/#comment-5299</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 11 Sep 2009 21:09:11 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=413#comment-5299</guid>
		<description>The NES emulator FCEUX (http://fceux.com/) has the best disassembly/debugging tools I&#039;ve ever seen.  Assembly viewer, breakpoints, real-time memory display, real-time memory editing (including both working RAM and the game itself), RAM address freezing, graphical memory viewer (including palettes, tilesets and backgrounds), trace logger, code/data logger (which tracks whether bytes are run as code or read as data), and more.  One of the only drawbacks is that the NES used a lot of bank-switching because it could only load 32K of the program into memory at a time, so you have to keep track of which part of the ROM file an address is referring to, but they have some ways of making that easier.</description>
		<content:encoded><![CDATA[<p>The NES emulator FCEUX (<a href="http://fceux.com/" rel="nofollow">http://fceux.com/</a>) has the best disassembly/debugging tools I&#8217;ve ever seen.  Assembly viewer, breakpoints, real-time memory display, real-time memory editing (including both working RAM and the game itself), RAM address freezing, graphical memory viewer (including palettes, tilesets and backgrounds), trace logger, code/data logger (which tracks whether bytes are run as code or read as data), and more.  One of the only drawbacks is that the NES used a lot of bank-switching because it could only load 32K of the program into memory at a time, so you have to keep track of which part of the ROM file an address is referring to, but they have some ways of making that easier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian</title>
		<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/#comment-5286</link>
		<dc:creator>Julian</dc:creator>
		<pubDate>Fri, 11 Sep 2009 03:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=413#comment-5286</guid>
		<description>I agree that emulator programming is interesting and a good way to start out.

Another good processor to look into is the Z80. The Sega Master System was based on this, and if you check out SMS Power.org there are good tech notes, and the SMS emulator Meka has a nice memory debugger built into, too.</description>
		<content:encoded><![CDATA[<p>I agree that emulator programming is interesting and a good way to start out.</p>
<p>Another good processor to look into is the Z80. The Sega Master System was based on this, and if you check out SMS Power.org there are good tech notes, and the SMS emulator Meka has a nice memory debugger built into, too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/#comment-5281</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Tue, 08 Sep 2009 16:11:15 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=413#comment-5281</guid>
		<description>Saverio, any low-level system is probably a good choice. What I would not recommend is choosing one with artificial restrictions like x86 16-bit mode segmentation.

I don&#039;t recommend even modern 32-bit x86 as a programmer&#039;s first system-level assembly environment due to its terrible artifacts. Anyone who has ever parsed the IDT will know what I&#039;m talking about here.

The C64 has a lot going for it. Other than the limited number of registers and no MMU, the 6502 has most assembly features of modern CISC architectures. It comes with a flat 64k RAM if you disable the memory-mapped devices. You can poll or interrupt on raster lines, making it a great way to get a feel for realtime programming.

The best way to learn assembly is probably in an emulator. I think the C64 is a good option, but any basic game system emulator (not Playstation 2 or newer) is probably a good choice.</description>
		<content:encoded><![CDATA[<p>Saverio, any low-level system is probably a good choice. What I would not recommend is choosing one with artificial restrictions like x86 16-bit mode segmentation.</p>
<p>I don&#8217;t recommend even modern 32-bit x86 as a programmer&#8217;s first system-level assembly environment due to its terrible artifacts. Anyone who has ever parsed the IDT will know what I&#8217;m talking about here.</p>
<p>The C64 has a lot going for it. Other than the limited number of registers and no MMU, the 6502 has most assembly features of modern CISC architectures. It comes with a flat 64k RAM if you disable the memory-mapped devices. You can poll or interrupt on raster lines, making it a great way to get a feel for realtime programming.</p>
<p>The best way to learn assembly is probably in an emulator. I think the C64 is a good option, but any basic game system emulator (not Playstation 2 or newer) is probably a good choice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saverio M.</title>
		<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/#comment-5278</link>
		<dc:creator>Saverio M.</dc:creator>
		<pubDate>Thu, 03 Sep 2009 14:04:32 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=413#comment-5278</guid>
		<description>Honestly, I don&#039;t find the 6502 programming very educational.
Don&#039;t misunderstand: just this year I purchased the C64 machine language programming book, thinking it would have been very interesting and useful.
I think it is been definitively interesting, but not so useful: the problems of that kind of architecture sets are too far from today&#039;s ones, and they are far from today&#039;s low level programming perspective too.
A very restricted instruction set, specifically, creates a set of problems that nowadays are obsolete. They say that learning a very reduced instruction set is easy. It definitively is, but learning it is a thing, using it is totally another.

I wonder now which could be an educational low-level architecture/field.
Paradoxically, I find that a very educational field could be 80x86 anti/virus programming, though the virus programming is obviuosly full of bad implications.
Of course, I don&#039;t endorse virus programming in any way.</description>
		<content:encoded><![CDATA[<p>Honestly, I don&#8217;t find the 6502 programming very educational.<br />
Don&#8217;t misunderstand: just this year I purchased the C64 machine language programming book, thinking it would have been very interesting and useful.<br />
I think it is been definitively interesting, but not so useful: the problems of that kind of architecture sets are too far from today&#8217;s ones, and they are far from today&#8217;s low level programming perspective too.<br />
A very restricted instruction set, specifically, creates a set of problems that nowadays are obsolete. They say that learning a very reduced instruction set is easy. It definitively is, but learning it is a thing, using it is totally another.</p>
<p>I wonder now which could be an educational low-level architecture/field.<br />
Paradoxically, I find that a very educational field could be 80&#215;86 anti/virus programming, though the virus programming is obviuosly full of bad implications.<br />
Of course, I don&#8217;t endorse virus programming in any way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate Lawson</title>
		<link>http://rdist.root.org/2009/08/11/awesome-c64-visual-debugger/#comment-5275</link>
		<dc:creator>Nate Lawson</dc:creator>
		<pubDate>Tue, 01 Sep 2009 16:43:49 +0000</pubDate>
		<guid isPermaLink="false">http://rdist.root.org/?p=413#comment-5275</guid>
		<description>Thanks, I&#039;ve added a link to this. Hope you keep maintaining and improving it.</description>
		<content:encoded><![CDATA[<p>Thanks, I&#8217;ve added a link to this. Hope you keep maintaining and improving it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
