- Group:
- Tech Member: Tech Members
- Active Posts:
- 2582 (0.78 per day)
- Most Active In:
- Engineering & Reverse Engineering (221 posts)
- Joined:
- 08-April 04
- Profile Views:
- 2277
- Last Active:
Yesterday, 09:03 PM- Currently:
- Offline
My Information
- Member Title:
- S2HD Staff - Tools & Assistant Programmer
- Age:
- 28 years old
- Birthday:
- July 27, 1984
- Gender:
-
Male
- Location:
- United States of America
- Interests:
- http://www.youtube.com/watch?v=oSkQoKRovEk
Contact Information
- E-mail:
- Click here to e-mail me
- Website:
-
http://www.youtube.com/saxman727
Previous Fields
- Other Contact Info:
- http://www.youtube.com/watch?v=oSkQoKRovEk
- Project:
- http://www.youtube.com/watch?v=oSkQoKRovEk
- National Flag:
- us
- Wiki edits:
- 136
Latest Visitors
-
Hinchy 
18 May 2013 - 18:32 -
Extended Play 
12 May 2013 - 19:11 -
Naean 
08 May 2013 - 14:00 -
Ravenfreak 
27 Apr 2013 - 16:39 -
Quarterman 
08 Mar 2013 - 00:17
Topics I've Started
-
Laptop Fan Replacement
27 April 2013 - 02:59 PM
My laptop is an HP Pavilion DV6-2173CL. It has had a bad fan for many months now. It's so bad, I rarely use this thing anymore because of how loud and obnoxious the fan has become (and because I'm afraid of my computer overheating unexpectedly). I have been searching a bit for a fan and found this:
http://www.laptopinv...2173CL/Fan/1215
I know nothing about fans. I've never had to replace one before. Does it matter what type of fan I get for my computer? Do only certain fans fit/work in it? Is the price and quality of that fan in the link a fair deal? Is there a better deal out there? Anyone who might be able to steer me in the right direction gets some cyber beer and pizza. -
Question About ANT Scripts
28 January 2013 - 09:19 PM
I don't have a great deal of experience with ANT scripts. I have a Java application structured like this:
/src -> source files
/bin -> "mreq" package
/lib -> JAR files
/dist -> program JAR compile
I created an ANT script that copies the /lib folder files to /bin and compiles the contents in there together to make /dist/PortableRequestDispatcher.jar. It's supposed to be a stand-alone executable JAR. The problem I found is it looks for libraries in ../lib instead of inside itself like it should. As a result, it throws a ClassNotFound error.
I don't know why it's looking for the library files outside the JAR, and my lack of experience with ANT unfortunately has made this very difficult to resolve. I'm posting the script below. Can anyone help me by telling me what I need to do differently here?
<project name="MultiRequest" basedir="." default="jar"> <description> Build file for Portable Request Dispatcher </description> <tstamp> <format property="date" pattern="MM/dd/yyyy" /> <format property="time" pattern="hh:mm:ss aa" unit="hour" /> </tstamp> <path id="libraries.path"> <fileset dir="lib"> <include name="*.jar"/> </fileset> </path> <target name="clean" description="Clean"> <delete dir="bin" /> <delete dir="dist" /> </target> <target name="compile" description="Compile source files"> <echo file="src/mreq/Generated.java" >package mreq; public class Generated { public static final String BUILD_DATE = "${date}"; public static final String BUILD_TIME = "${time} EST"; }</echo> <mkdir dir="bin" /> <javac srcdir="src" destdir="bin" debug="true" debuglevel="lines, vars, and source" includeantruntime="false" > <classpath refid="libraries.path" /> </javac> </target> <target name="jar" depends="clean, compile" description="Generation distribution"> <mkdir dir="dist" /> <mkdir dir="bin" /> <copy todir="bin" flatten="true"> <path refid="libraries.path" /> </copy> <mkdir dir="bin" /> <copy todir="bin" flatten="true"> <fileset dir="res"> <include name="log4j.properties" /> </fileset> </copy> <manifestclasspath property="manifest.classpath" jarfile="dist/PortableRequestDispatcher.jar"> <classpath refid="libraries.path"/> </manifestclasspath> <jar destfile="dist/PortableRequestDispatcher.jar" basedir="bin"> <manifest> <attribute name="Main-Class" value="mreq.MultiDispatcher"/> <attribute name="Class-Path" value="${manifest.classpath}"/> </manifest> </jar> <mkdir dir="dist/cert" /> <copy todir="dist/cert"> <fileset dir="cert" /> </copy> <mkdir dir="dist/cfg" /> <copy todir="dist/cfg"> <fileset dir="cfg" /> </copy> <mkdir dir="dist/xml" /> <copy todir="dist/xml"> <fileset dir="xml" /> </copy> </target> <target name="run"> <java jar="dist/PortableRequestDispatcher.jar" fork="true" /> </target> </project> -
Replacing V-Int with H-Int Exclusively
15 November 2012 - 01:16 PM
What I have here is a version of Sonic 2 that doesn't use the vertical interrupt at all. It instead relies entirely on the horizontal interrupt to do both page and line code.
Here's the source code and ROM:
http://uploading.com...4f1c1/s2hint.7z
I have an issue with the horizontal interrupt timing though. I have battled with this for a while now, and I cannot for the life of me figure out what is going on. I've read every VDP document known to man, many times over. I've debugged the heck out of my ROM.
In Regen, set a breakpoint for a write to address FFF520. Go to Aquatic Ruin 1. When the debug window pops up, you can use this guide to see what's going on:
D0 = current VH pos
D2 = previous line interrupt VH pos
D4 = previous page interrupt VH pos
D5 = interrupt count
D6 = Hint_counter_reserve value
D7 = interrupt type (0 = first page, 2 = page, 3 = line)
The interrupt count (D5) will tally up how many times an interrupt has occurred when the Hint flag (Hint_enable) is on. Take a look at when D5 is equal to 0x5E:
D0 = DF17 (this interrupt has occurred on line DF)
D2 = DF79 (previous line interrupt occurred on line DF)
D4 = DF76 (previous page interrupt occurred on line DF)
D5 = 005E (interrupt number 5E)
D6 = 8ADF (reserve DF)
D7 = 0002 (do a page interrupt)
Now take a look at when D5 is equal to 0x5F:
D0 = E6A6 (this interrupt has occurred on line E6)
D2 = DF79 (previous line interrupt occurred on line DF)
D4 = DF77 (previous page interrupt occurred on line DF)
D5 = 005F (interrupt number 5E)
D6 = 8ADF (reserve DF)
D7 = 0002 (do a page interrupt)
The problem here is the 5F interrupt is occuring when the VH pos (D0) is E6xx. It should never be anything higher than DFxx. Everything is working up until this frame. But when you look at the Hint_counter_reserve (D6), it still says 8ADF.
Naturally, I begin to think that somewhere else in my code register 10 is getting changed. However, I can't figure out where. I can't figure out how. Unfortunately, Regen can't trace writes to the VDP registers which would probably be the key to this whole thing. All I can figure out so far is having an interrupt at E6xx is wrong!
Here's what the problem looks like in the game:
If the H-int timing gets thrown off as demonstrated earlier, then the game will do what it's doing in the video.
I've been trying to fix this for a month now. Is anyone out there willing to take on the challenge and see if they can get the H-int timing working properly? I know it's a challenge, but I'm hoping some of you will like the challenge and what to take a crack at getting the H-int to handle everything as intended. -
VDP timing
02 November 2012 - 11:59 PM
I've been all over the net, and I can't find an answer to this one very vital question. When does the Hint counter actually refresh?
Like, say I want to change register 10 and set it to 150. Previously, it was set to 223 (so an H interrupt would occur right below the screen area). So, first Hint happens at the end of line 223, then I set register 10 to a value of 150. Will the very next Hint occur at line 151, or will I have to wait a cycle for the the interrupt to occur there?
Also, I have always been under the impression, based on documentation I've read, that the line counter gets reset at line 0. This would effectively sync the counter with the top of the screen. Does anyone know for certain that this is actually what happens, or can the line counter value from the bottom of the screen get carried over to the top of the next frame? -
Web Services with J2EE
25 July 2012 - 03:51 PM
Anyone here experienced with web services with J2EE? I'm having trouble recreating this example:
http://docs.oracle.c...0/tutorial/doc/
I don't know what I'm doing wrong. I have the service deployed on the server. I used WSIMPORT to generate the JAVA files that I put into the client project. However, the "service" object is equal to null, and thus the program throws a NullPointerException when it tries to get the port.
First, I wrote the web service:
// Hello.java package wspack; import javax.jws.*; @WebService() public class Hello { private String message = new String("Hello, "); public Hello() {} @WebMethod() public String sayHello(String name) { return message + name + "."; } }
Next, I wrote the client code:
// HelloClient.java package pack; import javax.xml.ws.WebServiceRef; import wspack.Hello; import wspack.HelloService; public class HelloClient { @WebServiceRef(wsdlLocation="http://localhost:7001/_MyWebService/HelloService?wsdl") static HelloService service; public static void main(String[] args) { try { HelloClient client = new HelloClient(); client.doTest(args); } catch(Exception e) { e.printStackTrace(); } } public void doTest(String[] args) { try { System.out.println("Retrieving the port from the following service: " + service); Hello port = service.getHelloPort(); System.out.println("Invoking the sayHello operation on the port."); String name; if(args.length > 0) { name = args[0]; } else { name = "No Name"; } String response = port.sayHello(name); System.out.println(response); } catch(Exception e) { e.printStackTrace(); } } }
I deployed the web service onto the server. I tested to make sure a WSDL was actually generated by going to the address http://localhost:700...lloService?wsdl, and this is what it shows:
(link to the file -- http://www.filefacto...elloService_xml)
Sorry, I can't seem to paste the WSDL contents in a easy-to-read format, so I uploaded a copy of it. No signup is required to download this file, but you do have to wait for the timer to run before you can get it.
Next, I ran WSIMPORT. Here's what is shown on my command window:
C:\bea\jdk160_05\bin>wsimport -keep -d .\ http://localhost:7001/_MyWebService/HelloService?wsdl parsing WSDL... generating code...
It generated both JAVA and CLASS files. These are the files:
- Hello.class - HelloService.class - ObjectFactory.class - package-info.class - SayHello.class - SayHelloResponse.class - Hello.java - HelloService.java - ObjectFactory.java - package-info.java - SayHello.java - SayHelloResponse.java
This next part I'm a little iffy on. In my client project, I created a new package named "wspack" and put all the generated JAVA files in it. The project compiles and deploys fine. However, the program doesn't actually work correctly. Here's the console output:
Retrieving the port from the following service: null java.lang.NullPointerException at pack.HelloClient.doTest(HelloClient.java:29) at pack.HelloClient.main(HelloClient.java:18)
I left out a few comment lines when I pasted my code above, so the line numbers the console refers to are going to be different for you. The HelloClient.java:18 is refering to "client.doTest(args), and the HelloClient.java:29 is referring to "Hello port = service.getHelloPort()".
It looks to me that on the surface, the exception is due to "service" being null. Why is it null? Where have I gone wrong here? I know I'm point to the correct location for the WSDL. I even tried doing the @WebServiceRef annotation without anything inside, and it still doesn't work.

Find My Content