Author Topic: JavaCPC Desktop available as BETA!  (Read 80275 times)

0 Members and 1 Guest are viewing this topic.

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #200 on: 20:32, 31 October 10 »
Z80 assembler understands (should) IF/ENDIF conditions.

Are you sure this isn't a macro of some sort, such as in WinAPE?

In Z80, the simplest IF is to use CP.  This subtracts a value from A register (without actually subtracting it for A's preservation) and then sets the Z flag accordingly.  So if A is 15, a CP 15 will set the Z(ero) flag true and you can have some simple IF/ELSE code.

For example:

Code: [Select]
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

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #201 on: 21:16, 31 October 10 »
Are you sure this isn't a macro of some sort, such as in WinAPE?

Yes it's a macro.
But also the good old MAXAM assembler knows it!
(And sadly many coders use it  :o )

Example: Pacman source by Richard Wilson:
Above line 3020:
Code: [Select]
.end1 equ $ and #ff
if end1
ds 256 - end1
endif
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #202 on: 22:18, 31 October 10 »
Ok I think, I got it working in my homebrew Z80 assembler:

test code:
Code: [Select]
;; 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

Assembler output:
000002 4000  ORG &4000           
000004 4000  NOBODY EQU 0         
000005 4000  LEO EQU 1           
000006 4000  ANT EQU 2           
000007 4000  BOB EQU 3           
000011 4000  IF NOBODY           
000012 4000  DB "nobody is"       
000013 4000  ENDIF               
000015 4000  IF LEO               
000016 4000  DB "leo is"          6C 65 6F 20 69 73
000017 4006  ENDIF               
000019 4006  IF LEO=ANT           
000020 4006  DB "leo is = ant"   
000021 4006  ENDIF               
000025 4006  IF LEO < ANT         
000026 4006  DB "leo is smaller"  6C 65 6F 20 69 73 20 73 6D 61 6C 6C 65 72
000027 4014  ENDIF               
000029 4014  IF ANT > BOB         
000030 4014  DB "ant is larger"   
000031 4014  ENDIF               
_______________________________________________________
Assembled in 0.047s from &4000 to &4014 length is &0014


HEX:
Code: [Select]
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

« Last Edit: 22:28, 31 October 10 by Devilmarkus »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #203 on: 22:35, 31 October 10 »
Code: [Select]
.end1 equ $ and #ff
if end1
ds 256 - end1
endif

This looks like self-modifying code...

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #204 on: 22:49, 02 November 10 »
Small example for the next version of my Z80 Assembler:
http://cpc-live.com/assembler
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Executioner

  • Supporter
  • 6128 Plus
  • *
  • Posts: 783
  • Country: au
  • WinAPE Developer
    • WinAPE
  • Liked: 392
  • Likes Given: 60
Re: JavaCPC Desktop available as BETA!
« Reply #205 on: 03:56, 03 November 10 »
Hi Markus,

if, else, elseif and endif are not macros. They are simply conditional compilation instructions for the assembler. They don't generate any code themselves, simply tell the assembler which code to generate. The conditions are considered true if they evaluate to non-zero. (Not sure if = works at all).

Conditional breakpoints can be useful. For example, you can set a breakpoint in a loop with a condition of HL = #3fe2

WinAPE uses full evaluation there (with brackets). There are also some additional functions to poke a value into memory or set a palette colour. You could for example have one breakpoint which set the border to green at the start of a section of code, then returned 0. And another breakpoint which set the border back to black.

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #206 on: 22:43, 05 November 10 »
Cool thing with the conditions...
Perhaps I will add some simple, too.

Actually I am improving the disassembler (Which is REALLY hard for me because I'm an absolute noob with that!)

The goal is to make disassembling as simple as possible to get a suitable result!

Example video:
http://cpc-live.com/disassembler/

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #207 on: 16:23, 06 November 10 »
The goal is to make disassembling as simple as possible to get a suitable result!

This project is just getting better and better  :)
 
I like the way you're recoginising firmware calls and labelling them.
 
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.

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #208 on: 17:44, 06 November 10 »
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.

Good idea!
I will add this... ;)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #209 on: 21:03, 06 November 10 »
I added a "replace" feature:
You can enter a search string (case sensitive) and all strings in the code field are replaced!
« Last Edit: 21:06, 06 November 10 by Devilmarkus »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #210 on: 10:36, 07 November 10 »
Great stuff, will give it a whirl  :)
 
Could it be possible to have an option that you turn on which recognises you are editing a label tag and then changes them all on the fly (i.e. so you only edit one and whilst doing this all the others change automatically)...? Or would this just be too complex?

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #211 on: 11:00, 07 November 10 »
Well, that would be much too complex here.
Think:
In the video I used a small sourcecode.
But a code often has more than 2000 lines.

Generating labels for a sourcecode with ca. 10.000 lines takes about 5 minutes!!!
Generating relative labels (rel_label_XXXX+1) takes ~ 20 minutes!

(I am too dumb to code an efficientier routine for that :( )

  Replacing firmware addresses takes a few seconds :)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #212 on: 15:40, 07 November 10 »
I remember battling with this at college to make my routines faster.

Not much fun  >:(

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #213 on: 15:49, 07 November 10 »
Perhaps you see something how to speed this crap up?
Code: [Select]
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;
                    }
                }
            }
        }
    }
}

Could help me much!
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #214 on: 16:30, 07 November 10 »
Working on linear pixel showing for my gfx viewer.
Many games like Antiriad or Aliens use this.
Mode 0 sprites but 4 colours only...
 
 




(Mode 1 but stretched!)

Also editing works already in MODE 1 or 2.
(MODE 0 works theoretically, too, but result is crap often...)
« Last Edit: 16:32, 07 November 10 by Devilmarkus »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #215 on: 16:56, 07 November 10 »
Perhaps you see something how to speed this crap up?

I haven't programmed high-level languages in a loooong time.  Well, I write pseudo-code for my Z80 sometimes so I guess this is a bit like Java  8)
 
I can't see why it would be so slow, or does Java have a problem with recursion?

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #216 on: 18:08, 07 November 10 »
I can't see why it would be so slow, or does Java have a problem with recursion?

Well I don't think, there's a problem with. But recursion slows down all!
Do you see a way to remove the recursion here?
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.767
  • Country: gb
    • redbox
  • Liked: 369
  • Likes Given: 273
Re: JavaCPC Desktop available as BETA!
« Reply #217 on: 20:06, 07 November 10 »
Do you see a way to remove the recursion here?

Not off the top of my head, but following the code I can't see why it would be so slow.

Maybe it's just Java...

Offline EgoTrip

  • 6128 Plus
  • ******
  • Posts: 1.058
  • Country: gl
    • http://egochip.blogspot.co.uk/
  • Liked: 704
  • Likes Given: 304
Re: JavaCPC Desktop available as BETA!
« Reply #218 on: 17:08, 08 November 10 »
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.
EgoTrip&#39;s Stuff
EgoTrip's Stuff

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #219 on: 19:33, 08 November 10 »
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.

Hi,
thanks for your suggestions.
The problem is: I don't have a real scroll area! I am doing pseudo scrolling in the paint field.
To make these things as you suggested, work, I would have to rewrite a complete engine for that, and, this would totally consume my last crumbeled brain cells :(
(Really, it would be lot of work to change the Paint app. like this.... :( )
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

norecess

  • Guest
Re: JavaCPC Desktop available as BETA!
« Reply #220 on: 20:36, 08 November 10 »
I also have my own set of tools.


At a time, I thought about making my own image editor.. then finally, just decided to allow import of bitmaps, edited under any external third-party image editor (that will ever be better than a custom solution).

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #221 on: 23:14, 08 November 10 »
I also have my own set of tools.

That's good.
I think everyone uses his own set of tools to create something for the CPC.
I just combined a few (some are simple, some are very complex) tools to JavaCPC Desktop.
This makes 'some' things easier and is maybe helpful for everyone...
And I just like coding funny things... ;)

Here's the today's beta:
http://cpc-live.com/data/download.php?type=-beta&fichier=2010_11_08_JavaCPC_Desktop_BETA.zip

You can access the GFX viewer via debugger or via menu: Help -> GFXViewer

Have fun!
(Test it on your own risk! It's pure beta! Nothing cleaned up yet...)

Edit:
Here's a ASM export example for the GFX-Viewer:
Code: [Select]
        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

Just do this:
open the Assembler, load this file in, and assemble it.
Then open the GFX viewer, set it's address to &9920 (without &) and set: width to 7, height to 52 and zoom to 1.

The sprites are linear!
WinAPE's GFXviewer can show these sprites, too...
« Last Edit: 23:19, 08 November 10 by Devilmarkus »
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #222 on: 00:04, 13 November 10 »
no full release yet!
But here's another new beta:
http://cpc-live.com/data/download.php?type=-beta&fichier=2010_11_12_JavaCPC_Desktop_BETA.zip

New: Multiface 2 emulation.

(To enable check system-settings)


Demo:
http://cpc-live.com/mf2

Have fun!

Btw.: "HOME" or "POS 1" is the multiface button!
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1984
  • Likes Given: 4650
Re: JavaCPC Desktop available as BETA!
« Reply #223 on: 00:06, 13 November 10 »
Great work!!!
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1017
  • Likes Given: 926
Re: JavaCPC Desktop available as BETA!
« Reply #224 on: 20:10, 04 January 11 »
Working on CPC-plus image conversion in JavaCPC-Paint:
 
 

So you will be able to edit / create SCR files for the CPC+.
Also, when JavaCPC cannot emulate the + ;)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release