[Featured][Dev] PindurTI (Best Thread 2005)

Here you can find side projects of the staff and great projects which we think should get extra support. (Note that featured projects are not projects by staff members of MaxCoderz)

Moderator: MaxCoderz Staff

Spencer
Extreme Poster
Posts: 346
Joined: Mon 17 Jan, 2005 8:56 am
Location: Indiana

Post by Spencer »

kv83 wrote:That way you get multiple different releases from different people.
I really doubt that. There aren't that many C coders in the community. With any decent version control, changes from the 2-3 people that do code would not difficult to consolidate.

Just because something's open source does not mean it's disorganized.
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Spencer wrote:In the debugger, if you remove all of the panes from a ||| or ==, then delete one more, you consistently get a crash.
Thanks, I’ll look into it.
Spencer wrote:For all releases: if you remove all panes, there is no way to add any back. Changes are not saved after exiting pti.
Well, those are not bugs but come from the mere fact that the whole thing is incomplete. For the time being you can only add leaves to the tree.
Spencer wrote:However, in many ways our priorities are very different -- e.g. I'd prefer a stack trace instead of a link history, or memory i/o records instead of "hub" support.
I understand and agree with that. The reason why I chose to play with these things lately is simply that they didn’t require much effort on my part. The absolute long-term priority for me is still exact emulation, the second is full observability and controllability of the calculator state from the debugger. But I can’t work on these things as long as I can’t allocate bigger chunks of time for development, because that would leave us with ‘broken’ (impossible to release) builds for extended periods of time, and it would also make me lose my focus many times while working on it.
Spencer wrote:How about a source release?
I said this a couple of times: the code needs to be refactored from the grounds up to make certain extensions possible (like the proper support for high-end models). As soon as there are more people working on it, major cleanups will be practically impossible, and therefore I won’t release anything before reaching a stable core.
Spencer wrote:With any decent version control, changes from the 2-3 people that do code would not difficult to consolidate.
Just believe me that in the current state of the code this would lead to a lot of wasted effort. There are still so many fundamental modifications to make that any attempt at merging would be doomed to failure.
User avatar
Jim e
Calc King
Posts: 2457
Joined: Sun 26 Dec, 2004 5:27 am
Location: SXIOPO = Infinite lives for both players
Contact:

Post by Jim e »

CoBB wrote:
Spencer wrote:How about a source release?
I said this a couple of times: the code needs to be refactored from the grounds up to make certain extensions possible (like the proper support for high-end models). As soon as there are more people working on it, major cleanups will be practically impossible, and therefore I won’t release anything before reaching a stable core.
Well there's open source and then just released source. You don't have to let everyone change what they want and release without permission. There's still the fact that having the source code released could help find bugs and such.

For example I just stumbled on a hell of a bug. Register C was 0, I rotated left circularly to place bit 7 in the carry, Then I rotated right circularly to restore what was in C. C should have been 0, however it became 3. :shock:

Pics in case register contents and surrounding code are of some importance.

Step 1:
Image

Step 2:
Image

Step 3:
Image

This is in at least the themed version and the last stable version. Also the bug only seems to happen when C is 0.

:cry: And I really wanted to screen shot this new scaling demo...
Image
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Jim e wrote:Well there's open source and then just released source.
Oh no, opening up that mess would be as embarrassing as having to go out naked.

By the way, bug fixed. However, I uploaded it to the regular address because of the criticality of the bug. I’ll take care of the theming issues tomorrow.
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

Oh no, opening up that mess would be as embarrassing as having to go out naked.
I know what you mean :P
Image
User avatar
Jim e
Calc King
Posts: 2457
Joined: Sun 26 Dec, 2004 5:27 am
Location: SXIOPO = Infinite lives for both players
Contact:

Post by Jim e »

CoBB wrote:Oh no, opening up that mess would be as embarrassing as having to go out naked.
Is that a dare? *takes off pants*


Oh good it works, what was causing it?
Image
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Jim e wrote:Oh good it works, what was causing it?
All the arithmetic and logic instructions are handled by LUTs, and the one responsible for RRC got partly overwritten during initialisation. Blame the link history feature. :P The fact that it was full of 3's gave it away immediately.
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Reworked theming. It looks much more friendly with the classic theme now, and also works on pre-XP systems again (static linking with uxtheme.lib wasn’t a nice thing to do, I know ;)).
User avatar
DigiTan
Calc Master
Posts: 1069
Joined: Fri 04 Mar, 2005 12:52 am
Location: NW Wisconsin
Contact:

Post by DigiTan »

CoBB wrote:also works on pre-XP systems
:worship:
My diet consists of nails, code-stealers, and HP fans.
Projects:

Robot War [TI-82, TI Flash App]
Sonic the Hedgehog [Multiplatform]
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

I just tested it on a Win95 box. It works well with only one quirk: the hand cursor doesn’t show up in the debugger window, but that’s something I’m aware of anyway (I used a system supplied cursor that’s supported only in 98 and later).
leofox
Calc Master
Posts: 1064
Joined: Fri 17 Dec, 2004 3:22 pm
Location: Probably playing DDR
Contact:

Post by leofox »

When using a routine with the undocumented instruction SLL, PTI crashed, saying ram failed. How can this happen? I haven't tested it on real hardware yet, so i dont know if its PTI's problem.

http://rafb.net/paste/results/Sputyy32.html <-- the routine
Image
Image
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Well, a RAM fail is unlikely to be a bug in PTI. Are you sure you haven’t made a programming error somewhere?
User avatar
Jim e
Calc King
Posts: 2457
Joined: Sun 26 Dec, 2004 5:27 am
Location: SXIOPO = Infinite lives for both players
Contact:

Post by Jim e »

Well I ran it, opcode wise it did everything it should on the newest build. But the routine looks incorrect. First, you are storing the dividend in big endian format. Second, like I said in the other thread, I don't think those div routines work. That one imparticular is using only 16 bits to compare a 24 bit number to a 16 bit number, resulting in an incorrect answer.

It should look more like this

Code: Select all

; hl = 0
; a:bc / de = a:bc remainder hl

	sla c    ;unroll 24.
	rl b
	rla
	adc hl,hl
	jr c,$+8
	push hl
	sbc hl,de
	pop hl
	jr c,$+6
	or a
	sbc hl,de
	inc c
or if you don't like the use of the stack, this would be faster

Code: Select all

	add ix,ix      ;unroll 24 times
	rl c
	adc hl,hl
	adc a,a
	sbc hl,de
	sbc a,b
	jr nc,$+6
	add hl,de
	adc a,b
	inc ixl


	ld a,ixl   ;place at end after unroll
	cpl
	ld ixl,a
	ld a,ixh
	cpl
	ld ixh,a
	ld a,c
	cpl
	ld c,a
Image
leofox
Calc Master
Posts: 1064
Joined: Fri 17 Dec, 2004 3:22 pm
Location: Probably playing DDR
Contact:

Post by leofox »

I got the routine from z80 bits, all the other routines from there work just fine. I might got something wrong with the calling of the routine though, he didn't give much info on that.
I'll try jims routine, and get the newest build.
Image
Image
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Added a tiny UI feature: context menu (right click) in the debugger. Try it above the disassembler and the memory viewer, it helps remembering keystrokes. ;)
Post Reply