:o
Printable View
:o
I am glad to see the scene spark up like a zippo lighter and have a bright flame :}. this
is great news to all of us Dc devoters. This is a dream come true, I was showing my brother
all the stuff that is in the works he is astounded! my brother is not easily amused but
he was when I showed him this. good luck on the project, hope you don't strain yourself
not good high blood pressure causes bad stuff, when you need a break take one, if you are
thristy drink and if you are hungry eat, NO RUSHING :}. (offtopic} kamjin I noticed you have
the Coder badge. I never seen your projects on the DC (none that I know of} may i as what you have coded,thanks.
*rolls himself a cigarette as thick as a finger and inhales deeply*
Really good news that is! Â*:)
@Wraggster: The PD ROMs compilation for DreamSNES/SuperFamicastv02 I am currently working on is progressing nicely.
That's a good bit of news! Not to mention scherzo's also got a little boost
of energy ;D
(offtopic Responce)
DemoniusX, Stuff I've done.. for the DC.. Not much so far..
here's a link http://homebrew.dcemulation.com/kamjin/
I'm still in the process of refreshing my memory, and re-learning
forgotten math.. last 7 years Most of the code I've written has been
ultra low level mostly assembly, like Bios's, Drivers, tools,and Diagnostics..
Ian,
I started looking over the code to NeoGeo there's a few things I noticed,
I just scanned in the Video section.. scattered around there are mults
by 2,8,16,128,256.. From what's in the sh4 spec a multipy takes 2-5 cycles
a shift operation takes 1, so there's a few places to gain some cycles.
.. Just a warning if you change them do them a few at a time.. for
some reason GCC sometimes changes the math operation order when you do.
In the tiles section.
The FlipX, and Y.. gotta think about this one a bit more, but in hardware
to to a flip we simply XOR the Column or Row counter to achive the
process.. to flip the entire screen (like those old cocktail arcade tables
when the 2nd player is up) you would just xor the video sections address
lines to the ram, creating an X-Y filp.. mY brain's a little groggy but maybe
a simmilar idea by simply modifying the counters,that will get rid of all those
shift+and instructions.
I'm also looking over the code in draw_screen1.. there might be a way to
get that to execute faster.. using ulongs instead of ushorts.. but tough
to figure a way not to break the Zoom.. and not add more code in
the to handle the change.. just to slow it down again..
to.. I'll keep looking it over if anything sparks in my brain I'll let you know..
Thanks Kamjin Very intresting. Allways good to get some one of your skill to look it over. ;)
One thing about the division and multiplication by powers of 2... As much as we talk crap about GCC and how it poorly optimizes SH4 code, I did notice during my asm adventures at the beginning that GCC is smart enough to notice when it can save by shifting instead of actually multiplying. At least, that's what I saw. Maybe it doesn't always do that so you can play it safe by shifting anyways.
Also, I've been able to get the DSNES cpu core to compile BUT it doesn't work just yet. I need to recreate an offsets.h file for all the struct fields in snes9x. I have a function that will spit out the correct offsets to stdout during runtime, so that helps. But some of the offsets are too big for some of the relative addressing used in the asm. So what I'm doing now is going through one by one and moving troublesome struct members to the beginning of their structs, thereby keeping the relative address for those in range. It's moving along, but there's a lot. I hope it works.
It's fun to bash GCC!.. In most cases with a -O flag I've seen it
do the shift also, but I noticed cases where it didn't.. like where
two mults were side by side, or if you swap the mult for a shift
and you have to put brackets to maintain the order, that's the other
case.. actually what got me looking at the assembly originally..
Just in case you guys don't already have it.. the programmers
manual for the Sh4
http://www.renesas.com/avs/resource/...602156_sh4.pdf
This one has opcode timings, unlike the architechture manual.
Slight shift of converation.. KOS has a PVR_DMA functions to to load
Instrction Lists/Textrures.. which I've never got to work..
but the sh-4 has a DMAC on it as well which can read/write memory
same used to access the maple, does KOS have anything to support it
as far as memcopy? i remeber that it does support 64bit access..
Thanks Ian! although the Skill works both ways, I see guys like
you, and scherzo in the same way. You guys can take a piece of
code and have it ported and working in no time.. While I sit there
re-writing all sort of code because it just baffles me.. I can get the
rumble working.. create my own maple access routines..
but then get totally lost in writing a driver that fits into KOS ???..
[quote author=Kamjin link=board=dcemu;num=1082494155;start=90#94 date=05/14/04 at 07:47:28]Ian,
I started looking over the code to NeoGeo there's a few things I noticed,
I just scanned in the Video section.. scattered around there are mults
by 2,8,16,128,256.. From what's in the sh4 spec a multipy takes 2-5 cycles
a shift operation takes 1, so there's a few places to gain some cycles.
.. Just a warning if you change them do them a few at a time.. for
some reason GCC sometimes changes the math operation order when you do.
quote]
How would i go about changing this. I like to attempt it But Maybe if you could change one and i could work off the idea.
Any speed is needed if SFX is to be added back to this emulator.