Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - jacobly

Pages: 1 2 3 [4] 5 6 ... 14
46
Computer Projects and Ideas / Re: Project Adoption
« on: September 22, 2012, 03:44:33 pm »
I love Ubuntu, am familiar with bash, and love learning new things :D (I can only guarantee having time to do stuff if it's more interesting than all my other projects though :P).

47
The Axe Parser Project / Re: the data in axe...
« on: September 19, 2012, 12:40:31 pm »
:X→{Y}+GBDZ
What this code does is store the value of X into the byte pointed to by Y, and then adds GDBZ to Y and does nothing with it.  I think what you want is X→{Y+GDBZ}. :)

48
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!
« on: September 18, 2012, 03:03:40 am »
Thanks to a suggestion from calc84maniac, I have optimized the routine that is used for both *^ and ** to be 25-50% faster. ;D In addition, every use of *^ would be 2 bytes smaller.

p_MulFull: same size, save 300-550 cycles
Original
Code: [Select]
p_MulFull:
.db __MulFullEnd-1-$
ld c,h
ld a,l
ld hl,0
ld b,16
__MulFullNext:
add hl,hl
rla
rl c
jr nc,__MulFullSkip
add hl,de
adc a,0
jr nc,__MulFullSkip
inc c
__MulFullSkip:
djnz __MulFullNext
ret
__MulFullEnd:
Optimized
Code: [Select]
p_MulFull:
.db __MulFullEnd-1-$
xor a
ld c,h
ld h,a
or l
ld l,h
call nz,__MulFullByte-p_MulFull-1
ld a,c
__MulFullByte:
ld b,8
__MulFullNext:
rra
jr nc,__MulFullSkip
add hl,de
__MulFullSkip:
rr h
rr l
djnz __MulFullNext
ret
__MulFullEnd:
Note: Output changed: hl = bits 16-31 of the result, do rra after the routine returns to get a = bits 8-15 of the result.

49
TI Z80 / Re: [Axe] KoFiX (yet another Guitar Hero clone :P)
« on: September 07, 2012, 01:44:47 pm »
These were recorded directly from the calculator, and they sound pretty close to what it does on-calc.

Edit: It does sound slightly "cleaner" on-calc I guess.

50
ASM / Re: ON break
« on: August 15, 2012, 04:52:47 pm »
The OS didn't actually interrupt your code.  If your code exits with onInterrupt,(iy+onFlags) set, then the break error automatically shows up after your program exits.

Edit: and the flag is automatically set when ON is pressed in B_CALL(_GetKey).

Edit 2: ...so all you have to do is put res onInterrupt,(iy+onFlags) before you return.

51
ASM / Re: ON break
« on: August 15, 2012, 03:28:57 pm »
Get a more complete ti83plus.inc.

52
ASM / Re: ON break
« on: August 15, 2012, 02:33:29 pm »
B_CALL(_GetKey) returns with a = 0 when the ON key is pressed.  In order to use it again you need to res onInterrupt,(iy+onFlags).  Unfortunately, 2nd+ON can still exit the program during a B_CALL(_GetKey).  Fortunately, you can use B_CALL(_GetKeyRetOff) (which is what Axe uses) which returns kOff when 2nd+ON is pressed.  There might still be a link-port-related way to exit the program, but I don't know for sure.

53
TI Z80 / Re: Online TI Token to Unicode Converter
« on: August 14, 2012, 09:06:25 am »
I rewrote this tool in php, so anyone who wants to host it can now.  I also added Deep Thought's suggestion while I was at it.

54
The Axe Parser Project / [Axiom] Text routines
« on: July 03, 2012, 06:17:39 am »
#Axiom(TEXT)
(All commands are in the Vars → Zoom menu.)
Row
EXP→Row

Key:ZXmin
Get or set the current pen row.
Col
EXP→Col

Key:ZXmax
Get or set the current pen column.
Rowr
EXP→Rowr

Key:ZXmin
Get or set the current cursor row.
Colr
EXP→Colr

Key:ZXmax
Get or set the current cursor column.
Str(PTR)
Str(PTR)r
Str(PTR,BUF)


Key:ZXscl
The string that is pointed to is drawn at the current pen location to the main buffer, back buffer, or specified buffer respectively. See Fix 0 and Fix 1 commands for drawing details.
Char(CHAR)
Char(CHAR)r
Char(CHAR,BUF)


Key:ZYmin
The ASCII character is drawn at the current pen location to the main buffer, back buffer, or specified buffer respectively. See Fix 0 and Fix 1 commands for drawing details.
EXP▶Int
EXP▶Intr

Key:ZYmax
Converts the number to an unsigned or signed integer respectively and returns the pointer to that string.
EXP▶Fixed
EXP▶Fixedr

Key:ZYscl
Converts the number to an unsigned or signed 8.8 fixed point number respectively and returns the pointer to that string.
EXP▶Token
Key:ZXres
Converts the 1 or 2 byte token to a string and returns a pointer to that string.
PTR▶Tokenr
Key:ZXres
Converts the 1 or 2 byte token that is pointed to to a string and returns a pointer to that string.
PTR▶Tokenrr
Key:ZXres
Returns the 1 or 2 byte token that is pointed to.

55
The Axe Parser Project / Re: Bug Reports
« on: June 23, 2012, 12:49:51 pm »
The only reason inData( would return the index of the 0, is if you were searching for 0.

Edit: If you wanted 0 if byte is 0, you could do BYTE?inData(,PTR).
Also, I can't help but mention that inData(BYTE,PTR)-29??0,+29 optimizes to inData(BYTE,PTR)-29?+29. ;)

Edit 2: Alternatively, if BYTE can not be 255, you can do inData(BYTE+1,PTR), where every byte in PTR has been incremented by 1.

56
Computer Programming / Re: JList Index
« on: June 09, 2012, 04:39:03 pm »
I can't help with your code without seeing more of it, but here is a complete example.

Spoiler For example:
import java.awt.BorderLayout;
import java.util.Arrays;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class Test extends JFrame implements ListSelectionListener {
   private static final String[] KUBE_NAMES = {
      "Bedrock", "Water", "Dirt", "Grassy Dirt",
      "Rock", "Wood", "Green Leaves", "Old Citronox", "Short Grass",
      "Tall Grass", "Wood Rose", "Mushlite", "Stellar Sand",
      "Creeping Vines", "Hanging Grass", "Cactus", "Citronox",
      "ESCorp Box", "Cracked Rock", "HardRoq", "Pyrite",
      "Cactus Root", "Cactus Flower", "Blue Mineral", "Blue Crystal",
      "Copper", "Hangar Ceiling Lighting", "Copper Arrow",
      "Bound Copper", "Copper Wire Mesh", "Hangar Lighting",
      "Purple Leaves", "Pink Leaves", "Moon Earth",
      "Grassy Moon Earth", "Moon Rock", "Moon Dust", "Lumen Rock",
      "Dead Lumen Rock", "Lumen Rock Column", "Moon Water",
      "Moon Rock Column", "Cracked Moon Rock", "Purple Stain",
      "Pink Stain"
   };
   static {
      Arrays.sort(KUBE_NAMES);
   }

   private JList kube;
   public Test() {
      super("Test");
      setDefaultCloseOperation(EXIT_ON_CLOSE);

      kube = new JList(KUBE_NAMES);
      kube.setVisibleRowCount(5);
      kube.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
      kube.addListSelectionListener(this);

      add(new JScrollPane(kube), BorderLayout.CENTER);

      pack();
      setVisible(true);
   }

   @Override
   public void valueChanged(ListSelectionEvent e) {
      if (!e.getValueIsAdjusting())
         System.out.println(kube.getSelectedIndex());
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         @Override
         public void run() {
            new Test();
         }
      });
   }
}


57
Computer Programming / Re: JList Index
« on: June 08, 2012, 01:28:04 pm »
How does this kube
Code: [Select]
JList kube = new JList(kubes);become this one?
Code: [Select]
kube.getSelectedIndex();Unless you have this.kube = kube; or something, they probably don't reference the same object.

On a side node, creating a ListModel is completely unnecessary when you use that JList constructor.

58
TI Z80 / Re: Axe Emulator
« on: May 24, 2012, 08:52:16 pm »
Update: Axe Emulator now properly emulates memory.

Windows:
  • Download Axe.exe and pthreadGC2.dll.
  • Make sure that the dll is either in the same folder as Axe.exe, or on the path.
  • Just drag-and-drop an .8xp Axe source file on Axe.exe.

Linux:
(Use the old versions if you get GLIBC version errors)

59
Other Calculators / 8xpfix
« on: May 23, 2012, 11:26:40 pm »
8xpfix

link

This program fixes archived 8xp files made with TILP, so that they will work with other software (e.g. Wabbitemu, TI Connect).  To use, just drag-and-drop 8xp files on 8xpfix.exe.  Note: other 8x* files might work too.

60
Axe / Re: Large size font to buffer
« on: May 23, 2012, 05:26:32 pm »
Ignore what I said before...

It seems that putting Asm(FDCB24E6) at the beginning of the program fixes it.

Pages: 1 2 3 [4] 5 6 ... 14