Tuesday, August 17, 2010

Fixes implemented in version 1.03

Just an update on a couple of fixes that I have implemented so far.

1) RDWORD buffer($1C0), temp
Using a hex value as an offset for RDWORD, RDLONG, WRWORD, WRLONG would cause an error.

2) name HUB STRING(10) = "Terry"
Giving a string an initial value didn't work. Now it does.

Bean

Friday, July 23, 2010

PropBasic Libraries Posted In Parallax OBEX

I have posted 4 PropBasic libraries in the Parallax OBEX

http://obex.parallax.com

RFIDRW - Controls Parallax RFID Read/Write module (28440)
TV - Generates 256x192 pixel tv output
VGA - Generates 320x200 4 color VGA output
VGA2 - Generates 320x200 2 color VGA output

I invite you to download them and try them out.

Feedback welcome.

Bean

Tuesday, July 20, 2010

Big Trak toy

Last weekend we went to the 100 mile yardsale in PA.

I picked-up a big trak toy for $1.

I assumed it didn't work and I was prepared to take it apart to put a propeller in it.

To my surprise it DOES work.

Now I have to decided if I want to keep it or hack it ??? Decisions decisions...


Bean

Version 00.01.02

I have finalized version 00.01.02.
Here are the changes:

Fixed: test $,#1 WC ' Set Carry (doesn't work in LMM) I2CWrite
Fixed: COGINIT if taskname doesn't exist crashes
Fixed: Glitch on PinGroup = PinGroup
Fixed: IF pinName THEN
Changed: In LMM use "LONG label * 4" instead of "LONG @label - @__Init"
Changed: Use relative jumps for LMM
SUB __PC,#(($-label)*4)+4 ' Jump backward
ADD __PC,#((label-$)*4)-4 ' Jump forward

I will edit this post with a link to the new file when BradC gets it posted.

GET IT HERE

Scroll to bottom of list.


Bean

Monday, July 19, 2010

Thanks to Kuroneko for a solution to the LMM flag problem.

The Parallax forum user Kuroneko posted a solution to my problem with flag setting intruction when using LMM.

Here is his solution:


set_z_c cmpsub 0, 0 wz,wc,nr
set_z_nc neg 0, #0 wz,wc,nr
set_nz_nc neg 0, #1 wz,wc,nr

set_nz_c cmp reg, #1 wz,wc ' reg holding NULL, e.g. par
cmpsub reg, #0 wz,wc ' reg holding non-NULL value


Now I just need to implement these and post a new version of PropBasic.

Bean

Wednesday, July 14, 2010

Found a bug in I2CWRITE command when using LMM

I found a bug in the I2CWRITE command when using LMM.
The generated PASM code uses:

ror $,#1 ' Set Carry

But "$" is usually greater than $1FF in LMM, so this line throws an error and won't work to set the carry flag.

I'll have to try to figure out some other way to set the carry flag in LMM that only uses one instruction. If you know of a way to do it, please write a comment. If I can't figure something out, I'll ask in the Parallax Forums.

Bean

Just started a blog for PropBasic

I decided to create this blog to keep users up to date about PropBasic developments and to answer any questions you may have about PropBasic.

I'll blog about updates and new features. I may even ask what you users think about a potential new feature to see if it is needed/wanted.

Thanks for visiting, if you have any questions please leave a comment.

Bean