please report bugs here...
I'll just say this: i tried using javacpc in my 10"-screen netbook (1024x600). Need i say more? :)
1024 x 600? Wow.... Do you breast-feed it? ::)
Maybe it'll grow then ;)
I don't know if it makes sense to run an emulator @ this resolution.
But I re-arranged some things in JavaCPC so it should be possible to run it @ 800x600, too...
You will also be able to run it as "classical" emulator without desktop in it's own frame.
I really wonder that it works on such a netbook / notebook... 8)
Let's have a closer look:ouch my eyes. too close! ;D
(http://cpc-live.com/rgbcloser.png)
Let's have a closer look:
Come on guys, this can show cool effects
Very impressive stuff, especially the images... the filter is very interesting, before I saw your close-ups I was struggling to imagine how it works and what it does in the first pics...
Right, all songs are converted from amiga.
http://cpc-live.com/silkworm.zip (http://cpc-live.com/silkworm.zip)
Another well known tune
Right, all songs are converted from amiga.
http://cpc-live.com/silkworm.zip
Another well known tune
That reminds me when someone in the csa8 newgroup did'nt know how to format a DSK, someone else provide an empty preformatted disc image for download. Pretty cool idea, downloading empty discs! Or maybe not? ;)
Hi Devilmarkus.
I'd really like to see what you've been up to the last few months. Should we expect a new beta released soon?
Well, here you go
1. On startup, even though keyboard noises are disabled, it performs noise on key click. Selecting and deselecting "keyboard noises" from the menu solves this issue.
2. It seems that the data shown on screen when "observe performance" is selected are overlapping the actual screen when "simple screen size" is selected. I've tried this in my netbook and i couldn't try a larger setting but i'm guessing the same problem may exist in "triple screen size" too.
3. On startup, even though "observe performance" is unchecked, performance info are being shown on screen for a few seconds. The same seems to happen when JavaCPC receives focus.
4. Menus "CRTC type" and "Memory", even though they seem to have submenus, they don't appear.
Found these so far. I'll keep playing with it later.
Thanks again for the beta. Working really nice even in my netbook (not the best speed but still, it's working).
Please email me a screenshot.
Btw, it'd be cool to have a tape counter instead of a tape led :D Or maybe (I haven't loaded a tape image so I don't know what it does) the tape led could alternate between two colours (or one colour with two different intensities) for the high and low sounds :)
Do the floppy leds work?
I tried yesterday the tape drive, but I tried some games and didn't see the leds flashing.
0x14580F, 0x165C11, 0x1A6115, 0x1C6417,
0x1E6819, 0x226D1D, 0x277421, 0x297723,
0x2D7C27, 0x33852C, 0x36892F, 0x3A8F33,
0x3C9335, 0x409738, 0x439C3B, 0x48A440,
0x4BA742, 0x4EAC45, 0x54B44B, 0x57B94E,
0x5BBE51, 0x5DC153, 0x60C656, 0x64CB59,
0x68D15D, 0x69D25E, 0x6AD45F,
0x3F9637, 0x297723, 0x6CD761, 0x165C12,
0x58BA4E
(From INK 0 to INK 31)Different compiler version?
I opened the Z80 Assembler, I pasted in the code from above and pressed Compile, it complains of >600 Errors then if I wait it does a second pass and I just get the 3 errors (as shown in the 2nd screenshot).
Okay, so what am I doing wrong?Not sure. this is what I did.
At 4:12 in your video, an object spins back and forth giving a form of depth perception... does anyone know if this could be done for an end of level boss in a shoot-em-up for the CPC? Hopefully you guys understand what I'm on about, but basically not only would the end of level enemy move up and down to avoid fire, but in and out as well?This is a crtc hardware trick. Where the same line of the screen is effectively repeated, and the start address is changed to give the line width.
This is a crtc hardware trick. Where the same line of the screen is effectively repeated and the start address is changed to point to various line widths to give the illusion of 3d. It is done very nicely.
so this effect could not be used directly in a shoot em up on the cpc.
You would have to simulate it using software.
Hi Markus, one bug I've told you isn't fixed yet:
After opening a DSK in JavaCPC I've got to choose drive a triple!
Yes, three times :(
JavaCPC status: no tape nor disc loaded
drag&drop -> once
file->open with javacpc-> triple
I've found some bugs
extras -> key2joy -> nothing happens
settings -> advanced options -> gui is empty
Working on a new fileformat to store keyboard input...
Grrrrrr this snp format makes me mad!
Recording works about 95% accurate...
Playback is about 89% accurate!
That's why I created the much more complex SNR format. Starts with a V3 snapshot and has various cycle level checks.
Any docs about this format?
Would be cool to know how it works... ;)
{ TODO: Save Disc Image names, active ROMs, CPC Plus Raster Int flag }
{ TODO: PS2 Mouse X/Y and Button states in SNR }
const
HeaderSNA: String = 'MV - SNA';
HeaderSNP: String = 'MV - SNP';
HeaderSNR: String = 'RW - SNR';
CRTC_FLAG_VSYNC_ACTIVE = $01;
CRTC_FLAG_HSYNC_ACTIVE = $02;
CRTC_FLAG_HDISP_INACTIVE = $04;
CRTC_FLAG_VDISP_INACTIVE = $08;
CRTC_FLAG_HTOT_REACHED = $10;
CRTC_FLAG_VTOT_REACHED = $20;
CRTC_FLAG_MAXIMUM_RASTER_COUNT_REACHED = $40;
CRTC_FLAG_REG8_BLANKING = $80;
CRTC_FLAG_VTA_ACTIVE = $100;
CRTC_FLAG_WINAPE_ICSR = $8000;
SFormatInvalid: String = 'Snapshot format invalid';
type
TSnapshotType = (SNA, SNR, SNP);
TBankFlag = (c0, c4c7, cccf, d4d7, dcdf, e4e7, ecef, f4f7, fcff);
TBankFlags = set of TBankFlag;
TChunkFlag = ( cfROMs, cfDSCA, cfDSCB, cfBreaks, cfDataAreas );
TChunkFlags = set of TChunkFlag;
TSnapshotHeader = packed record
SnapshotID: packed array[0..7] of char;
pad0 : packed array[0..7] of char;
Version: Byte;
{Registers}
REG_AF,REG_BC,REG_DE,REG_HL: word;
REG_R,REG_I,REG_IFF0,REG_IFF1: byte;
REG_IX,REG_IY,REG_SP,REG_PC: word;
REG_IM: byte;
REG_AF1,REG_BC1,REG_DE1,REG_HL1: word;
GA_Pen: byte;
GA_Inks: packed array[0..16] of byte;
GA_ROM, GA_RAM: byte;
CRTC_Reg: byte;
CRTC_Regs: packed array [0..17] of byte;
UpperRom: byte;
PIO_A,PIO_B,PIO_C,PIO_Control: byte;
PSG_Reg: byte;
PSG_Regs: packed array[0..15] of byte;
MemSize: word;
CPCType: byte;
InterruptNo: byte; // CPCEMU only
MultiMode: packed array[0..5] of byte; // CPCEMU only
// Version 3 only
Empty1: packed array[$75..$9a] of byte;
FDD_Fast: Boolean;
FDD_Motor: Boolean;
FDD_Cyl: packed array[0..3] of byte;
Printer_Data: byte;
Monitor_Line: SmallInt;
CRTC_Type: byte;
Empty3: packed array [$a5..$a8] of byte;
CRTC_HCC: byte;
Empty4: byte;
CRTC_VCC: byte;
CRTC_VLC: byte;
CRTC_VTAC: byte;
CRTC_HSYNC: byte;
CRTC_VSYNC: byte;
CRTC_Flags: word;
GA_DelayCount: byte;
GA_ScanCount: byte;
Z80_IntStat: byte;
Z80_ICSR: byte;
DisablePlus: Boolean;
PlusPPI: Boolean;
Empty5: packed array [$b8..$df] of byte;
EmulatorID: packed array [$e0..$ff] of char;
end;
TDMARegs = packed record
Loop: Word;
Addr: Word;
Pause: Word;
PreScale: byte;
end;
TPlusChunk = packed record
SpriteData: packed array [0..$7ff] of byte;
SpriteAtts: packed array [0..$7f] of byte;
Palette: packed array [0..$3f] of byte;
Regs: packed array [0..5] of byte;
SecROM: Word;
Analogue: packed array [$08..$0f] of byte;
DMA: packed array [0..$f] of byte;
DMARegs: packed array [0..2] of TDMARegs;
GA_Last: byte;
GA_UnLocked: byte;
GA_Sequence: byte;
end;
{ Mouse Bits for SNR recording }
SNR_MOUSE = $80;
SNR_MB = $01;
SNR_MX = $60;
SNR_MX_B = $20;
SNR_MX_W = $40;
SNR_MY = $18;
SNR_MY_B = $08;
SNR_MY_W = $10;
SNR_MW = $06;
SNR_MW_B = $02;
SNR_MW_W = $04;
{ Real-Time Clock IDs }
SNR_RTC = $E0;
SNR_MIN = $E1;
SNR_HR = $E2;
SNR_DAY = $E3;
SNR_MTH = $E4;
SNR_YR = $E5;
SNR_MIL = $E6;
To play games which were designed for lightgun? ;)
Yes, but how?? You'd need a light gun. A CPC light gun or a PC one? And then, you'd need a CRT screen. So, I'm still a bit skeptical about the practical use of it!
The drivers are on Cassettes 241 to 318 as far as I recall :DPlease upload cassette 400 I am missing that one ;)
Bryce.
Please upload cassette 400 I am missing that one ;)
Just play cassette 200 with Double-Speed backwards.
The resulting data is the same as on cassette 400.
Possible arguments:
-amsdos <yes/no>
-autotype <"text">
-boot <drive>
-cpctype <cpctype>
-crtc <1 or 0>
-desktop <yes/no>
-drivea <"file">
-driveb <"file">
-tape <"file">
Example for Windows:
JavaCPC.exe -desktop yes -cpctype SYMBOS -drivea "SymbOS.DSK" -driveb "Sym-Apps.DSK" -autotype "|SYM" -amsdos yes
Example for other OS:
java -jar JavaCPC.jar -desktop no -cpctype SYMBOS -drivea "G:\CPC\SymbOS.DSK" -driveb "G:\CPC\Sym-Apps.DSK" -autotype "|SYM" -amsdos yes
Valid cpctypes:
CPC464 CPC464
CPC664 CPC664
CPC6128 CPC6128
SYMBOS CPC6128 with SymbOS
FUTUREOS CPC6128 with Future OS
KCCOMPACT KC COMPACT
CPC464PARA CPC464 with PARADOS rom
PARADOS CPC6128 with PARADOS rom
CPC6128fr CPC6128 with french roms
CPC6128es CPC6128 with spanish roms
COMCPC ;-)
Example for "-boot" argument:
-boot df0
-boot tape
(http://retropower.eu/effect3.png)
[youtube=Vv1DG1TN1eg]video[/youtube]
Without downloading them? So you're putting all the images (TOSEC or what?) in the emulator distro?
What about an offline version then?
Ah - so it *does* download :Dit's a downloader for lazy people :P
What about an offline version then?CPCGamesCD? :P
CPCGamesCD - exactly what I was driving at. Well, if JavaCPC could be completely integrated in CPCLoader it'd be great...Markus wants everything in his emu ;)
Markus wants everything in his emu ;)
Emu dominance ;)
...even though it messes up the CAT in Color Lines...
Well indeed, I want a lot of funstuff ;)
But I don't want dominance.
There are other emulators (Except or 'Arnold') which are much better!
CPCGamesCD - exactly what I was driving at. Well, if JavaCPC could be completely integrated in CPCLoader it'd be great...Well, you can change the default emu in the Explorer to JavaCPC (or another emu you like) ;)
Well, you can change the default emu in the Explorer to JavaCPC (or another emu you like) ;)
Computers are now fast enough that a higher-level language like Java makes sense for this kind of task.
Try saying that to my netbook... Even WinCPC runs with frameskip on.
Which reminded me - which is considered the fastest emulator out there?WinAPE, I think. Shouldn't be too much strain on a netbook, either.
WinAPE, I think. Shouldn't be too much strain on a netbook, either.
More or less by definition, a netbook is a computer that is too slow to do anything beyond instant messaging on it. Before the name netbook was coined, such computers were known as paperweights/door stoppers, but apparently they've found a way to make people actually pay for them. :)
(http://cpc-live.com/dreamend01.png) | (http://cpc-live.com/de01.png) |
(http://cpc-live.com/dreamend02.png) | (http://cpc-live.com/de02.png) |
(http://cpc-live.com/dreamend03.png) | (http://cpc-live.com/de03.png) |
(http://cpc-live.com/dreamend04.png) | (http://cpc-live.com/de04.png) |
(http://cpc-live.com/dreamend05.png) | (http://cpc-live.com/de05.png) |
(http://cpc-live.com/dreamend06.png) | (http://cpc-live.com/de06.png) |
(http://cpc-live.com/dreamend07.png) | (http://cpc-live.com/de07.png) |
(http://cpc-live.com/dreamend08.png) | (http://cpc-live.com/de08.png) |
(http://cpc-live.com/dreamend09.png) | (http://cpc-live.com/de09.png) |
(http://cpc-live.com/dreamend10.png) | (http://cpc-live.com/de10.png) |
(http://cpc-live.com/dreamend11.png) | (http://cpc-live.com/de11.png) |
(http://cpc-live.com/dreamend12.png) | (http://cpc-live.com/de12.png) |
Oh, btw, I find a netbook the perfect solution for my needs; meaning cheap, light, small factor, good battery, it suits me much better than my laptop when I'm sitting out on my balcony sipping my coffee... so it's not all too bad!
Hey, I'm not sure if the filter is supposed to be on or off? Also, what's with the smooth fade action? :)
You can watch it online here (http://cpc-live.com/emulator.php?system=PARADOS&disc=flipshow.zip&boot=true&title=Flipscreen%20Slideshow&filter=true)
(WebCPC link! Contains brutal Java! Don't click it, if you don't like coffee!)
Very nice! WebCPC now seems to work as it should on the Mac. What's different from the version of a few weeks ago? Have you changed the code to support Java v1.5?
Martin
No, what I see, before the slideshow starts, is that when I type something the letters (and cursor) smoothly fade in and out of the screen instead of appearing instantaneously. Maybe it's my PC?
But it's a nice effect, I have to say!
JavaCPC bug reported by : Markus Hohmann
email address: webmaster@cpc-live.com
[JavaCPC version D.0.9e]
[Tue Aug 10 13:09:59 CEST 2010]
Usermessage:
------------------------------------
blablablabla
------------------------------------
JavaCPC [v.D.0.9e]
[Tue Aug 10 13:09:27 CEST 2010]
executable is true
Avail mem is 240299760
init()
Setting tapelabel:
Frequency=1000000, adder=65536
Memory choosen: TYPE_512K
Path is:*G:\java\JavaCPC\*
Display is 768,544 pixels
resync: start=200
resync: start=2605
G:\java\JavaCPC\system/cpc/rom/OS6128.ROM 16384
Without header
G:\java\JavaCPC\system/cpc/rom/BASIC1-1.ROM 16384
Without header
Your selected Basic ROM is for CPC6128
G:\java\JavaCPC\system/cpc/rom/AMSDOS.ROM 16384
Without header
Computer: CUSTOM - CUSTOM Stopping Zilog Z80
stopping...
resync: start=4810
resync: start=7015
Floppy-motor off
Device connected: Basic 6845
Device connected: Amstrad SSA-1 Speech Synthesizer
Device connected: DK'Tronics Speech Synthesizer
Device connected: Cheetah AmDrum
Device connected: Digiblaster
Device connected: CPC-Printer
Device connected: Amstrad Gate Array
Device connected: 8255 PPI: Port A = write, Port B = read, Port C (Upper) = write, Port C (Lower) = write
Device connected: NEC uPD765AC-2 Floppy Controller
Device connected: AY-3-8910/2/3 Programmable Sound Generator
DEBUG=false, PAUSE=false, LARGE=true
System Set: Computer: CUSTOM - CUSTOM
Audio Enabled
Floppysound Enabled
Notebook Disabled
Autosave Disabled
Volume is set to:1.0
resync: start=9820
resync: start=12025
Floppy-motor off
Display is 768,544 pixels
Display is 768,544 pixels
Window is 779 Pixels with & 603 Pixels height!
Alarm is false
resync: start=14630
resync: start=16835
Floppy-motor off
Floppy-motor off
resync: start=92240
resync: start=126845
Display Focused
Floppy head choosen: Drive 0 - Head 0
Floppy head choosen: Drive 1 - Head 0
Floppy head choosen: Drive 2 - Head 0
Floppy head choosen: Drive 3 - Head 0
JavaCPC is registered to Markus Hohmann
with email account webmaster@cpc-live.com
Reg code is xxxx-xxxx-xxxx-xxxx
Display Lost Focus
Oh yeah, big brother is watching you. I bet it phones home every time you use it too and let'sHmm.. "Strawberry" is a good name for a company... or were you thinking of "lemon"?SteveMarkus know what games we are playing. It's a slippery slope you know, next you'll be releasing it under a fruit-base company name or whatever.....
Bryce.... As paranoid as ever.
Yeah I know about this crash.For me I installed a new java. Mine was too old :laugh:
I hopefully fixed that problem.
http://cpc-live.com/data/list.php?dir=-beta (http://cpc-live.com/data/list.php?dir=-beta)
For me I installed a new java. Mine was too old :laugh:
Please use Sun Microsystems Java!You mean Oracle Java, yes? ;)
Heh... I can't think of a single use for this feature, but it certainly is awesome! So geeky :D
Nice.... but, mov? Who on earth uses the mov format? :D
You never stop !
Tried it last night on my Atom dual core netbook. A shame it can only handle 9fps (Symbos, desktop). I'll try it on my PC now :)
Z80 assembler understands (should) IF/ENDIF conditions.
ld a,value ; load A with value
cp 15 ; is it 15
jr z,if_code ; jump here if it is
jr nz,else_code ; go here if it isn't
Are you sure this isn't a macro of some sort, such as in WinAPE?
.end1 equ $ and #ff
if end1
ds 256 - end1
endif
;; IF-test
ORG &4000
nobody equ 0
leo equ 1
ant equ 2
bob equ 3
; standard:
if nobody
db "nobody is"
endif
if leo
db "leo is"
endif
if leo=ant
db "leo is = ant"
endif
;extended:
if leo < ant
db "leo is smaller"
endif
if ant > bob
db "ant is larger"
endif
00004000: 6C 65 6F 20 69 73 6C 65 6F 20 69 73 20 73 6D 61 ; leo isleo is sma
00004010: 6C 6C 65 72 ; ller
Code: [Select].end1 equ $ and #ff
if end1
ds 256 - end1
endif
The goal is to make disassembling as simple as possible to get a suitable result!
Another nice feature of disassembly would be that if you change a tag (i.e. label_83b0 or similar) that there is an option to change them ALL for you - I know editors like Notepad++ can do this but it would be great to do this within the disassembler and make decoding routines much faster.
for (int c = 0; c < code.length; c++) {
if (code[c].length() < 3) {
continue;
} else {
String codebstr = code[c];
String codestr = code[c].toLowerCase();
if (stop) {
Interface.compileprogress.setValue(0);
Interface.compileprogress.setStringPainted(false);
codeField.setEnabled(true);
codeField.setBackground(Color.white);
stop = false;
jemu.ui.JEMU.debugger.getDebuggerComputer().start();
return;
}
b++;
if (b > 100) {
b = 0;
Interface.compileprogress.setValue(c);
Interface.compileprogress.setString("Line: " + (c + 1)
+ " To do: " + (code.length - c) + " last label: "
+ lastlabel);
}
if (!codestr.contains("org")) {
for (int i = start; i < end; i++) {
String checkLabel = Util.hex((short) i);
if (!depth && codebstr.contains(";" + checkLabel)) {
if (ass.contains("&" + checkLabel)) {
lastlabel = "set:" + label + checkLabel;
Interface.compileprogress.setString("Line: " + (c + 1)
+ " To do: " + (code.length - c) + " last label: "
+ lastlabel);
code[c] = codebstr = codebstr.replace(codebstr, label + checkLabel + "\n" + codebstr);
}
} else if (depth) {
int f = i + 1;
String checkRelLabel = Util.hex((short) f);
if (codebstr.contains(";" + checkRelLabel) && !codebstr.startsWith(label2 + checkRelLabel)) {
if (ass.contains("&" + checkLabel)) {
lastlabel = "set+1:" + label2 + checkLabel;
Interface.compileprogress.setString("Line: "
+ (c + 1) + " To do: " + (code.length - c)
+ " last label: " + lastlabel);
code[c] = codebstr = codebstr.replace(codebstr, label2 + checkRelLabel + "\n" + codebstr);
}
} else {
f = i - 1;
checkRelLabel = Util.hex((short) f);
if (codebstr.contains(";" + checkRelLabel) && !codebstr.startsWith(label2 + checkRelLabel)) {
if (ass.contains("&" + checkLabel)) {
lastlabel = "set-1:" + label2 + checkLabel;
Interface.compileprogress.setString("Line: "
+ (c + 1) + " To do: " + (code.length - c)
+ " last label: " + lastlabel);
code[c] = codebstr = codebstr.replace(codebstr, label2 + checkRelLabel + "\n" + codebstr);
}
}
}
}
for (int h = 0; h < canLabel.length; h++) {
if (codebstr.contains(canLabel[h])) {
if (!depth && !codebstr.contains(";" + checkLabel) && codebstr.contains("&" + checkLabel)) {
if (ass.contains(";" + checkLabel)) {
code[c] = codebstr = codebstr.replace("&" + checkLabel, label + checkLabel);
code[c] = codebstr = codebstr.replace(" ;", ";");
}
} else if (depth) {
int f = i + 1;
String checkass2 = Util.hex((short) f);
if (!codebstr.contains(";" + checkLabel) && codebstr.contains("&" + checkass2)) {
if (ass.contains(";" + checkLabel)) {
code[c] = codebstr = codebstr.replace("&" + checkass2, label2 + checkLabel + "+1");
code[c] = codebstr = codebstr.replace(" ;", ";");
}
} else {
f = i - 1;
checkass2 = Util.hex((short) f);
if (!codebstr.contains(";" + checkLabel) && codebstr.contains("&" + checkass2)) {
if (ass.contains(";" + checkLabel)) {
code[c] = codebstr = codebstr.replace("&" + checkass2, label2 + checkLabel + "-1");
code[c] = codebstr = codebstr.replace(" ;", ";");
}
}
}
}
break;
}
}
}
}
}
}
Perhaps you see something how to speed this crap up?
I can't see why it would be so slow, or does Java have a problem with recursion?
Do you see a way to remove the recursion here?
Im liking this emulator, now I have a PC that is capable of running Java.
Can I make some suggestions for the image editor. First, a grid would be nice. Second, the co-cordinates of the mouse/brush displayed somewhere would be very useful. Also, improving the zoom feature perhaps, stays in the same window (way too many windows get opened in a JavaCPC session) using scroll bars to navigate when zoomed in.
I also have my own set of tools.
ORG &9920
DB &AA,&A8,&04,&40,&51,&55,&50
DB &AA,&80,&01,&04,&89,&95,&50
DB &AA,&80,&01,&00,&10,&95,&50
DB &AA,&01,&00,&0A,&28,&A5,&50
DB &AA,&00,&00,&04,&08,&65,&50
DB &AA,&04,&10,&14,&41,&89,&50
DB &A8,&05,&00,&10,&40,&29,&50
DB &A8,&14,&00,&10,&40,&89,&50
DB &A8,&14,&00,&10,&00,&59,&50
DB &A8,&05,&00,&00,&00,&42,&50
DB &A0,&04,&00,&00,&01,&06,&50
DB &A0,&01,&00,&00,&A4,&06,&50
DB &A0,&00,&00,&00,&00,&09,&50
DB &A0,&00,&11,&00,&40,&09,&50
DB &A1,&00,&51,&51,&40,&A2,&50
DB &81,&00,&51,&51,&54,&02,&50
DB &84,&00,&51,&51,&A4,&0A,&90
DB &80,&01,&45,&51,&A8,&05,&90
DB &84,&01,&55,&54,&A8,&01,&90
DB &81,&01,&55,&56,&A9,&01,&90
DB &80,&05,&55,&56,&AA,&26,&10
DB &80,&05,&55,&56,&AA,&11,&90
DB &80,&05,&55,&55,&AA,&01,&90
DB &80,&05,&05,&55,&0A,&01,&90
DB &80,&00,&41,&54,&52,&02,&10
DB &80,&01,&50,&51,&56,&04,&10
DB &80,&05,&04,&55,&05,&05,&90
DB &80,&04,&00,&64,&11,&01,&90
DB &80,&04,&10,&68,&11,&00,&90
DB &84,&05,&00,&68,&15,&04,&90
DB &A0,&15,&54,&6A,&A9,&45,&90
DB &A0,&15,&54,&6A,&A9,&4A,&10
DB &A0,&15,&54,&6A,&A9,&40,&50
DB &A0,&15,&54,&6A,&A9,&40,&50
DB &A8,&15,&55,&AA,&A9,&42,&50
DB &A8,&15,&51,&A6,&A5,&41,&50
DB &A8,&15,&51,&A6,&A5,&45,&50
DB &A8,&15,&50,&1A,&A5,&49,&50
DB &A8,&15,&55,&1A,&A9,&49,&50
DB &AA,&15,&55,&9A,&A9,&51,&50
DB &AA,&15,&55,&AA,&A9,&41,&50
DB &AA,&15,&55,&6A,&A9,&41,&50
DB &AA,&45,&50,&06,&A5,&49,&50
DB &AA,&05,&55,&6A,&A5,&09,&50
DB &AA,&45,&55,&56,&A5,&05,&50
DB &AA,&01,&54,&06,&95,&25,&50
DB &AA,&81,&55,&2A,&95,&05,&50
DB &AA,&84,&56,&AA,&94,&15,&50
DB &AA,&84,&56,&AA,&94,&55,&50
DB &AA,&A4,&16,&AA,&50,&55,&50
DB &AA,&A4,&15,&AA,&50,&55,&50
DB &AA,&A4,&05,&55,&40,&55,&50
DB &AA,&A0,&55,&55,&59,&55,&50
DB &AA,&81,&54,&55,&56,&55,&50
DB &AA,&81,&55,&00,&56,&55,&50
DB &AA,&01,&55,&00,&59,&95,&50
DB &AA,&00,&55,&40,&59,&95,&50
DB &A8,&05,&41,&54,&1A,&A5,&50
DB &A8,&05,&04,&54,&15,&A5,&50
DB &A8,&05,&14,&04,&15,&A9,&50
DB &A8,&41,&15,&55,&55,&69,&50
DB &A0,&51,&AA,&AA,&AA,&59,&50
DB &A0,&5A,&AA,&AA,&AA,&99,&50
DB &A0,&5A,&55,&55,&5A,&9A,&50
DB &A0,&65,&00,&00,&01,&6A,&50
DB &A0,&20,&55,&55,&A8,&26,&50
DB &A0,&05,&00,&00,&02,&8A,&50
DB &A0,&10,&00,&00,&00,&26,&50
DB &80,&10,&14,&51,&A0,&0A,&50
DB &80,&41,&55,&11,&A8,&0A,&90
DB &80,&01,&55,&54,&A9,&0A,&90
DB &81,&05,&55,&55,&A9,&0A,&90
DB &81,&05,&55,&55,&6A,&42,&90
DB &81,&05,&55,&55,&6A,&12,&90
DB &80,&05,&55,&55,&6A,&02,&90
DB &80,&15,&01,&54,&06,&02,&90
DB &80,&14,&00,&50,&02,&00,&90
DB &A0,&15,&50,&51,&56,&10,&90
DB &A0,&15,&04,&55,&05,&10,&90
DB &A0,&14,&40,&64,&41,&10,&90
DB &A0,&15,&04,&69,&45,&00,&90
DB &A0,&15,&54,&69,&56,&00,&90
DB &A1,&15,&54,&6A,&5A,&41,&50
DB &A1,&15,&54,&AA,&9A,&41,&50
DB &A1,&05,&55,&AA,&A9,&41,&50
DB &A1,&05,&55,&AA,&A9,&41,&50
DB &A1,&05,&55,&AA,&A9,&45,&50
DB &A1,&05,&51,&A6,&A9,&45,&50
DB &A1,&05,&51,&A6,&A9,&45,&50
DB &A1,&85,&54,&16,&A5,&45,&50
DB &A1,&85,&55,&5A,&A5,&45,&50
DB &A1,&85,&55,&9A,&A5,&45,&50
DB &A1,&85,&55,&9A,&A5,&45,&50
DB &A1,&85,&55,&6A,&A5,&15,&50
DB &A1,&85,&50,&06,&A5,&15,&50
DB &A8,&61,&55,&69,&A5,&15,&50
DB &A8,&61,&55,&56,&95,&15,&50
DB &A8,&51,&54,&06,&95,&15,&50
DB &AA,&10,&69,&6A,&94,&15,&50
DB &AA,&85,&59,&AA,&94,&55,&50
DB &AA,&A0,&01,&AA,&94,&55,&50
DB &AA,&A4,&15,&6A,&50,&55,&50
DB &AA,&A4,&15,&69,&50,&55,&50
DB &AA,&A4,&05,&55,&40,&55,&50
DB &AA,&A8,&04,&4A,&69,&55,&50
DB &AA,&A0,&00,&00,&1A,&55,&50
DB &AA,&80,&00,&01,&4A,&55,&50
DB &AA,&80,&00,&10,&09,&95,&50
DB &AA,&00,&00,&45,&05,&A5,&50
DB &AA,&00,&05,&61,&84,&65,&50
DB &AA,&00,&05,&41,&04,&65,&50
DB &AA,&00,&04,&44,&04,&65,&50
DB &AA,&01,&00,&44,&44,&69,&50
DB &AA,&00,&00,&04,&A8,&99,&50
DB &A8,&00,&00,&00,&A8,&99,&50
DB &A8,&40,&00,&0A,&80,&99,&50
DB &A8,&01,&00,&00,&14,&A9,&50
DB &A8,&01,&54,&01,&55,&29,&50
DB &A8,&01,&55,&55,&55,&09,&50
DB &A8,&45,&55,&55,&55,&09,&50
DB &A8,&45,&55,&55,&55,&19,&50
DB &A8,&45,&55,&55,&95,&19,&50
DB &A8,&05,&55,&55,&A9,&19,&50
DB &A8,&05,&55,&56,&A9,&09,&50
DB &A8,&05,&55,&56,&AA,&09,&50
DB &A8,&05,&55,&56,&AA,&09,&50
DB &A8,&05,&55,&55,&AA,&09,&50
DB &A8,&05,&01,&54,&06,&09,&50
DB &A8,&44,&00,&50,&02,&19,&50
DB &A8,&55,&50,&51,&56,&19,&50
DB &A8,&55,&04,&55,&05,&19,&50
DB &A8,&54,&10,&64,&11,&19,&50
DB &AA,&55,&04,&69,&15,&15,&50
DB &AA,&55,&54,&69,&56,&15,&50
DB &AA,&55,&54,&6A,&5A,&55,&50
DB &AA,&55,&54,&6A,&9A,&55,&50
DB &AA,&55,&55,&6A,&AA,&55,&50
DB &AA,&55,&55,&AA,&AA,&45,&50
DB &AA,&55,&55,&AA,&A9,&45,&50
DB &AA,&05,&51,&AA,&A9,&45,&50
DB &AA,&05,&51,&A6,&A9,&45,&50
DB &AA,&85,&54,&16,&A9,&45,&50
DB &AA,&85,&55,&59,&A9,&45,&50
DB &AA,&85,&55,&99,&A5,&45,&50
DB &AA,&85,&55,&9A,&A5,&45,&50
DB &AA,&85,&55,&6A,&A5,&15,&50
DB &AA,&95,&50,&06,&A5,&15,&50
DB &AA,&91,&45,&69,&A5,&15,&50
DB &AA,&A1,&55,&56,&A5,&15,&50
DB &AA,&A1,&54,&06,&A5,&15,&50
DB &AA,&A0,&55,&6A,&94,&15,&50
DB &AA,&A0,&55,&AA,&94,&55,&50
DB &AA,&A4,&55,&AA,&94,&55,&50
DB &AA,&A4,&15,&6A,&50,&55,&50
DB &AA,&A4,&15,&69,&50,&55,&50
DB &AA,&A4,&05,&55,&40,&55,&50
DB &AA,&AA,&04,&4A,&59,&55,&50
DB &AA,&A8,&00,&00,&0A,&55,&50
DB &AA,&A0,&00,&01,&96,&55,&50
DB &AA,&A0,&04,&20,&45,&15,&50
DB &AA,&80,&00,&95,&60,&95,&50
DB &AA,&84,&01,&09,&60,&95,&50
DB &AA,&00,&00,&00,&62,&A5,&50
DB &AA,&00,&00,&00,&20,&25,&50
DB &AA,&00,&00,&10,&22,&25,&50
DB &A8,&00,&00,&00,&54,&25,&50
DB &A8,&01,&50,&01,&A4,&25,&50
DB &A8,&01,&55,&56,&A8,&29,&50
DB &A8,&01,&55,&5A,&A8,&29,&50
DB &A8,&05,&55,&6A,&AA,&09,&50
DB &A8,&05,&55,&56,&AA,&29,&50
DB &A8,&05,&55,&55,&AA,&09,&50
DB &A8,&05,&55,&55,&AA,&09,&50
DB &A8,&05,&55,&55,&AA,&09,&50
DB &A8,&05,&55,&55,&AA,&09,&50
DB &A8,&05,&55,&56,&AA,&29,&50
DB &A8,&05,&55,&56,&AA,&09,&50
DB &A8,&05,&55,&56,&AA,&09,&50
DB &AA,&05,&55,&5A,&AA,&09,&50
DB &AA,&04,&01,&58,&02,&05,&50
DB &A8,&05,&50,&50,&56,&05,&50
DB &A8,&45,&54,&51,&55,&11,&50
DB &A8,&55,&04,&51,&05,&11,&50
DB &A8,&54,&00,&64,&11,&11,&50
DB &A8,&54,&10,&69,&12,&11,&50
DB &A8,&55,&14,&69,&2A,&11,&50
DB &A9,&55,&54,&6A,&5A,&51,&50
DB &A9,&45,&54,&6A,&9A,&51,&50
DB &A9,&45,&55,&6A,&AA,&51,&50
DB &AA,&45,&55,&AA,&AA,&65,&50
DB &AA,&45,&55,&AA,&A9,&25,&50
DB &AA,&45,&55,&AA,&A9,&25,&50
DB &AA,&05,&51,&A6,&A9,&05,&50
DB &AA,&85,&50,&16,&A9,&15,&50
DB &AA,&85,&55,&5A,&A9,&15,&50
DB &AA,&85,&55,&69,&A5,&15,&50
DB &AA,&95,&55,&69,&A5,&15,&50
DB &AA,&91,&55,&69,&A5,&15,&50
DB &AA,&A1,&55,&56,&A5,&15,&50
DB &AA,&A1,&41,&69,&A5,&15,&50
DB &AA,&A1,&55,&56,&64,&55,&50
DB &AA,&A1,&54,&06,&64,&55,&50
DB &AA,&A4,&55,&6A,&64,&55,&50
DB &AA,&A4,&55,&AA,&64,&55,&50
DB &AA,&A8,&55,&AA,&54,&55,&50
DB &AA,&A8,&55,&6A,&50,&55,&50
DB &AA,&A8,&15,&69,&50,&55,&50
DB &AA,&A8,&05,&55,&40,&55,&50
DB &AA,&A8,&04,&40,&52,&55,&50
DB &AA,&80,&01,&04,&89,&95,&50
DB &AA,&80,&01,&00,&10,&95,&50
DB &AA,&01,&00,&0A,&28,&A5,&50
DB &AA,&00,&00,&00,&08,&65,&50
DB &AA,&00,&0A,&AA,&80,&09,&50
DB &AA,&00,&A5,&55,&68,&15,&50
DB &AA,&05,&50,&00,&56,&85,&50
DB &AA,&05,&0A,&AA,&00,&A9,&50
DB &AA,&14,&55,&55,&AA,&29,&50
DB &A8,&41,&40,&00,&15,&89,&50
DB &A8,&15,&15,&55,&41,&69,&50
DB &A8,&50,&55,&55,&54,&19,&50
DB &A9,&45,&50,&00,&15,&49,&50
DB &A9,&15,&05,&55,&40,&69,&50
DB &A9,&50,&55,&55,&55,&29,&50
DB &A8,&45,&00,&00,&01,&89,&50
DB &A9,&14,&05,&55,&A0,&61,&50
DB &A8,&51,&55,&55,&A8,&29,&50
DB &A9,&41,&55,&56,&A9,&09,&50
DB &A9,&05,&55,&56,&AA,&09,&50
DB &A9,&05,&55,&56,&AA,&01,&50
DB &A8,&05,&55,&55,&AA,&01,&50
DB &A8,&04,&05,&55,&02,&02,&50
DB &A8,&41,&41,&54,&56,&12,&50
DB &A8,&45,&50,&51,&56,&12,&50
DB &A8,&45,&04,&55,&05,&12,&50
DB &A8,&44,&00,&64,&11,&12,&50
DB &A8,&44,&10,&68,&15,&12,&50
DB &A8,&45,&04,&69,&15,&12,&50
DB &A8,&55,&54,&6A,&A9,&52,&50
DB &A8,&55,&54,&6A,&A9,&52,&50
DB &A8,&55,&55,&6A,&95,&52,&50
DB &A8,&55,&55,&AA,&A5,&56,&50
DB &AA,&55,&55,&AA,&A5,&56,&50
DB &AA,&15,&51,&A6,&A9,&46,&50
DB &AA,&15,&51,&66,&A9,&49,&50
DB &AA,&85,&54,&1A,&A9,&49,&50
DB &AA,&85,&55,&5A,&A9,&49,&50
DB &AA,&85,&55,&9A,&A9,&49,&50
DB &AA,&85,&55,&AA,&A9,&49,&50
DB &AA,&85,&55,&6A,&A9,&49,&50
DB &AA,&95,&50,&06,&A5,&4A,&50
DB &AA,&95,&55,&6A,&A5,&1A,&50
DB &AA,&A5,&55,&56,&A5,&1A,&50
DB &AA,&A5,&54,&06,&A5,&1A,&50
DB &AA,&A1,&55,&2A,&94,&1A,&50
DB &AA,&A1,&56,&AA,&94,&42,&90
DB &AA,&A4,&56,&AA,&94,&42,&90
DB &AA,&A4,&56,&AA,&50,&40,&90
DB &AA,&A4,&15,&A9,&50,&40,&A0
DB &AA,&A4,&05,&55,&40,&50,&20
DB &AA,&AA,&80,&0A,&69,&55,&50
DB &AA,&A8,&00,&00,&0A,&55,&50
DB &AA,&A0,&00,&01,&42,&95,&50
DB &AA,&A0,&00,&00,&01,&15,&50
DB &AA,&80,&00,&00,&89,&95,&50
DB &AA,&80,&00,&00,&01,&95,&50
DB &AA,&00,&00,&00,&05,&65,&50
DB &AA,&00,&00,&00,&00,&65,&50
DB &AA,&00,&00,&00,&21,&65,&50
DB &A8,&00,&00,&00,&14,&A5,&50
DB &A8,&00,&00,&00,&44,&A5,&50
DB &A8,&00,&00,&01,&09,&65,&50
DB &A8,&00,&00,&02,&18,&99,&50
DB &A8,&00,&00,&04,&A5,&99,&50
DB &A8,&00,&00,&10,&00,&19,&50
DB &A8,&01,&50,&01,&54,&09,&50
DB &A8,&05,&55,&55,&64,&19,&50
DB &A8,&05,&55,&55,&A9,&19,&50
DB &A8,&05,&55,&55,&AA,&11,&50
DB &A9,&05,&55,&56,&AA,&11,&50
DB &A9,&05,&55,&56,&AA,&11,&50
DB &A9,&15,&55,&56,&AA,&01,&50
DB &A9,&15,&55,&5A,&AA,&01,&50
DB &A9,&15,&01,&58,&0A,&01,&50
DB &A9,&14,&50,&50,&52,&01,&50
DB &A8,&41,&54,&51,&55,&11,&50
DB &A8,&55,&04,&51,&05,&11,&50
DB &A8,&54,&40,&64,&41,&11,&50
DB &A8,&55,&04,&69,&46,&11,&50
DB &A8,&55,&54,&69,&6A,&11,&50
DB &A9,&55,&54,&6A,&5A,&51,&50
DB &A9,&45,&54,&6A,&9A,&51,&50
DB &A9,&45,&55,&6A,&AA,&51,&50
DB &AA,&45,&55,&AA,&AA,&65,&50
DB &AA,&45,&55,&AA,&A9,&25,&50
DB &AA,&45,&51,&AA,&A9,&25,&50
DB &AA,&05,&51,&A6,&A9,&05,&50
DB &AA,&05,&54,&1A,&A9,&05,&50
DB &AA,&85,&55,&1A,&A9,&05,&50
DB &AA,&85,&55,&69,&A5,&15,&50
DB &AA,&85,&55,&69,&A5,&15,&50
DB &AA,&81,&55,&69,&A5,&15,&50
DB &AA,&A1,&50,&16,&A5,&15,&50
DB &AA,&A1,&55,&69,&A5,&15,&50
DB &AA,&A1,&55,&56,&A4,&55,&50
DB &AA,&A1,&54,&06,&A4,&55,&50
DB &AA,&A4,&55,&6A,&A4,&55,&50
DB &AA,&A4,&55,&AA,&A4,&55,&50
DB &AA,&A4,&55,&AA,&54,&55,&50
DB &AA,&A4,&15,&6A,&50,&55,&50
DB &AA,&A4,&15,&69,&50,&55,&50
DB &AA,&A4,&05,&55,&40,&55,&50
DB &FF,&FF,&FF,&7F,&FF,&FF,&F5
DB &FF,&FF,&FD,&DF,&FF,&FF,&F5
DB &FF,&FF,&F6,&F7,&FF,&FF,&F5
DB &FF,&FF,&F5,&D7,&FF,&FF,&F5
DB &FF,&FF,&D6,&F5,&FF,&FF,&F5
DB &FF,&FF,&D5,&D5,&FF,&FF,&F5
DB &FF,&FF,&56,&F6,&7F,&FF,&F5
DB &FF,&FF,&55,&D6,&7F,&FF,&F5
DB &FF,&FF,&56,&F6,&7F,&FF,&F5
DB &FF,&FF,&55,&D6,&7F,&FF,&F5
DB &FF,&FD,&56,&F5,&9F,&FF,&F5
DB &FF,&FD,&56,&F5,&9F,&FF,&F5
DB &FF,&FD,&55,&D5,&9F,&FF,&F5
DB &FF,&FD,&56,&F5,&9F,&FF,&F5
DB &FF,&FD,&59,&F5,&5F,&FF,&F5
DB &FF,&FD,&59,&FE,&5F,&FF,&F5
DB &FF,&FD,&59,&BE,&5F,&FF,&F5
DB &FF,&FD,&59,&BE,&5F,&FF,&F5
DB &F5,&FD,&65,&6F,&9F,&D7,&F5
DB &F5,&7D,&65,&6F,&9F,&57,&F5
DB &F9,&7D,&65,&5B,&9F,&5B,&F5
DB &F9,&7D,&95,&5B,&EF,&5B,&F5
DB &FA,&5D,&95,&5B,&ED,&6F,&F5
DB &FA,&5D,&95,&5B,&ED,&6F,&F5
DB &FA,&5D,&95,&5B,&FD,&6F,&F5
DB &FA,&56,&55,&5B,&FD,&6F,&F5
DB &FE,&96,&55,&5B,&F5,&BF,&F5
DB &FE,&96,&55,&5B,&F5,&BF,&F5
DB &FE,&96,&55,&5B,&F5,&BF,&F5
DB &FE,&96,&55,&56,&F5,&BF,&F5
DB &FE,&96,&55,&56,&F5,&BF,&F5
DB &FE,&96,&55,&56,&75,&BF,&F5
DB &FE,&96,&55,&56,&75,&BF,&F5
DB &FE,&95,&95,&55,&D5,&BF,&F5
DB &FE,&95,&95,&55,&D5,&BF,&F5
DB &FE,&BD,&95,&55,&DF,&7F,&F5
DB &FE,&E9,&7F,&FF,&5B,&7F,&F5
DB &FD,&E9,&D5,&55,&DA,&DF,&F5
DB &FD,&E9,&7F,&FF,&5A,&DF,&F5
DB &FD,&E9,&7F,&FF,&5A,&DF,&F5
DB &FD,&E9,&FF,&FF,&DA,&DF,&F5
DB &FD,&E9,&DF,&FD,&DA,&DF,&F5
DB &FD,&79,&DF,&FD,&DB,&6F,&F5
DB &FA,&7A,&77,&F7,&6B,&6F,&F5
DB &FA,&7A,&75,&57,&6B,&6F,&F5
DB &E9,&7A,&75,&57,&6B,&6B,&F5
DB &E9,&5E,&7D,&5F,&AD,&5B,&F5
DB &A5,&5E,&9F,&FD,&AD,&5A,&F5
DB &A5,&5E,&9F,&F9,&AD,&56,&F5
DB &95,&57,&95,&55,&B5,&56,&B5
DB &95,&57,&95,&56,&B5,&55,&B5
DB &95,&55,&A5,&5A,&95,&55,&A5
I can confirm that, so long as dxdiag is run first. Not sure if it really improves performance or not though, 30-40fps doesn't seem to be much different than 50fps. But I do remember it being slow before, though. Weird.
New features:
- CPC-speaker emulation (Let's squeak on 1 channel! 1w 5cm speaker power!!! Can you boost it? I really like nostalgia thats why I coded it!)
That must be perfect for Orion Primes ESX sound system, which is specially made for the internal speaker ;D
I don't know, but I'm sure, you'll report soon how it sounds ;)
Damn! How can you be that quick in posting... the JavaCPC still boots ,-)
I don't know, which JavaCPC boots for you, but the one I uploaded today has 0 downloads yet... :P
Well, you may should provide a link... sorry, but you got toooo much homepages ;-)
Here is the direct download link:
http://cpcwiki.eu/forum/index.php/topic,484.msg19303.html#msg19303 (http://cpcwiki.eu/forum/index.php/topic,484.msg19303.html#msg19303)
Are you sure, that the PPI registers are shown correct. I doubt the values of A and B. But C and control seem to be ok. Have to check that in more detail.
Fixed the panel...
I don't think, it runs under Linux... :-[
I'm sure I had JEMU working on Linux at some stage. Will try it on my FC12 box later this week (when I get back from Melbourne).
But JavaCPC I think is quite too complex and sure has some bad written routines, which fail on Linux systems...This bit works (the copying, at least), they are copied to ~/JavaCPC (~ = the user's home folder, Documents and Settings\User is the Windows equivalent to that). Does it attempt to run any of the Windows apps while loading?
(It also copies windows resources like CPCXFS, SamDisk etc...) into C:\Documents & Settings\Username\JavaCPC or different path for Win Vista/7 which logically work only with Windows OS.)
Mate, are you aiming at a 100% working Plus emu or is it a side-project? :)
Also working on a Eagle-like filter like Mame has:
[screenshots removed]
I love what you do with your emulator.
I long for the day i'll have the beast that will allows me to run at full FPS with every option turned on :D
No, when you press a key on a real CPC tape deck, the key goes down at an angle whereas your key goes straight down as if it were not connected by a metal bar to the rest of the tape drive.
2 simple demos:
Yay! Cool to see them working in your emu :)
Well, in fact, getting the correct sprite coordinates (Especially the values between FF00 and FFFF) is the pure horror!!!
Well I took my infos from this piece of website:
http://www.cpctech.org.uk/docs/cpcplus.html (http://www.cpctech.org.uk/docs/cpcplus.html)
Do you have a way to transfer from CDT to DSK too? That would be far more useful!
Thanks for your feedback, chrd.
Version 6.7 is already very old & outdated.
Since I applied a complete desktop system and many new features, the emulator is not longer hosted on Sourceforge.
Also the actual version is meant to be used on Windows systems only, because it uses a few command line based Windows-Tools.
(It could work also on Mac OS when you start the .jar file! but will not support the features like DSKUtil, CDT/DSK transfer tools etc...)
You should also make sure, that you launch it with -xms set.
e.g. java -Xms768m -jar javacpc.jar
You can download and test the actual beta here:
Download 2011-07-14 beta (http://cpc-live.com/data/download.php?type=-beta&fichier=2011_07_14_JavaCPC_Desktop_BETA.zip)
No... Until I can't extract the files from a CDT its not possible ;)Some applications as Spectrum Taper can do it. Perhaps you could start to seek there ;)
Some applications as Spectrum Taper can do it. Perhaps you could start to seek there ;)
And I suspect Cathode uses a textured OpenGL surface for the curved screen, so of course its frame rate is much better--the "screen bending" effect is not done by the CPU but the GPU. And yet the program is still a total CPU hog according to the YouTube comments.
Thanks to Antonio Villena, JavaCPC will be able soon, to playback a modified .TAP format as tape image:
[youtube]ILVPGEExMEQ[/youtube]
I will also add a converter which can convert CDT images to .TAP format.
Sadly the .TAP work only with unprotected CDTs...
WinApe for example:
I am sure, the PAL effect is done with usage of Direct-X accelerated routines...
Nah, just RGB averaging with alternate half-bright for scan lines.
So, for instance, if you got a really hi-end double-decker you can copy a Speedlock protection theoretically?
Humm yes...
It's a quite fast rendering method.
Thanks to demoniak, who told me how this can be done, I adapted it:
Is more realism with a few lines of code possible?This looks quite GREAT :-)
What's that? My CTM never showed such a bad pic! :P
But a TV with MP2 surely does...
Now you need to simulate failed tape loads with realistic loading times! :laugh:Well, the broken tapes you can produce simply! Just damage a .WAV file ;)
Well, the PAL-Filter itself shouldnt slow down the speed too much I think.
The Blur-Filter and also the chooseable RGB2x, Adv. Mame 2x and Eagle2x filters would slow-down it more I think.
But if you like, I can send you a compiled .jar (You then can replace it in your JavaCPC-Folder)
You can find me in Skype or MSN ;)
(Just ask me for account)
Tell me more about your system-specs.
Well, the broken tapes you can produce simply! Just damage a .WAV file ;)
The loading speed for CDT is the same than for a real tape.
But the user will know that a program is not going to load successfully, you need to introduce a random element to the load function so the user does not know when a load will fail.
Excellent idea, you could add a tape head alignment program for users to use to get the load function working again.
Working and experimenting with emulating the screen-curvature!
Using Java3D here... And the result already has 50fps!
Well, for me it's fast enough ;)
I have no speed issues on my Intel Quad Core. I like the way Java CPC focuses on different things to other emulators - means you have a choice instead of them all being the same!
Ok, if my one year old $4000 Laptop with 3.6 GHz has serious problems to hold 50fps and drops more often down to 20fps (for reasons I still can't understand) then it's not fast enough for me. But if you are lucky with it then it's all good :)
Since the update it's all good!!!! Thanks!
Och Du nervst net ;) Ich weiss ja, von wems kommt :P
I pixeled a new mask and now the result looks more realisticNice job. The mask size allow to use it in full screen ? (1280x960 4/3 ratio ?)
Well the mask is not blurry ;) It's the enabled PAL effect but can be disabled.PAL effect is nonsense. In 50Hz the picture is not blurred, but the lines are more closed than 60Hz display. That all.
Later the screen will be with the correct aspect ratio also on widescreen monitors (I'm also using 1920x1080 pixels here)Great ! :-*
Well anyway...
I pixeled a new mask and now the result looks more realistic:
http://cpc-live.com/screen_curvature (http://cpc-live.com/screen_curvature)
Sadly the display sometimes flickers... need to check out, why....
With half texture size it's stable!
That's also the main reason for emulating arcade monitors in MAME I think.
You mean the filters they have incorporated to it?
Because SyX told me, I'm fiddling on the GFX-Ripper:
I'll be copying this map export feature in the future ;)
TileAddress= &8323
TilesNumber= 170
TilesWidth = 4
TilesHeight= 16
MapAddress = &BA80
MapWidth = 16
MapHeight = 10
ScreenMode = 0
ModeLinear = 0
16BitMap = 1
SkipLines = 1
Of course the infos for the GFXViewer are compatible to WinApe's GFXViewer: (TileAddress, TileWidth and TileHeight)
Where are the R-Type (128K) maps!!! ;D
You can't edit such a map (yet)
I did not implement writing tile indexes into ram.
That all can be done by hand. JavaCPC shows all needed addresses.
This also tells me that a lot of good programmers didn't use exactly fast tile printing routines (back in the day).
Otherwise the tiles would have their lines in a different order...
(http://cpc-live.com/javacpc_desktop_2013t.png) (http://cpc-live.com/javacpc_desktop_2013.png)
Love the backdrop... ;D
Here you go:Awesome, thanks! :D
http://cpc-live.com/232104.jpg (http://cpc-live.com/232104.jpg)