flat assembler
Message board for the users of flat assembler.

Index > Heap > *UPGRADE* TI-89 ConeHead Chip Image

Author
Thread Post new topic Reply to topic
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
*NEW VERSION* TI-89 ConeHead Chip Image
www.members.tripod.com/cpu_bios/

======================
ConeHead for the TI-89/92/Voyage 200
By Shawn T. Cook
======================
Many new source codes.
If you are upgrading replace your
old \conehead folder with this one.
Requires NoteFolio App.
======================
Note the TI-89 has less storage
space than the TI-Voyage 200
so If you get disk full you will
need to upgrade to a bigger
calculator.
======================
WHATS.NEW
(1) anything()
(2) surgery()
(3) lots more in 'info' NoteFolio
(huge upgrade)
(4) deleted fever()
======================

Code:

=================================================
TI-89 CALCULATOR GUIDE BOOK BY S.T.C.
=================================================
THE PROGRAM EDITOR
F1 TOOLS
Open = Open a Program Editor Source Code.
Save Copy As = Save current program as any file name.
New = Start a new program.
Cut = Cut selected text to clip board.
Copy = Copy selected text to clip board.
Paste = Paste data from clip board.
Delete = Delete selected text.
Clear Editor = Completely clear entire editor.
=================================================
F2 CONTROL

If Expression 
statement
-------------------------------------------------
If Expression Then
block 
EndIf
-------------------------------------------------
If Expression Then
block 1
Else
block 2
EndIf
-------------------------------------------------
If expression Then
block1
ElseIf expression Then
block2
...
ElseIf expression Then
blockN
EndIf
-------------------------------------------------
Try
block1
Else
block2
EndTry
Executes block1 unless an error occurs...Error in block1
will mean execute block2. errornum returns error code.
-------------------------------------------------
when(condition, trueResult [, falseResult] 
[,unknown result]) -> expression
Returns Results for true, false, or unknown conditions.
-------------------------------------------------
For var, low, high [,step]
block
EndFor
Count var from low to high executing block each step to 
finish at high. Add step amount to var each cycle.
-------------------------------------------------
While condition
block
EndWhile
Execute block as long as condition is true.
-------------------------------------------------
Loop
block
EndLoop
Loop eldlessly or until a Goto or Exit.
-------------------------------------------------
Custom
Title "Lists"
Item "Lists1"
Item "Lists2"
EndCust
Create [CUSTOM] key toolbar. Keep adding Titles and Items.
-------------------------------------------------
-------------------------------------------------
Transfers...
Pause expression
Pause and display optional expression.
-------------------------------------------------
Return [expression]
Returns an expression from a Function.
-------------------------------------------------
Cycle
Transfer program control immediately to the next
iteration of For, While, Loop.
-------------------------------------------------
Stop
End your program. Stop it's execution.
-------------------------------------------------
Exit
Exit current For, While, Loop block.
=================================================
F3 I/O
-------------------------------------------------
Dialog...
-------------------------------------------------
Text Message
Displays text in a dialog box.
-------------------------------------------------
Request Prompt Var [,Alpha On/Off]
Input Box. Edit string in Var. 20 character max.
Alpha On/Off can be 1 or 0 to set Alpha Lock
-------------------------------------------------
PopUp ItemList, Var
Popup menu of strings to select. Stores selected string
number in Var. ItemList format is {String1, String2, String3 ...}
Previously existing Var with a Valid Number = default choice.
ItemList must contain at least one item.
-------------------------------------------------
DropDown Title, {string1, ..., stringN}, Var
Display drop down menu with Name Title containing menu
of strings with numbers starting at 1. Must be in a 
Dialog...EndDlog block. Previously existing Var with a 
Valid Number = default choice. Returns string number.
-------------------------------------------------
Dialog
block
EndDlog
Generate Dialog Box when Program is Executed. Separate
statements with ":" character. 
-------------------------------------------------
ToolBar
Title "TitleString"
Item "Item#1", Label1
...
Item "Item#N", Labeln
EndTBar
Create a ToolBar Menu. Statements in block can only be title
and item. Selecting Item Jumps to Label.
-------------------------------------------------
Title String
Item Text, Label
Set the Title and Strings of Dialog Menus.
-------------------------------------------------
-------------------------------------------------
Input Prompt, Var
Display Prompt and Read Number or Expression from Keyboard.
-------------------------------------------------
InputStr Prompt, Var
Read a string from keyboard. Ask for Input. Store in Var as
a string auto " and ".
-------------------------------------------------
Prompt Var1, Var2, ..., VarN
Read Keyboard Input for each Variable in List.
-------------------------------------------------
Output Row, Col, StringOrExpression
Display text at coordinates. Pretty Prints if Pretty
Print is ON.
-------------------------------------------------
getKey() -> IntegerVar
Read Key Code into IntegerVar and Pass Through.
-------------------------------------------------
-------------------------------------------------
Link...
Send list (Send list to Link Port)
Get Var (Get Variable from Link Port)
SendCalc (Send Variable to Link Port Listening GetCalc)
GetCalc Var [,Port] (Link/Send on Link Port to TI-89)
Port 1 = USB Port 2  = I/O
SendChat Var (SendCalc alternative)
=================================================
F4 Var
Define FunctionName(arg1,arg2,...argN) = expression
(Create Function to Solve Sxpression using Entered Variables)
DelVar Var1, ..., VarN
(Delete Variables from Memory)
Local Var1, ... ,VarN
(Create Variables that Auto Delete when Program is Done)
Func...EndFunc
(First Command as a Function Block)
Prgm...EndPrgm
(First Command as a Program Block)
Lock Var1, [Var2] ...
Write Protect Variables.
Unlock Var1, [Var2] ...
Remove Write Protection from varables.
Archive  Var1, [Var2] ...
Save Variables to Locked Memory RAM.
Unarchiv  Var1, [Var2] ...
Load Variables From Locked Memory RAM.
=================================================
F6 Mode
Graph
Display Digits
Exponential Format
Complex Format
Vector Format
Pretty Print
Split Screen
Split 1 App
Split 2 App
Number of Graphs
Graph 2
Exact/Approx
Base
Apps Desktop
=================================================
=================================================
[CATALOG] CODES
mid(String,start,count) -> string
Extract data from String starting at byte for count amount of bytes.
-------------------------------------------------
ClrIo
Clear the screen. Refresh display.
-------------------------------------------------
Lbl LabelName
Define a Label. You can Goto a LabelName.
-------------------------------------------------
Goto LabelName
Goto a Label created by Lbl. Continues program execition at LabelName.
-------------------------------------------------
rand()->x
x*y->x
int(x)->x
This code generates a random number between 0 and y
-------------------------------------------------
DispHome
Displays the current contents of the home screen.
-------------------------------------------------
DispG
Display the current graph. Example draw graph sin y1 and x.
-------------------------------------------------
String1 & String2 -> String3
Unite two strings. Join strings together.
=================================================

    


Last edited by mbr_tsr on 08 Mar 2014, 18:38; edited 6 times in total
Post 17 Feb 2014, 00:51
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
i wrote 2 books for the TI-89/92/Voyage 200 i just started my second book today...adding more to the first....by Spring They will be Done! First i made a complete NICE Map of the TI Program Editor...Next I am making a MAP of everything in the HOME screen Pull Down Menu...So it will have Program Editor/Home as a .txt file users guide...because the TI didn't come with them it is my job...And my TI89CONE.ZIP in my LuvBugz OS is ConeHead...So Soon You will have really nice book for your TI, I am making in a .txt file....plus they have a TI89 for Dummies Book to Get for It, and we can start a big TI crew...apps.
Post 17 Feb 2014, 01:45
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
Post 17 Feb 2014, 02:19
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
this i can do......
===================================================
the zaps(x) program for the TI-89/92/Voyage 200
Only for people who want to do all 15 binary zaps.
Requires TeaPot binary.txt or latest W++ document.
By Shawn T. Cook
===================================================
https://drive.google.com/file/d/0B0aPGoR-azFrVE9TSkh5M2k5ak0/edit?usp=sharing
Post 19 Feb 2014, 21:10
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
i just added the part that said:
String1 & String2 -> String3
Unite two strings. Join strings together.
To the tutorial. The & symbol unites strings,
i learned through trial and error + didn't work.
Post 19 Feb 2014, 21:48
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
TYPE THIS INTO YOUR TI-89:
virus()
Prgm
Disp "error: evil virus found"
Lbl ooo
Pause "logic malfunction"
DispHome
Pause
Goto ooo
EndPrgm
Post 21 Feb 2014, 20:19
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4903
mbr_tsr
*NEW* ConeHead for the TI-89/92/Voyage 200 Updated 02/23/2014 found out that text files in my TI-89 are really .RTF files that from the PC i used to to create the docs for this ---> www.members.tripod.com/cpu_bios/
Post 23 Feb 2014, 22:06
View user's profile Send private message Reply with quote
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal
Hey, Shawn. Is this BASIC for TI-89? I wonder if there's a (easy) way to transfer Motorola 68k assembler to it. Here's some experimental 68k code written for EASy68k assembler+simulator:
Code:
;;;;;;;;;;;;;;;;;;; EASY 68K ;;;;;;;;;;;;;;;;;;;;;

; template for Easy68k assembler+simulator.
; search google. supports file I/O, mouse/key
; input and graphics

; to test, press F9 or click "Assemble" (right
; arrow). in the message box that appears,
; click Execute. in Sim68k, press F9 or "Run"

; warning: in some older assemblers, certain
; lines MUST be indented by 2+ spaces or it
; will display an error: "Invalid opcode"

; see Help > Simulator I/O and "Jimmy Mardells
; 68000 reference"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

START ORG $1000
    
  lea text, a1   
  move #14, d0  ; task=14, display text at a1
  trap #15
   
SIMHALT

; <functions here>

text dc.b 'EXAMPLE', 0

  END     START

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

START ORG $1000
  
  bsr test_memset
  bsr newl
  bsr test_memcpy
  bsr newl
  bsr test_strcpy
  bsr newl
  bsr test_strlen

SIMHALT

; push/pop all except a7/sp.
; movem.l=load/store multiple

pusha macro
  movem.l d0-d7/a0-a6, -(a7)
  endm

popa macro
  movem.l (a7)+, d0-d7/a0-a6
  endm

; memcpy(a0, a1, d0)

memcpy:   
  cmp.l #4, d0         ; d0<4?
  blo mc8
  movem.l d0, -(a7)    ; push d0
  lsr.l #2, d0         ; n/4
  mc32:
   move.l (a1)+, (a0)+ ; (u32) *a0++=*a1++
   sub.l #1, d0        ; until 0
  bne mc32
  movem.l (a7)+, d0    ; pop d0
  and.l #3, d0         ; modulo 4
  mc8:
   move.b (a1)+, (a0)+ ; (u8) *a0++=*a1++
   sub.l #1, d0        ; until 0
  bne mc8
  mce:
  rts                  ; return

; memset8(a0, d0, d1)
  
memset8:   
  cmp.l #0, d1         ; d0=0?
  beq ms8e
  ms8:
   move.b d0, (a0)+    ; (u8) *a0++=d0
   sub.l #1, d1        ; until 0
  bne ms8
  ms8e:
  rts                  ; return

; memset16(a0, d0, d1)
  
memset16:
  cmp.l #0, d1         ; d0=0?
  beq ms16e
  ms16:
   move.w d0, (a0)+    ; (u16) *a0++=d0
   sub.l #1, d1        ; until 0
  bne ms16
  ms16e:
  rts                  ; return

; memset32(a0, d0, d1)
  
memset32:
  cmp.l #0, d1         ; d0=0?
  beq ms32e
  ms32:
   move.l d0, (a0)+    ; (u32) *a0++=d0
   sub.l #1, d1        ; until 0
  bne ms32
  ms32e:
  rts                  ; return

; strlen(a0); return in d0

strlen:
  move.l #0, d0
  sl:
   move.b (a0)+, d1    ; (u8) d1=*a0++
   add.l #1, d0        ; d0++
   cmp.b #0, d1        ; until 0
  bne sl
  sub.l #1, d0         ; d0--
  rts                  ; return

; strcpy(a0, a1)

strcpy:
  move.b (a1)+, d0     ; (u8) d0=*a1++
  move.b d0, (a0)+     ; *a0++=d0
  cmp.b #0, d0         ; until 0   
  bne strcpy           ; copy
  rts                  ; return

; new line

newl:
  lea crlf, a1         ; new line
  move #14, d0         ; task=14, display text at a1
  trap #15             ; irq
  rts                  ; return

; testing...

test_memcpy:
  lea buffer, a0       ; a0=&buffer
  lea text, a1         ; a1=&text
  move.l #11, d0       ; d0=#
  bsr memcpy           ; copy
  lea buffer, a1       ; a1=&buffer
  move #14, d0         ; task=14, display text at a1
  trap #15             ; irq
  rts                  ; return

test_memset:
  lea buffer, a0       ; a0=&buffer ; initialize
  move.l #0, d0        ; d0=value
  move.l #128, d1      ; d1=#
  bsr memset8
  lea buffer, a0       ; a0=&buffer ; copy 7 A's
  move.l #$41, d0      ; d0=value
  move.l #7, d1        ; d1=#
  bsr memset8
  lea buffer, a1       ; a1=&buffer
  move #14, d0         ; task=14, display text at a1
  trap #15             ; irq
  rts                  ; return
  
test_strlen:
  lea text, a0         ; a0=&text
  bsr strlen           ; length
  move.l d0, d1        ; d1=d0
  move #3, d0          ; task=3, display number in d1
  trap #15             ; irq
  rts                  ; return

test_strcpy:
  lea buffer, a0       ; a0=&buffer
  lea text, a1         ; a1=&text
  bsr strcpy           ; copy
  lea buffer, a1       ; a1=&buffer
  move #14, d0         ; task=14, display text at a1
  trap #15             ; irq
  rts                  ; return

  ORG   (*+3)&-4       ; align

buffer ds.b 128
number dc.l 1234567
text dc.b 'EXAMPLE123', 0
crlf dc.b $0D, $0A, 0

  END     START

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; example function with parameters

      offset  4+4     ; parameters
sum   ds.l    1 
n2    ds.l    1 
n1    ds.l    1 
      org     *       ; end offset

adder:
  link a0, #0         ; create stack frame
  move.l d0, -(sp)    ; save d0
  move.l (n1,a0), d0  ; access n1 parameter
  add.l (n2,a0), d0   ; add n2 parameter
  move.l d0, (sum,a0) ; store result
  move.l (sp)+, d0    ; restore d0
  unlk a0             ; destroy stack frame
  rts    
You can also test 68k code on Sega Genesis/Mega-Drive and Neo Geo emulators.

New: [ARM] OS/Graphics/UI. Magic-Compiler+Emulator. 7 Examples
Post 07 Mar 2014, 17:41
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.