Author Topic: T4x asm documentation  (Read 27428 times)

0 Members and 1 Guest are viewing this topic.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: T4x asm documentation
« Reply #15 on: July 24, 2011, 08:08:06 am »
That screenshot is such a TI fail -.-

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: T4x asm documentation
« Reply #16 on: July 24, 2011, 01:15:34 pm »
Wow, goplat, thank you. That looks like enough information to finish my disassembler. I feel like what you did was a lot easier than calc84 and I's guessing method. :P

Edit:
   Goplat, I need some clarification on some of the opcodes.
  • What is block add?
  • When you shift, what are the arguments?


But other than that, I think I understood the rest.

Edit2:
  Your push/pops are wrong. It should be:
Code: [Select]
111111---22----- 1 -- push regpair[f2*2]

Also, the registers are:
Code: [Select]
4 bit:
f a l h e d p b
000 001 010 011 100 101 110 111

8 bit:
af hl de bp
00 01 10 11

Edit3:
   I'm just going to keep editing until someone responds (as I find new information of course).

7800 and 7C00 also have the same format as push/pop, so in the list they are wrong.

Edit4:
   Based on your system, what would 3EE0 be? I have no idea.
« Last Edit: July 24, 2011, 03:29:53 pm by thepenguin77 »
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline Goplat

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 289
  • Rating: +82/-0
    • View Profile
Re: T4x asm documentation
« Reply #17 on: July 24, 2011, 03:35:15 pm »
  Goplat, I need some clarification on some of the opcodes.
  • What is block add?
It does multiple add-with-carries in a loop, so you can add multi-nybble numbers easily. Basically:
do {
   adc WRam[H:L], WRam[f3:L]
   inc L
   dec A
} while (A != 0)

Quote
  • When you shift, what are the arguments?
Field 4 specifies the destination register, field 3 the source register, field 2 the shift count minus 1.

Quote
Edit2:
  Your push/pops are wrong. It should be:
Code: [Select]
111111---22----- 1 -- push regpair[f2*2]
Actually the emulator does allow the use of the "high registers" (8-63) in push/pop, and even allows a register pair that starts on an odd-numbered register (although that's probably just a bug)

Quote
Edit4:
   Based on your system, what would 3EE0 be? I have no idea.

Store register 46 to memory. I can't find anything about register 46 though.
« Last Edit: July 24, 2011, 03:41:52 pm by Goplat »
Numquam te deseram; numquam te deficiam; numquam circa curram et te desolabo
Numquam te plorare faciam; numquam valedicam; numquam mendacium dicam et te vulnerabo

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: T4x asm documentation
« Reply #18 on: July 24, 2011, 03:55:02 pm »
This is pretty cool. I'll be floored if you guys manage to find a way to execute code on these. ;D

Offline ben_g

  • Hey cool I can set a custom title now :)
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +125/-4
  • Asm noob
    • View Profile
    • Our programmer's team: GameCommandoSquad
Re: T4x asm documentation
« Reply #19 on: July 24, 2011, 04:00:12 pm »
do those calcs actually have a port to send programs to them? You don't have anything abouth programs for that calc when you can't send them to it.
My projects
 - The Lost Survivors (Unreal Engine) ACTIVE [GameCommandoSquad main project]
 - Oxo, with single-calc multiplayer and AI (axe) RELEASED (screenshot) (topic)
 - An android version of oxo (java)  ACTIVE
 - A 3D collision detection library (axe) RELEASED! (topic)(screenshot)(more recent screenshot)(screenshot of it being used in a tilemapper)
Spoiler For inactive:
- A first person shooter with a polygon-based 3d engine. (z80, will probably be recoded in axe using GLib) ON HOLD (screenshot)
 - A java MORPG. (pc) DEEP COMA(read more)(screenshot)
 - a minecraft game in axe DEAD (source code available)
 - a 3D racing game (axe) ON HOLD (outdated screenshot of asm version)

This signature was last updated on 20/04/2015 and may be outdated

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: T4x asm documentation
« Reply #20 on: July 24, 2011, 04:21:28 pm »
No, they don't have any sort of data port. I don't think any of them have any sort of programability built in either. If I remember correctly they are all scientific calcs.

Offline Goplat

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 289
  • Rating: +82/-0
    • View Profile
Re: T4x asm documentation
« Reply #21 on: July 24, 2011, 06:58:30 pm »
List of all the high registers I could find that have special meaning to the emulator:
Code: [Select]
8-9: Stack pointer. Emulator masks off bits 0 and 7 when modified. References memory from 080 to 0FF
10-11: Bit 1: Enable ON key interrupt
Bit 2: Enable timer 1
Bit 3: Enable timer 2
Bit 4: Enable key press interrupt
Bit 5: Enable DMA complete interrupt
12-13: Bits 0-5: Select keypad rows
16-17: Bits 0-7: Bit set when key pressed
22: Bit 1: Set to start LCD update
23: Bit 0: Set to enable DRam bank/address auto-increment or decrement on access to 30-31
Bit 1: If set, DRam bank/address auto-decrements, otherwise auto-increments
24: Bit 0: Allow access to DRam banks 0-D
Bit 1: Allow access to DRam banks E-F
27: DRam bank
28-29: DRam address
30-31: DRam data. Access as a pair to read or write a byte
32-33: Bits 0-7: Key press interrupt column mask
40-41: Bit 0: ON key interrupt active
Bit 1: Timer 1 interrupt active
Bit 2: Timer 2 interrupt active
Bit 3: Key pressed interrupt active
Bit 4: DMA interrupt active
Bit 5: LCD interrupt active
42: Bits 0-1: Timer 1 interval
00 = 350000 TStates
01 = 350000 TStates
02 = 350000 TStates
03 = 350000 TStates (...yes, they're all the same)
Bit 2: Timer 1 interrupt enable
43: Bits 0-1: Timer 2 interval
00 = 6000 TStates
01 = 6000 TStates
02 = 6000 TStates
03 = 6000 TStates (...ditto)
Bit 2: Timer 2 interrupt enable
44: Bit 0: Set to enable timers
47: Bit 0: ON key pressed
Bit 3: Enable interrupt on ON key
48-50: DRam DMA byte count (000-7FF)
51: DRam DMA source bank
52-53: DRam DMA source address
56: DRam DMA bit shift count (0-7)
58: Bit 0: Set to start DMA; cleared when done
Bit 3: Interrupt when complete
59: DRam DMA destination bank
60-61: DRam DMA destination address
« Last Edit: July 24, 2011, 06:58:52 pm by Goplat »
Numquam te deseram; numquam te deficiam; numquam circa curram et te desolabo
Numquam te plorare faciam; numquam valedicam; numquam mendacium dicam et te vulnerabo

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: T4x asm documentation
« Reply #22 on: July 25, 2011, 05:41:17 pm »
Here's the disassembler, have fun.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline critor

  • Editor
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2079
  • Rating: +439/-13
    • View Profile
    • TI-Planet
Re: T4x asm documentation
« Reply #23 on: August 01, 2011, 07:15:31 am »
Finally thePenguin77, did you find any hidden self test menu/program or something like that in the 5 available ROMs?
« Last Edit: August 01, 2011, 07:15:51 am by critor »
TI-Planet co-admin.

Offline GinDiamond

  • LV3 Member (Next: 100)
  • ***
  • Posts: 71
  • Rating: +2/-2
  • I dont always fail at life, but when I do, I dont
    • View Profile
Re: T4x asm documentation
« Reply #24 on: September 24, 2013, 09:07:25 pm »
*bump*

Is there a way to load programs/os's to the flash by means of Arduino and wires?

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: T4x asm documentation
« Reply #25 on: September 25, 2013, 08:50:42 pm »
I just took apart my TI-34 multiview, and although I can't speak for the others, I definitely don't think you can load programs onto this. The circuit board is just a cheap little thing with the processor buried under epoxy. There are only two exposed pieces of copper on the board and they are little circles that are probably just connected to ground. I don't see anywhere on this board where you would be supposed to connect a programmer.

I did find an LED though, if someone could find a way to light that, that would be cool.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline benedikt.muessig

  • LV2 Member (Next: 40)
  • **
  • Posts: 35
  • Rating: +2/-0
    • View Profile
    • My homepage
Re: T4x asm documentation
« Reply #26 on: October 22, 2015, 05:45:10 pm »
I guess no more progress has been made, has it?
Maybe I will look into it too.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: T4x asm documentation
« Reply #27 on: October 22, 2015, 07:20:00 pm »
Yea, doesn't look like. Last post was a couple years ago. Some pretty talented people already took a crack at this, so I'm not sure you'll have much luck either.

Offline benedikt.muessig

  • LV2 Member (Next: 40)
  • **
  • Posts: 35
  • Rating: +2/-0
    • View Profile
    • My homepage
Re: T4x asm documentation
« Reply #28 on: February 29, 2016, 04:40:39 am »
Yea, doesn't look like. Last post was a couple years ago. Some pretty talented people already took a crack at this, so I'm not sure you'll have much luck either.
Idk, maybe it's worth a look. I will see if I can find anything useful.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: T4x asm documentation
« Reply #29 on: February 29, 2016, 09:32:47 pm »
@benedikt.muessig :I seem to remember their being a more definitive answer of no. It might've been in another thread, but I can't seem to find anything at the moment. Maybe @critor or @Goplat remembers. At any rate, if you are able to figure something out, that would be super cool! ^^