tuxnes-devel Mailing List for TuxNES (Page 20)
Brought to you by:
tmmm
You can subscribe to this list here.
2001 |
Jan
|
Feb
(18) |
Mar
(32) |
Apr
(61) |
May
(3) |
Jun
(8) |
Jul
(4) |
Aug
(50) |
Sep
(9) |
Oct
(3) |
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(12) |
Feb
(16) |
Mar
(13) |
Apr
(5) |
May
(14) |
Jun
(1) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2003 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(7) |
Dec
(24) |
2004 |
Jan
(23) |
Feb
(39) |
Mar
(8) |
Apr
|
May
(54) |
Jun
|
Jul
(20) |
Aug
(17) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2005 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(3) |
2006 |
Jan
(3) |
Feb
(1) |
Mar
(5) |
Apr
(1) |
May
(6) |
Jun
(10) |
Jul
(8) |
Aug
(1) |
Sep
(2) |
Oct
(16) |
Nov
(18) |
Dec
(6) |
2007 |
Jan
(20) |
Feb
(9) |
Mar
(1) |
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(19) |
Oct
(6) |
Nov
(4) |
Dec
(3) |
2008 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
(4) |
Aug
(3) |
Sep
(13) |
Oct
(9) |
Nov
(28) |
Dec
(28) |
2009 |
Jan
(9) |
Feb
(14) |
Mar
(10) |
Apr
(24) |
May
(40) |
Jun
(23) |
Jul
(34) |
Aug
(7) |
Sep
(3) |
Oct
|
Nov
|
Dec
(11) |
2010 |
Jan
(7) |
Feb
(5) |
Mar
(3) |
Apr
|
May
(5) |
Jun
(5) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Rigel <ri...@an...> - 2001-04-26 15:02:38
|
-- On Thu, 26 Apr 2001 07:00:57 Parlis.com wrote: >Dear friend, who let these guys in? Check out the FREE cell phone packages complete with accessories at Lycos Wireless Marketplace http://www.inphonic.lycos.com/redirect.asp?referringpage=www.lycosad129 |
From: Parlis.com <in...@ma...> - 2001-04-26 07:01:43
|
Dear friend, We are writting to you to introduce two free resources highly= interesting for your web site provided by Parlis.com, a new= universal instant communication tool (www.parlis.com): 1) Offer your own instant messenger program on your website. The= service can be totally customized to achieve maximum adaptation= to your pages: - Build up your visitors=92 customer loyalty and attract new= users - Increase the traffic on your pages and reinforce your brand= image - Create community feeling on your website and know your= visitors better - Monthly statistics and maximum security 2) Offer the visitors to your site an online assistance service.= Speak with your visitors online, explain their doubts and guide= them as they surf your site: - Increase customer satisfaction and lower your site's abandon= rate - Increase your sales and improve customer loyalty - Your visitors will be able to see whether any operator is= online - Automated answers, conversation recording and monthly= statistics - Maximum adaptation to your web - Accessible for any visitor with a click We will be glad to evaluate with you the free integration in your= site of any of the two Parlis=92 resources mentioned above. Given= the versatility of our product, we are sure we can find the= solution that best fits into your web site.= (http://www.parlis.com/parlis/web/en/afiliate/wm_default.asp) We look forward to hearing from you very soon. Yours truly, Webmasters Support Team web...@nt... www.parlis.com |
From: Jim U. <ji...@3e...> - 2001-04-19 19:51:19
|
A while ago I posted about tuxnes slowing down to about 4fps while sound was enabled on my maestro2 chipset. Today I noticed that sound was 8-bit by default, and when I tried it in 16-bit mode it worked perfectly. Yay! -- "But if food is so good for you, how come the body keeps trying to get rid of it?" -- breatharian.com ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Jeroen Ruigrok/A. <as...@wx...> - 2001-04-19 19:00:31
|
-On [20010419 18:39], Jim Ursetto (ji...@3e...) wrote: >At 11:32am on 2001 April 19, Jim Ursetto did write: >> [Dreamcast p]rices dropped to $99 from $149 a couple months ago. > >I forgot to note that, unless you are prepared to go through a ton of >CD-Rs, you need some kind of connection from your PC to your DC. This >usually takes the form of a serial cable, or recently, an ethernet >adapter. Unfortunately both of these must be ordered and they can get >expensive--I opted for the ethernet and it set me back $60. Still, >under $200 for the opportunity to develop (with free dev tools) on a >console is a pretty sweet deal. Heh, NetBSD [www.netbsd.org] runs on the Dreamcast: http://www.netbsd.org/Ports/dreamcast/ Good background info if you need it. -- Jeroen Ruigrok van der Werven/Asmodai --=-- asmodai@[wxs.nl|freebsd.org] Documentation nutter/C-rated Coder BSD: Technical excellence at its best http://www.freebsd.org/doc/en_US.ISO_8859-1/books/developers-handbook/ I search the outside, search inside for you... |
From: Jim U. <ji...@3e...> - 2001-04-19 16:04:08
|
At 11:32am on 2001 April 19, Jim Ursetto did write: > [Dreamcast p]rices dropped to $99 from $149 a couple months ago. I forgot to note that, unless you are prepared to go through a ton of CD-Rs, you need some kind of connection from your PC to your DC. This usually takes the form of a serial cable, or recently, an ethernet adapter. Unfortunately both of these must be ordered and they can get expensive--I opted for the ethernet and it set me back $60. Still, under $200 for the opportunity to develop (with free dev tools) on a console is a pretty sweet deal. -- "closing my eyes, i got a glimpse of several entities moving in front of a giant complex control panel. the creatures were bipedal and of about human size. it was impossible to say more other than they did not move like the giant insect creatures i have seen clearly under the influence of stropharia mushrooms." -- zarkov, "a hit of dmt 10/9/84" ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Jim U. <ji...@3e...> - 2001-04-19 15:56:30
|
At 09:46pm on 2001 April 18, Mike Melanson did write: > On Wed, 18 Apr 2001, Jim Ursetto wrote: > I haven't been too heavily involved in the rendering code but I've > always assumed that the rendering granularity was at the > individual lines Okay, I hope that's the case. It'd be nice to find out if the NES is even capable of a finer granularity, and if so, whether any games use it or if it's just limited to demos that require precise timing etc. that few or no emulators can run anyway. I have a feeling that if it can be made to work completely, writing more than one pixel per loop iteration may improve performance on platforms other than the dc. That's a big if, though. > Also, what are some good web resources on programming the > Dreamcast? That seems pretty interesting. And I know Sega was supposed to > be unloading their DC stuff soon. I'll have to check if the prices have > plumetted yet and maybe pick up one of those with the PPC. Prices dropped to $99 from $149 a couple months ago. It's very cool hardware, though I'm not sure a scanline-based NES emulator like tuxnes will ever run at 60fps, at least without major modifications. But I am stubborn... You can try http://mc.pp.se/dc/ as a starting point. It's got good info and links to other sites. Also, you can mailx -s "subscribe" dcd...@eg... < /dev/null or the like to subscribe to dcdev, the dreamcast development mailing list. Archives are available through yahoo groups somewhere. Jim -- "... [WM97/Melissa-V] triggers immediately and attempts to delete data on your M:, N:, O:, P:, Q:, S:, F:, I:, X:, Z:, H:, and L: network drives." ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Jim U. <ji...@3e...> - 2001-04-19 02:49:15
|
At 09:32pm on 2001 April 18, Mike Melanson did write: > - figure out why TuxNES insists on using all of the CPU when you > pause the emulator and hopefully fix it. I've received a number of > complaints on this one; does anyone know why this happens? I haven't yet > investigated. Have a look at any of the renderers, for example x11.c. There is code in UpdateDisplay that does do { /* handle input, perhaps pauses emulator */ } while (sleep || renderer_data.pause_display); Therefore it just spins in this loop until the emulator is unpaused. When pause is in effect, it should probably switch from polling to blocking on events, or at least call usleep() to lessen the CPU load. Jim -- ``The coolest thing is being able to get my e-mail read to me, like I'm the queen,'' said Jen Bekman, 31, an AOLbyPhone user in New York who develops Web content for streaming video. -- http://www0.mercurycenter.com/svtech/news/breaking/ap/docs/844798l.htm ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Mike M. <mel...@pc...> - 2001-04-19 02:44:30
|
On Wed, 18 Apr 2001, Jim Ursetto wrote: > Do PPU updates made during a scanline take effect immediately? My > understanding is no---they are either disallowed or delayed until hblank or > vblank. I ask because if this is the case, I can optimize the rendering > code in a way that is a huge win for the dreamcast. I haven't been too heavily involved in the rendering code but I've always assumed that the rendering granularity was at the individual lines (I believe earlier versions of Nestra were screen-based). It sounds as if you know more about the rendering code at this point than me. Also, what are some good web resources on programming the Dreamcast? That seems pretty interesting. And I know Sega was supposed to be unloading their DC stuff soon. I'll have to check if the prices have plumetted yet and maybe pick up one of those with the PPC. -- -Mike Melanson |
From: Mike M. <mel...@pc...> - 2001-04-19 02:30:11
|
Hi team, I just wanted to post some notes about where TuxNES is going (or where I see it going): First, I would like to put out version 1.0 in the near future. This won't be too big of a change from v0.75. I just want it to clean up a few nagging issues, such as: - more complete HACKING file - reinstate the u-law feature (whatever it is) or get rid of ulaw.c from the distribution. When I was putting the finishing touches on v0.75, I noticed that ulaw.c contains a single (large) array which isn't actually referenced any longer from any file. - figure out why TuxNES insists on using all of the CPU when you pause the emulator and hopefully fix it. I've received a number of complaints on this one; does anyone know why this happens? I haven't yet investigated. - what else can people think of? After version 1.0, we can go wild on version 2.0. Major features I want to see are: - portable CPU core - dyn-rec engine for MIPS and PPC platforms - save state files - more mapper support (like MMC5) due to traditional CPU emulation paradigm fixing the shortcomings of the dyn-rec approach - any more major features? I would like to finally invest in a used PowerPC computer in the near future. I would like to port TuxNES to the PPC platform and do a few other projects. The LinuxPPC page tells me which hardware to use and which to steer clear of. Does anyone have any experience with Linux on a PPC? Can you tell me any general tips to keep in mind? Which distributions are recommended? Any caveats of which to beware? -- -Mike Melanson |
From: Jim U. <ji...@3e...> - 2001-04-18 15:14:07
|
Do PPU updates made during a scanline take effect immediately? My understanding is no---they are either disallowed or delayed until hblank or vblank. I ask because if this is the case, I can optimize the rendering code in a way that is a huge win for the dreamcast. I also ask because my reading of the emulator code indicates that it accepts mid-scanline updates, and calls drawimage() immediately, but in all cases that I can see it delays any visible effect until hblank. For example, drawimage keeps a local static copy of hscrollreg in curhscroll and only synchronizes them during hblank. I am experimenting with writing eight pixels to the screen per loop iteration, rather than one, and also combining two 16-bit pixels into one 32-bit write. As I mentioned this provides a big speedup on the dc. However the code becomes more complicated if you don't start on an eight-pixel boundary, or write fewer than eight pixels. To solve this I need to make additional changes to the code, which will result in most mid-scanline updates being delayed (although mmc2_4_latch will still work). But I don't want to make these changes if it will break a large number of games and I can't find a workaround. Jim -- "You can eat if you want to; that's your prerogative... I used to play that game... I know what it's like... But I'm just not interested in it any more... I'm not interested in going out, and working for the money to buy the food, then shopping for it, then going home and preparing it, then eating it, then washing the dishes, then just letting it all out in the toilet... and in the end, you end up in a box, in the ground, on the outside of town." -- breatharian.com ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Paul Z. <pe...@cr...> - 2001-04-18 13:31:15
|
The realtime sound update is in. Updated ChangeLog, sound.c * made sound render in realtime so that reads from 0x4015 will be more accurate than 1/60 sec Paul -- Paul Zaremba Senior - CSC, North Carolina State University Use an Envelope, Please encrypt ALL EMail. PGP Public Key - www.keyserver.net, pe...@cr... http://treeofice.2y.net/~pez/pez.pub |
From: Paul Z. <pe...@cr...> - 2001-04-17 21:54:55
|
With the release of 0.75 I was taking a look at the sound code today.. and realized that it can't interact properly with the ROMs in realtime. It is only accurate at 1/60 sec intervals, so any reads from 0x4015 not immediately after a vsync could be incorrect. I need titles of games that aren't working properly (could be sound timing issues with the game reading register 0x4015 or the DMC Interrupt). I have fixed (I think) on my local copy the sound timing issues regarding 0x4015 (It renders the sound as the 0x40xx registers are written, 0x4015 is read, or a vsync occurs and sends the audio on vsync). I *think* TMNT uses sound timing for one of its levels, but I'm not sure and I'm typing this email as I'm headed out the door.. I'll check in the realtime fix later tonight. Paul -- Paul Zaremba Senior - CSC, North Carolina State University Use an Envelope, Please encrypt ALL EMail. PGP Public Key - www.keyserver.net, pe...@cr... http://treeofice.2y.net/~pez/pez.pub |
From: Jim U. <ji...@3e...> - 2001-04-17 21:20:56
|
At 03:31pm on 2001 April 17, Rigel did write: > okay, technically, A = 0000 0001 (1,or 0x1). So > when you sh left one bit, A = 0000 0010 (2, or 0x2). > This is a binary carry! You need to go back and read the descriptions of the 6502 flags. Carry has nothing to do with "binary carry." The _point_ of ASL is to shift the leftmost bit into the carry. "ASL shifts all bits left one position. 0 is shifted into bit 0 and the original bit 7 is shifted into the Carry." Overflow is only used for add/subtract. "The Overflow flag is generally misunderstood and therefore under- utilised. Following addition or subtraction, the overflow will equal the EOR (exclusive or) of the Carry and Sign flags. This flag is not affected by increments, decrements, shifts and logical operations i.e. only ADC, SBC, CLV, PLP and RTI affect it. There is no op code to set the overflow but a BIT test on an RTS instruction will do the trick." --- http://www.asw.cz/~kubecj/aopc.htm#VFLAG Please RTFM, there are many good references on the net. You will need a good understanding of 6502 and intel assembly to port the core to MIPS. -- ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Rigel <ri...@an...> - 2001-04-17 20:31:27
|
-- On Tue, 17 Apr 2001 12:43:35 Jim Ursetto wrote: >At 12:02pm on 2001 April 17, Rigel did write: >> >> let's say the operation is sh left, so in C: >> >> modified=orig<<1; >> >> carryf = modified ^ orig; // ^ is xor operator (?) >> >> >Um... try, for example, orig=1. This gives carryf = 3. >> >xoring won't work except by chance. ;) >> >> >For ASL, try something like >> >carryf = (orig & 0x80) ? 1 : 0; >> >or equivalently >> >carryf = (orig & 0x80) >> 7; >> >> >Grab a copy of an (unencumbered) C 6502 core (e.g. Nofrendo) because >> >it will tell you exactly how every instruction works in a high-level >> >language. > >> I thought anything non-zero was true (even in asm)? I was working under that assumption, (assuming makes an ass out of "u" and "me"...). >But ASL when A=01 does not carry. okay, technically, A = 0000 0001 (1,or 0x1). So when you sh left one bit, A = 0000 0010 (2, or 0x2). This is a binary carry! isn't it? Thus my crude xor would set the flag on any difference in orig and mod. It looks to me like the way you're doing it is setting the flag on overflow. e.g. A =1000 0000 (0x80) shifted left is A = 0000 0000 and an overflow exception occurs. Though you do have the darcnes C core on your side... Who needs Cupid? Matchmaker.com is the place to meet somebody. FREE Two-week Trial Membership at http://www.matchmaker.com/home?rs=200015 |
From: Rigel <ri...@an...> - 2001-04-17 18:46:27
|
-- On Tue, 17 Apr 2001 12:43:35 Jim Ursetto wrote: >At 12:02pm on 2001 April 17, Rigel did write: >> >> let's say the operation is sh left, so in C: >> >> modified=orig<<1; >> >> carryf = modified ^ orig; // ^ is xor operator (?) >> >> >Um... try, for example, orig=1. This gives carryf = 3. >> >xoring won't work except by chance. ;) >> >> >For ASL, try something like >> >carryf = (orig & 0x80) ? 1 : 0; >> >or equivalently >> >carryf = (orig & 0x80) >> 7; >> >> >Grab a copy of an (unencumbered) C 6502 core (e.g. Nofrendo) because >> >it will tell you exactly how every instruction works in a high-level >> >language. > >> I thought anything non-zero was true (even in asm)? I was working under that assumption, (assuming makes an ass out of "u" and "me"...). >But ASL when A=01 does not carry oops, doh. back to the cave Who needs Cupid? Matchmaker.com is the place to meet somebody. FREE Two-week Trial Membership at http://www.matchmaker.com/home?rs=200015 |
From: Jim U. <ji...@3e...> - 2001-04-17 17:07:48
|
At 12:02pm on 2001 April 17, Rigel did write: > >> let's say the operation is sh left, so in C: > >> modified=orig<<1; > >> carryf = modified ^ orig; // ^ is xor operator (?) > > >Um... try, for example, orig=1. This gives carryf = 3. > >xoring won't work except by chance. ;) > > >For ASL, try something like > >carryf = (orig & 0x80) ? 1 : 0; > >or equivalently > >carryf = (orig & 0x80) >> 7; > > >Grab a copy of an (unencumbered) C 6502 core (e.g. Nofrendo) because > >it will tell you exactly how every instruction works in a high-level > >language. > I thought anything non-zero was true (even in asm)? I was working under that assumption, (assuming makes an ass out of "u" and "me"...). But ASL when A=01 does not carry. -- ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Rigel <ri...@an...> - 2001-04-17 17:02:58
|
>> let's say the operation is sh left, so in C: >> modified=orig<<1; >> carryf = modified ^ orig; // ^ is xor operator (?) >Um... try, for example, orig=1. This gives carryf = 3. >xoring won't work except by chance. ;) >For ASL, try something like >carryf = (orig & 0x80) ? 1 : 0; >or equivalently >carryf = (orig & 0x80) >> 7; >Grab a copy of an (unencumbered) C 6502 core (e.g. Nofrendo) because >it will tell you exactly how every instruction works in a high-level >language. I thought anything non-zero was true (even in asm)? I was working under that assumption, (assuming makes an ass out of "u" and "me"...). Who needs Cupid? Matchmaker.com is the place to meet somebody. FREE Two-week Trial Membership at http://www.matchmaker.com/home?rs=200015 |
From: Jeroen Ruigrok/A. <as...@wx...> - 2001-04-17 08:19:25
|
-On [20010416 17:39], Rigel (ri...@an...) wrote: >On Fri, 13 Apr 2001 09:18:53 > Mike Melanson wrote: >>On Fri, 13 Apr 2001, Jeroen Ruigrok/Asmodai wrote: >> >>> -On [20010412 01:01], Rigel (ri...@an...) wrote: >>> >I have an account on a MIPS (SGI) machine!! >>> >>> Heh. I have two at home. >>> >>> Currently busy porting FreeBSD to MIPS. :) >> >> Neat. Then we know we can count on you to help test the dyn-rec >>engine for the MIPS machine...:) BTW, I might have been a little confused >>when I referred to the "MIPS ISA". I'm not well-versed in all the >>different types of MIPS processers. > >There are quite a few mips processors, but there kind of is a MIPS ISA. >This is the inst set encountered on the first MIPS chips (MIPS 2000) in >1985 or so, and is a very capable RISC ISA. There is (are) a MIPS ISA. It just has different versions. There is I, II, III and IV, with IV being the most popular and best one around right now. Used in the 4x00 designs. >Actually, the SGI I'll be working on doesn't have so much as a c >compiler, so I may have to deal w/ a cross-compiler--an awkward >proposition. I'll keep yall posted on developments in this area. gcc probably has a binary install somewhere. -- Jeroen Ruigrok van der Werven/Asmodai .oUo. asmodai@[wxs.nl|freebsd.org] Documentation nutter/C-rated Coder BSD: Technical excellence at its best D78D D0AD 244D 1D12 C9CA 7152 035C 1138 546A B867 Father, forgive them; for they know not what they do... |
From: Jeroen Ruigrok/A. <as...@wx...> - 2001-04-17 08:07:44
|
-On [20010417 09:09], Scott D. Weber (sd...@sc...) wrote: >Congrats to the TuxNES team on the release of 0.75. In celebration, I >offer up GTuxNES 0.75. I made some slight changes from the previous >development version (0.3.0), dubbed it "compatible" with TuxNES 0.75 and >tossed it online for mass consumption. I'll do BSD compilation tests as soon as possible Scott. -- Jeroen Ruigrok van der Werven/Asmodai .oUo. asmodai@[wxs.nl|freebsd.org] Documentation nutter/C-rated Coder BSD: Technical excellence at its best D78D D0AD 244D 1D12 C9CA 7152 035C 1138 546A B867 I succeed him; no one could replace him... |
From: Jeroen Ruigrok/A. <as...@wx...> - 2001-04-17 07:56:40
|
-On [20010416 15:38], Mike Melanson (mel...@pc...) wrote: >> Also, could you add NetBSD to the supported OS's on SourceForge? > > I'll take care of it. Got another one: www.softseek.com/cgi-bin/submit.pl?46599 -- Jeroen Ruigrok van der Werven/Asmodai .oUo. asmodai@[wxs.nl|freebsd.org] Documentation nutter/C-rated Coder BSD: Technical excellence at its best D78D D0AD 244D 1D12 C9CA 7152 035C 1138 546A B867 Heart is the engine of your body, but Mind is the engine of Life... |
From: Scott D. W. <sd...@sc...> - 2001-04-17 04:53:03
|
Congrats to the TuxNES team on the release of 0.75. In celebration, I offer up GTuxNES 0.75. I made some slight changes from the previous development version (0.3.0), dubbed it "compatible" with TuxNES 0.75 and tossed it online for mass consumption. Intereted folk can grab the new version here: http://www.scottweber.com/projects/gtk/gtuxnes/ -Scott |
From: Jeroen Ruigrok/A. <as...@wx...> - 2001-04-16 21:11:19
|
-On [20010416 15:38], Mike Melanson (mel...@pc...) wrote: > Wow, that was sloppy of me! I never modified the Makefile.am file >to include unzip.h and ziploader.h. I fixed it now, *verified it*, and >uploaded a new archive. Cool. :) Verified here as well, and updated the native FreeBSD ports skeleton for 0.75, just in time for 4.3-RELEASE. Wheeeeeeeeeee. :) -- Jeroen Ruigrok van der Werven/Asmodai .oUo. asmodai@[wxs.nl|freebsd.org] Documentation nutter/C-rated Coder BSD: Technical excellence at its best D78D D0AD 244D 1D12 C9CA 7152 035C 1138 546A B867 Relativity teaches us the connection between the different descriptions of one and the same reality... |
From: Jim U. <ji...@3e...> - 2001-04-16 20:35:28
|
At 03:05pm on 2001 April 16, Rigel did write: > > [ I wrote ] > >Yes. What trouble are you having with the implementation? > >When carry is set, ebp is -1. When carry is clear, ebp is 0. > >For instructions which may carry, the sequence is: > >addl -1, %ebp # set i386 carry if %ebp >was set > ><instruction which may carry> # set i386 carry according to 6502 instruction > >sbbl %ebp, %ebp # set %ebp to -1 on >carry, else clear > Okay, I get that much. However, Mips doesn't > necessarily have a flags reg (I don't think). If it has a carry flag and instructions which add with carry/subtract with borrow, you can use the shortcut technique above. > let's say the operation is sh left, so in C: > modified=orig<<1; > carryf = modified ^ orig; // ^ is xor operator (?) Um... try, for example, orig=1. This gives carryf = 3. xoring won't work except by chance. ;) For ASL, try something like carryf = (orig & 0x80) ? 1 : 0; or equivalently carryf = (orig & 0x80) >> 7; Grab a copy of an (unencumbered) C 6502 core (e.g. Nofrendo) because it will tell you exactly how every instruction works in a high-level language. -- "There is a very hollow echo of a gaur in the birth of that animal to a cow in Iowa. To say that is a gaur is to disrespect all gaurs in all the places where gaurs live. That animal will never live its life in true gaurdom, to wander in the forests of India and frolic with other gaurs and die and let teak trees grow out of it. That's the gaur I'm working to save." -K. Redford ji...@3e... / 0x43340710 / 517B C658 D2CB 260D 3E1F 5ED1 6DB3 FBB9 4334 0710 |
From: Rigel <ri...@an...> - 2001-04-16 20:05:52
|
My apologies for my inferior mail service--it appears I've not been receiving all my mail. (And they're using Linux servers here, too!) So I had to look this up in the archive... At 10:28am on 2001 April 12, Rigel did write: >> heads up here. I don't understand the implementation in table.x86. So >> on all these listed instructions I set carry flag if there was a carrry >> (and clear it otherwise)? >Yes. What trouble are you having with the implementation? >When carry is set, ebp is -1. When carry is clear, ebp is 0. >For instructions which may carry, the sequence is: >addl -1, %ebp # set i386 carry if %ebp >was set ><instruction which may carry> # set i386 carry according to 6502 instruction >sbbl %ebp, %ebp # set %ebp to -1 on >carry, else clear >Like I said, check out SEC, CLC and ROR - >Accumulator, these are the >simplest examples. Okay, I get that much. However, Mips doesn't necessarily have a flags reg (I don't think). so would this be right? let's say the operation is sh left, so in C: modified=orig<<1; carryf = modified ^ orig; // ^ is xor operator (?) I believe this to be accurate if we're doing binary math, but yell at me if I'm wrong. And an aside to Mike. I do have root privileges on the previously mentioned SGI. Now I want to put gcc on it. How? I've been to sgi.com/developers/devtools/apis/...html (their idf and idl stuff) but when I try to install it, the inst program gives me a failed dependency error. Any clues, or do you even run irix? Who needs Cupid? Matchmaker.com is the place to meet somebody. FREE Two-week Trial Membership at http://www.matchmaker.com/home?rs=200015 |
From: Rigel <ri...@an...> - 2001-04-16 15:13:27
|
-- On Fri, 13 Apr 2001 09:18:53 Mike Melanson wrote: >On Fri, 13 Apr 2001, Jeroen Ruigrok/Asmodai wrote: > >> -On [20010412 01:01], Rigel (ri...@an...) wrote: >> >I have an account on a MIPS (SGI) machine!! >> >> Heh. I have two at home. >> >> Currently busy porting FreeBSD to MIPS. :) > > Neat. Then we know we can count on you to help test the dyn-rec >engine for the MIPS machine...:) BTW, I might have been a little confused >when I referred to the "MIPS ISA". I'm not well-versed in all the >different types of MIPS processers. There are quite a few mips processors, but there kind of is a MIPS ISA. This is the inst set encountered on the first MIPS chips (MIPS 2000) in 1985 or so, and is a very capable RISC ISA. Actually, the SGI I'll be working on doesn't have so much as a c compiler, so I may have to deal w/ a cross-compiler--an awkward proposition. I'll keep yall posted on developments in this area. I'd estimate I have assembler for about 1/2 of the 6502 inst, with a total of 1/3 of the code (for the table) done. Who needs Cupid? Matchmaker.com is the place to meet somebody. FREE Two-week Trial Membership at http://www.matchmaker.com/home?rs=200015 |