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 - DrDnar

Pages: 1 ... 8 9 [10] 11 12 ... 38
136
Other Calculators / Re: 160x240 resolution possible on CSE
« on: March 16, 2013, 11:37:28 pm »
Awesome find! I may need to incorporate this in some way with MicrOS.

137
AAARGH! It doesn't do that to me. Mine's a TA3 (port 15=69d/45h).

Also, you're right chickendude about the typo. The hex code by that instruction, however, is correct. Unfortunately, there was a different error in the hex codes; see above for the correction.

138
As far as I know, no emulators emulate this quirk. IM 0 is useless, because the TA3 appears to have pull-up resistors and consequently functions exactly like IM 1. Anyway, here's a new test, one that isn't broken and WON'T CLEAR RAM.
EDIT: There was a typo on the line below that I put spaces into. It read ED5E when it should have read ED56. The assembly listing below had the right hex codes; I made a mistake while copying. This could error cause it to crash or print AAARGH on exit.
Code: [Select]
:AsmPrgm
:F33E20D310
:AFD330D333D336
:210080118181
:0600732310FC
:368221ED9D0E03
:EDB0
:11818221F09D
:0E07EDB0
:3E80ED47ED5EFB
:ED5EFB
:1C7BD311
:DB04E60820F3
: ED56 FB76C9
:41414152474821
:00
:E1ED56FB76
:21D99DEF0A45
:C9
:C3E19D
:08AFD30208FBC9
Assembly!
.org blah
.db blah, blah blah
Start:
di ; F3
ld a, 20h ; 3E20
out (10h), a ; D310
xor a ; AF
out (30h), a ; D330
out (33h), a ; D333
out (36h), a ; D336
ld hl, 8000h ; 210080
ld de, 8181h ; 118181
ld b, 0 ; 0600
_: ld (hl), e ; 73
inc hl ; 23
djnz -_ ; 10FC
ld (hl), 82h ; 3682
ld hl, ISR ; 21ED9D
ld c, ISR2-ISR ; 0E03
ldir ; EDB0
ld de, 8281h ; 118182
ld hl, ISR2 ; 21F09D
ld c, ISR_end-ISR2 ; 0E07
ldir ; EDB0
ld a, 80h ; 3E80
ld i, a ; ED47
im 2 ; ED5E
ei ; FB
loop:
im 2 ; ED5E
ei ; FB
inc e ; 1C
ld a, e ; 7B
out (11h), a ; D311
in a, (4) ; DB04
and 8 ; E608
jr nz, loop ; 20F3
quit:
im 1 ; ED56
ei ; FB
halt ; 76
ret ; C9
strARGH:
.db "AAARGH!", 0 ; 4141415247482100
ARGH:
pop hl ; E1
im 1 ; ED56
ei ; FB
halt ; 76
ld hl, strARGH ; 21D99D
b_call(_PutS) ; EF0A45
ret ; C9
ISR:
jp ARGH ; C3E19D
ISR2:
ex af, af' ; 08
; During the six hours it took me to come up with this, I discovered the right way to acknowledge interrupts:
xor a ; AF
out (2), a ; D302
ex af, af' ; 08
ei ; FB
ret ; C9
isr_end:
This will show garbage on the left side of your screen until you press ON, unless it first says AAARGH! Once again, this has been specifically coded not to clear your RAM. It very carefully differentiates between FF and not FF.

139
EDIT: I had posted another here but it's broken and I don't know why. :/

Now the second test gives me an instant "RAM cleared".
Are you sure it says 69? Double check that you typed in everything correctly.

140
I screwed up the code for the second test. For some reason, I need to flush pending interrupts before quitting. So run the second test again, please.

141
If this is for-real, then it's released to the public. It's just no in brick-and-mortar stores yet. It makes sense for TI to divert the initial production runs to online retailers, who can sell them directly to the limited number of customers who want one now, rather than having them languish in stores, during the months when few students are looking to buy a calculator.

142
That's really neat. It'd be nice to get some TA2 results. I'm using IM 0 as an easier-to-code proxy for IM 2 behavior. I'll work up a more thorough test tomorrow to verify that IM 2 on the TA1 really doesn't require the full 257-byte IVT we've always used with the TA2 and the TI-83+.

Quick edit: Actually, come to think of it, I think I already wrote that test. I'll have to dig through my flash drive later to find it.

143
Although we know a lot about the TI-8x ASICs, there still remains significant work to be done. Recently, I have discovered something new that needs to be confirmed. You can help confirm this by typing in the following program and posting your results. This test can be performed by TI-83+SE, TI-84+, and TI-84+SE users; the TI-83+ is not relevant. If you have a MathPrint OS, disable MathPrint before trying this and clear the homescreen. The information from this test relates to port 27h and is realted to accessing the extra RAM pages. It may be of use to operating system writers, assembly programmers, and Axiom writers.

Code: [Select]
:AsmPrgm
:DB156F2600
:EF0745EF2E45
:F31E801686
:0E052100C173
:ED51723EFF
:D327463CD327
:ED79FB260068
:EF0745EF2E45
:C9
(For assembly experts:)
Code: [Select]
; Yes, I know you can optimize this by at least two bytes.
in a, (15h) ; DB15
ld l, a ; 6F
ld h, 0 ; 2600
b_call(_DispHL) ; EF0745
b_call(_NewLine) ; EF2E45
di ; F3
ld e, 80h ; 1E80
ld d, 86h ; 1686
ld c, 05 ; 0E05
ld hl, 0C100h ; 2100C1
ld (hl), e ; 73
out (c), d ; ED51
ld (hl), d ; 72
ld a, 0FFh ; 3EFF
out (27h), a ; D327
ld b, (hl) ; 46
inc a ; 3C
out (27h), a ; D327
out (c), a ; ED79
ei ; FB
ld h, 0 ; 2600
ld l, b ; 68
b_call(_DispHL) ; EF0745
b_call(_NewLine) ; EF2E45
ret ; C9

Run this like a regular assembly program. It should print two numbers. The first will is the ASIC ID and will be either 51 (TI-83+SE), 68 (TA2), 69 (TA3), or 85 (TA1, what all new calcs have); the second will be either 128 or 134.


If you don't mind causing a RAM reset, there's a second test you can perform. This test is related to custom interrupts. The test will cause a crash, hang, freeze, or otherwise errant behavior if it fails; if it passes, the busy indicator will keep scrolling until you press CLEAR (give it half a minute or so). If the above code printed 69 for the first number, this should pass if I'm right. If I'm right, all other values will cause a crash. Do not use any shells. Doing so is likely to cause a false negative. The test is simply this:
Code: [Select]
:AsmPrgm
:FBED46FD3421
:10FBEF1840
:FE0F20F1
:ED5676C9
Assembly = _: ei \ im 0 \ inc (iy+asm_flag1) \ djnz $-3 \ b_call(_GetCSC) \ cp skClear \ jr nz -_ \ im 1 \ halt \ ret
If this test passes with the first number from the above test being anything other than 69, let us know; it could provide a great optimization for Axe.

144
Other Calculators / Re: Error in validation
« on: March 08, 2013, 10:06:20 am »
Certificate and flash corruption are likely causes. RAM corruption is unlikely, but possible. TI writing awful code is also a likely cause.

145
Other Calculators / Re: TI 89 not archiving
« on: March 06, 2013, 08:53:41 pm »
The flash chip is unlikely to be worn out. The TI-89 AMS operating system is smarter than the TI-83+ EOS. It avoid unnecessary un/archiving. It's more likely to be a corruption issue, but I sadly can't really help you with fixing that. The TI-89 platform doesn't have (to my knowledge) a program like MicrOS that could be used to identify and fix the corrupted data.

146
Other Calculators / Re: The infamous 83+ OS 1.17
« on: March 03, 2013, 12:56:38 am »
TI buys the LCD driver from commercial manufacturers. The calcs get whatever chip compatible with the same command set happens to be cheapest on the market. It's the same way with flash chips. TI has bought them from half-a-dozen different companies. I'm the only person who's ever noticed because I'm the only person who reads the datasheets, and there are no assembly programs that will break if the flash chips are different. (Although, IIRC, either TI-boy or zStart will use the fast write command if it's available.)

147
Other Calculators / Re: The infamous 83+ OS 1.17
« on: March 02, 2013, 02:10:52 pm »
I don't recall anything in particular about 1.17. According to WikiTI, there are no known differences between 1.16, 1.17, and 1.18; but the Wiki might just be out of date. Regardless, 1.17 won't prevent you from downgrading or upgrading. I do recall having it on my TI-83+SE for a while without causing any unique issues.

148
Basically, this might annoy students in class as well (which is why I hope that TI adress this at one point). Would there be a way for TI to add vertical z-addressing back without radical hardware changes? That would solve the problem.
TI's software has never, ever used Z-addressing. For that matter, very few assembly programs use it. Not only could TI not add such a feature, they wouldn't use it if they could.

149
News / Re: TI-83 Plus moves to TI-84 Plus case in France
« on: February 22, 2013, 03:21:25 am »
And after all, since when did TI made sense?
They made sense in the 90s. Paying more than $100 for a TI-83+ was perfectly reasonable in 1997. A TI-83+ back then might well be the only computer a student owned; indeed, for many families, it was likely the only user-programmable computer in the house. The TI-83+SE was a nice upgrade over the TI-83+. However, the increasing presence of the personal computer and advances in portable consumer electronics have made the devices nearly obsolete. The only reason a student should use a graphing calculator rather than a smart phone is the graphing calculator is approved for classroom use.

But, I think the TI-83+ can still have a market presence. If the MSRP for the TI-84+ was dropped to around $30, TI could still turn a profit, and students would be more likely to buy a real calculator. Moreover, they aren't capitalizing on its educational use correctly. They should add a blinking test-guard LED to the TI-84+CSE and switch to an eZ80, or at least one of the other more advanced derivatives of the Z80. The eZ80 would make the TI-84+CSE faster and therefore more pleasant to use. Moreover, they could develop new software for it cheaply using C, furthering its educational potential, while simultaneously maintaining compatibility with existing software. Namely, the OS itself could run on an eZ80 without substantial changes. (But, it would be wise to deprecate the paging functionality. That might not play well with pipelining, because the memory mapping change might not reach the memory mapper until after subsequent instructions have already been fetched. This is not a hard problem to overcome.)

150
News / Re: KermM and critor Run First 3rd Party Code on TI-84+CSE
« on: February 19, 2013, 06:10:19 pm »
Here's the clock speed tester program's source code. As you can see, it's a pretty simple program, but we still know enough to get some good hacking going.

Pages: 1 ... 8 9 [10] 11 12 ... 38