<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to feature-requests</title><link href="https://sourceforge.net/p/drake-devkit/feature-requests/" rel="alternate"/><link href="https://sourceforge.net/p/drake-devkit/feature-requests/feed.atom" rel="self"/><id>https://sourceforge.net/p/drake-devkit/feature-requests/</id><updated>2005-10-13T17:04:09Z</updated><subtitle>Recent changes to feature-requests</subtitle><entry><title>Add direct flash memory access opcode(s).</title><link href="https://sourceforge.net/p/drake-devkit/feature-requests/3/" rel="alternate"/><published>2005-10-13T17:04:09Z</published><updated>2005-10-13T17:04:09Z</updated><author><name>Maarten Hofman</name><uri>https://sourceforge.net/u/cashimor/</uri></author><id>https://sourceforge.net909c6824bc40ec0c169f18dd43ec9ae3f4a9c822</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Similar to the internal EEPROM opcodes, we will need &lt;br /&gt;
ways to modify at least part of the internal flash &lt;br /&gt;
memory, say the top 4 KB of the 16F877(A). Basically &lt;br /&gt;
this calls for a read and a write instruction. Apart from &lt;br /&gt;
these, the run routine from internal EEPROM call should &lt;br /&gt;
be extended to also allow running code from the internal &lt;br /&gt;
flash memory in the same way, and extend it in such a &lt;br /&gt;
way that assembly level routines can be called as well. &lt;br /&gt;
Note that the latter would require storing 14-bit values, &lt;br /&gt;
and the former only needs 8-bit values. Basically most &lt;br /&gt;
of this could be controlled using the 16-bit mode field, &lt;br /&gt;
but this might not be transparant to the user.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Add graphical features to graphical LCD.</title><link href="https://sourceforge.net/p/drake-devkit/feature-requests/2/" rel="alternate"/><published>2005-10-13T01:43:24Z</published><updated>2005-10-13T01:43:24Z</updated><author><name>Maarten Hofman</name><uri>https://sourceforge.net/u/cashimor/</uri></author><id>https://sourceforge.net1ec79b59c7132ad28374a78237c327bcb449e043</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Currently the graphical LCD is used in 44780&lt;br /&gt;
compatibility mode, which allows only text and user&lt;br /&gt;
defined graphics at a 6-point font width. However, the&lt;br /&gt;
Drake 3 LCD display has a large number of graphical&lt;br /&gt;
capabilities, and can be used as additional memory. A&lt;br /&gt;
way needs to be devised that allows easy and fast&lt;br /&gt;
access to this memory. There are a number of ways this&lt;br /&gt;
can be accomplished:&lt;/p&gt;
&lt;p&gt;1) Define loadgfx and storegfx instructions, that load&lt;br /&gt;
and store data at a speficied address.&lt;br /&gt;
2) Use the local cursor pointer of the LCD display, and&lt;br /&gt;
create a way to move this to a different location. The&lt;br /&gt;
regular print commands could then be used to write&lt;br /&gt;
things to the LCD, though new instructions should be&lt;br /&gt;
introduced for reading.&lt;br /&gt;
3) Even more advanced would be to place the LCD in a&lt;br /&gt;
special writing mode, so that large amounts of data can&lt;br /&gt;
be written to it with the least amount of accesses.&lt;br /&gt;
4) It could be implemented similarly to the TV and&lt;br /&gt;
alphanumeric LCDs, by extending the prc/prd commands.&lt;br /&gt;
5) Graphics commands could be written around the&lt;br /&gt;
"graphics" bytecode, which allows for drawing&lt;br /&gt;
lines/circles et cetera. This would be combined with&lt;br /&gt;
implementation of the plot command.&lt;br /&gt;
6) A combination of the above.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Write local assembler.</title><link href="https://sourceforge.net/p/drake-devkit/feature-requests/1/" rel="alternate"/><published>2005-10-13T01:38:28Z</published><updated>2005-10-13T01:38:28Z</updated><author><name>Maarten Hofman</name><uri>https://sourceforge.net/u/cashimor/</uri></author><id>https://sourceforge.netcc5871cdd0922497ca9fe8b5fae5075c63b28e2a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;It would be nice if the system had a cartridge that&lt;br /&gt;
would contain a text editor that could edit text(s)&lt;br /&gt;
stored on that same cartridge, which could then be&lt;br /&gt;
assembled to a fixed location which could be executed.&lt;br /&gt;
Basically this would involve:&lt;/p&gt;
&lt;p&gt;1) creating a text editor (e.g. a line editor, of which&lt;br /&gt;
the lines are stored in a linked list)&lt;br /&gt;
2) creating a file system to store the text files on&lt;br /&gt;
the cartridge (though it can start with allowing only&lt;br /&gt;
one text file)&lt;br /&gt;
3) creating an assembler that can assemble the text&lt;br /&gt;
file into bytecode and store it at a fixed location&lt;br /&gt;
4) creating a method to select between the text editor,&lt;br /&gt;
the assembler and running the assembled code.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>