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

Pages: 1 ... 32 33 [34] 35 36 ... 55
496
News / Re: Release of TilEm2
« on: March 03, 2013, 02:09:33 am »
I just checked out the new sound features and it's really cool!

Anyway, i've got lots of other feature requests, too (sorry!):
-Skipping an instruction. Move the PC to the next instruction (useful for jr $ breakpoints)
-Related to the previous, a debugger option to treat jr $ as a breakpoint (ie bring up the debugger when a jr $ instruction is executed)
-Define a section in memory (width in bytes/height) to preview the contents as if it were the LCD. So if i'm using the gbuf as a buffer, i can type in the address: $9340, the width: 12, and the height: 64 and see a preview of the gbuf.
-A keyboard shortcut to change between full speed and normal calculator speed (more speed options wouldn't be bad, either, in particular slow-motion ;))
-A "set PC to highlighted line" option (though you can just adjust the PC manually, so it's not super important)
-It'd also be nice to see the HEX code beside the instructions (and optionally be able to change them, like the memory editor beneath it)
-Maybe the debugger could pop up when your code jumps out of the executable code range?
-Conditional breakpoints: stop execution only when a certain flag is set/reset or a register(/register pair) = a certain value.

There are already a ton of features that i'd never thought of before but which i use everyday now, like the execute until ret feature and the run 'til next line feature. Also, the read/write breakpoints are really handy. Thanks a bunch to you and contra!

(EDIT: And these are just ideas, please don't think they're demands or anything like that!)

497
Cool! Is there a way to turn sound on, yet? I don't see anything in the Preferences menu.

EDIT: And i just installed from the SVN, i like the new debug features (like being able to scroll through the stack entries and the keyboard shortcut to jump to a new address), but a "skip instruction" command would still be really useful :)

498
TI Z80 / Re: Jade
« on: March 02, 2013, 08:24:38 pm »
What's the difference between the two ldir's?

EDIT: And i believe this is the code in "assembly":
Spoiler For jadeDemo.asm:
#include "Jade.inc"
   .org $00
   jrf start   ;$3020
something1:
.db 00
.db 00
.db 00
.db 00
.db 00
.db 00
.db 00
.db 00

light_ball:
.db $3C
.db $42
.db $81
.db $81
.db $81
.db $81
.db $42
.db $3C

something2:
.db 00
.db 00
.db 00
.db 00
.db 00
.db 00
.db 00
.db 00

dark_ball:
.db $3C
.db $7E
.db $FF
.db $FF
.db $FF
.db $FF
.db $7E
.db $3C

start:
   ldir keyMask,4         ;not sure what this does...?
      .db 03,03,01,03   ;enable key0/1,sprites 0/1,turn on LCD update, and ???
   ldir sAddress,10      ;load the two sprites
      .dw 256+light_ball \ .db 03,03,02   ;x,y,sprite type
      .dw 256+dark_ball \ .db $55,$35,02   ;x,y,sprite type
loop:
   add (sX0),$01
   cp (key1),kClear      ;$BF
   jrf z,quit
   jrb loop
quit:
   ld (sMask),$80
Btw, i think you accidentally put in an extra sMethod before sUpdate, so some of the equates at the end are one byte off. Here's an include file i've started but haven't tested/finished yet:
Spoiler For jade.inc:
#define lda(addr1,addr2)   .db $00,addr1,addr2
#define adda(addr1,addr2)   .db $01,addr1,addr2
#define adca(addr1,addr2)   .db $02,addr1,addr2
#define suba(addr1,addr2)   .db $03,addr1,addr2
#define sbca(addr1,addr2)   .db $04,addr1,addr2
#define xora(addr1,addr2)   .db $05,addr1,addr2
#define ora(addr1,addr2)   .db $06,addr1,addr2
#define anda(addr1,addr2)   .db $07,addr1,addr2
#define cpa(addr1,addr2)   .db $08,addr1,addr2
#define inc(addr1)         .db $09,addr1
#define push(addr1)         .db $0A,addr1
#define pop(addr1)         .db $0B,addr1
#define ret               .db $0C
#define ret z            .db $0D
#define ret c            .db $0E
;#define ldira(addr1,size)   .db $0F,addr1,size
#define ldc(addr1,const)   .db $10,addr1,const
#define addc(addr1,const)   .db $11,addr1,const
#define adcc(addr1,const)   .db $12,addr1,const
#define subc(addr1,const)   .db $13,addr1,const
#define sbcc(addr1,const)   .db $14,addr1,const
#define xorc(addr1,const)   .db $15,addr1,const
#define orc(addr1,const)   .db $16,addr1,const
#define andc(addr1,const)   .db $17,addr1,const
#define cpc(addr1,const)   .db $18,addr1,const
#define dec(addr1)         .db $19,addr1
;#define push(addr1)      .db $1A,addr1
;#define ex(addr1,addr2)   .db $1B,addr1,addr2
#define ldirc(addr1,size)   .db $1F,addr1,size
#define jrf(const)         .db $30,const-$-1
#define jrfc(const)         .db $31,const-$-1
#define jrfz(const)         .db $32,const-$-1
#define jrb(const)         .db $33,$-const
#define jrbc(const)         .db $33,$-const
#define jrb(const)         .db $33,$-const

;ports
sprite0   = 00h
sLSB0   = 00h
sMSB0   = 01h
sX0      = 02h
sY0      = 03h
sMethod0  = 04h
sLSB1   = 05h
sMSB1   = 06h
sX1      = 07h
sY1      = 08h
sMethod1  = 09h
sLSB2   = 0Ah
sMSB2   = 0Bh
sX2      = 0Ch
sY2      = 0Dh
sMethod2  = 0Eh
sLSB3   = 0Fh
sMSB3   = 10h
sX3      = 11h
sY3      = 12h
sMethod3  = 13h
sLSB4   = 14h
sMSB4   = 15h
sX4      = 16h
sY4      = 17h
sMethod4  = 18h
sLSB5   = 19h
sMSB5   = 1Ah
sX5      = 1Bh
sY5      = 1Ch
sMethod5  = 1Dh
sLSB6   = 1Eh
sMSB6   = 1Fh
sX6      = 20h
sY6      = 21h
sMethod6  = 22h
sLSB7   = 23h
sMSB7   = 24h
sX7      = 25h
sY7      = 26h
sMethod7  = 27h
sUpdate   = 28h
key0   = 29h
key1   = 2Ah
kClear   = $BF
key2   = 2Bh
key3   = 2Ch
key4   = 2Dh
key5   = 2Eh
key6   = 2Fh
keyMask   = 30h
sMask   = 31h
status   = 32h   ;bit 7 set means turn the system off, bit 0 = LCD update
sTimer   = 33h

;RAM =ates
saveSScreen = 9872h
stackptr   = 35h+saveSScreen
PClow      = 36h+saveSScreen   ;** note that the upper bit of PC is in the status port

stackbase = 80h

OP6 = 84AFh
TempWord1 = OP6
TempWord2 = OP6+2
TempWord3 = OP6+4

I just compiled and ran this code (typing it in by hand) just fine on my 83+ :)
Code: [Select]
#include "jade.inc"
.org $00
jrf(start)
sprite:
.db $FF
.db $FF
.db $FF
.db $FF
.db $FF
.db $FF
.db $FF
.db $FF
start:
ldirc(keyMask,3)
.db 3,3,1
ldirc(sprite0,5)
.dw $100+sprite \ .db 0,0,2
loop:
cpc(key1,kClear)
jrfz(quit)
jrb(loop)
quit:
ldc(status,$80)

499
I have the same problem with my 82 ROM (19.000) and WabbitEmu, however it works just fine with TilEm2.

500
TI Z80 / Re: Houston Tracker - 1-bit music editor
« on: March 02, 2013, 02:01:48 am »
If the source gets released, it will most certainly be possible ;) Perhaps there could be two versions, a lightweight hex-input version and a slightly larger note-based version?

501
TI Z80 / Re: Houston Tracker - 1-bit music editor
« on: March 01, 2013, 11:44:12 pm »
I think the readme says 16-19.0 are all fine, but 19.006 isn't supported.

502
TI Z80 / Re: Jade
« on: March 01, 2013, 09:57:50 pm »
Xeda, i would love to play around with this if you ever get around to releasing something! I like the idea of trying to make games fit in small places and working with memory directly sounds interesting. Is the code then stored in your hex format and parsed?

503
TI Z80 / Re: Houston Tracker - 1-bit music editor
« on: March 01, 2013, 09:23:21 pm »
It's a super cool project, i wish i could test it out or help out in some way. Maybe we could look for optimizations to the hex editor source?

504
TI Z80 / Re: Slova progress
« on: February 27, 2013, 07:29:57 am »
It could be that the first character needs to be a capital letter (or θ). At least the program menu might be that way, i'm not sure if it's the same for the memory menu... That's how a lot of fake RAM clearers used to work, changing the first letter of every program in the VAT so that going to the program menu would bring up nothing.

505
ASM / Re: Learning z80 ASM
« on: February 25, 2013, 12:30:27 am »
Iambian might use TASM, but i think they also use spasm. The E:SoR source compiles with spasm, at least. But i guess it doesn't really matter, what is more important is getting started writing cool stuff :D

506
TI Z80 / Re: Slova progress
« on: February 23, 2013, 11:27:06 pm »
I'm teaching again, which has slowed down my progress with the Russian language pack.  (I know that at least two people want it, and I want it to be good rather than just "thrown together")
If i'm not included in those two people, then three :)

507
News / Re: TI bans community calculator emulation
« on: February 22, 2013, 07:55:27 am »
How long ago was this added? It's possible it's always been there but we haven't noticed it 'til now. Really it's just yet another sign that TI doesn't really care about us, which i suppose isn't any sort of surprise. Like any (successful) company the $$$ comes first. Even if they did try to enforce it, though, trying to wipe out their (free) competition to force users to use their (non-free) "simulators" (i don't know if they even have debugging support...? Certainly nothing comparable to community emulators) would just be laughable. I can't see it having any effect apart from increasing the number of places you can find TI ROMs online.

Maybe a decade ago it seemed like half the community ended up working for TI at some point or another, now TI seems to be trying to push itself as far away as it can from the community ;)

508
Art / Re: Mockups "please say this is going to be a game"
« on: February 22, 2013, 07:19:41 am »
There is (or was, at least) an ASM metroid game that was pretty far along:
http://maxcoderz.org/forum/viewforum.php?f=7

tr1p1ea found an old copy of the source a month or two ago:
http://maxcoderz.org/forum/viewtopic.php?f=7&t=17&start=255#p67186

509
ASM / Re: Learning z80 ASM
« on: February 21, 2013, 09:36:17 am »
To me, Brass seemed much more complicated. Spasm is super fast, has powerful macro support, and can compile about anything easily (except maybe nostub TI-83 programs). Brass has lots of features and seems to be good for organizing your code. Use whichever one you like, i chose Spasm because it's faster and more lightweight, plus your code can be compiled on Linux/Windows/Mac. If you use certain features of Brass you might be limited to Windows, unless you want to reformat the file to be "spasm-compatible". Actually, my claim that Spasm is faster is based off of when i used Brass several years ago, so that might not be correct anymore. I don't know if Brass has seen much development since then but it's still a very powerful assembler (i think it can even rle compress your data for you). I just know that Spasm can compile a 40kb (final on-calc size) project importing lots of .bmps in the blink of an eye, which you'd realize how amazing that is if you'd ever used TASM before :D

And i don't think anyone still uses TASM anymore, it's a pain just to get it to run and the other alternatives (namely, Brass and Spasm) are much more convenient and feature-rich.

As to which one to use? You pick, it'll probably be the first one you get working. :P DJ_O says most people use Brass nowadays, and maybe that's true, but apart from Kerm and probably Benryves, i don't really know of anyone else. Maybe it's because a lot of the assembly programmers i speak to don't use Windows and have no other choice or maybe because the format feels closer to what we were used to with TASM or maybe just 'cuz it's so straightforward, i dunno. If you're going to start a huge project you might like some features of one over the other that let you organize your code more easily, but really it's not going to make that much of a difference: the assembled output will be exactly the same using both assemblers ;)

510
Ash: Phoenix / Re: Ash: Phoenix- Reboot
« on: February 21, 2013, 09:02:40 am »
I'm still holding my breath for this one to come out :D (and Embers!)

Pages: 1 ... 32 33 [34] 35 36 ... 55