20 lines
584 B
Java
20 lines
584 B
Java
package sega.dreamcast.gdrom;
|
|
|
|
import sega.dreamcast.gdrom.G1IF;
|
|
import java.misc.Memory;
|
|
|
|
public class GdromIF {
|
|
// transfer_length is in bytes
|
|
public static void startG1DMA(int start_address, int transfer_length) {
|
|
int gdstar = start_address & ~(0b111 << 29);
|
|
|
|
Memory.putU4(G1IF.GDAPRO, 0x8843007F);
|
|
Memory.putU4(G1IF.G1GDRC, 0x00001001);
|
|
Memory.putU4(G1IF.GDSTAR, gdstar);
|
|
Memory.putU4(G1IF.GDLEN, transfer_length);
|
|
Memory.putU4(G1IF.GDDIR, 1);
|
|
Memory.putU4(G1IF.GDEN, 1);
|
|
Memory.putU4(G1IF.GDST, 1);
|
|
}
|
|
}
|