Author Topic: JavaCPC Desktop 1.0 official release  (Read 42442 times)

0 Members and 1 Guest are viewing this topic.

Offline arnoldemu

  • 6128 Plus
  • ******
  • Posts: 4.911
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 1861
Re: JavaCPC Desktop 1.0 official release
« Reply #340 on: 18:47, 04 June 16 »
kc compact. Screen is 1 char to the left same as plus and type 4.

mode 1 same as cpc6128.

grey split ends mid #, closer to 2nd vertical of #. yellow to red mid 2.

mode 2:

now this is interesting.

I connect my kc compact to the cm14 via a scart cable and there is some ghosting and the image is a bit blurred BUT I think this really does happen:

at the point of colour change the kc compact repeats the last pixel.
For yellow to red transition, D is yellow, E is red. But last pixel line of D repeats. So it is a bit fatter.

On the grey, the split has grey & and yellow ', and again here 1 pixel line repeats.

So... mode 2 split rasters is fun.

(Talking about kc compact and split rasters: if you change the border colour, you get one pixel of black I think where the transition happens!)

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline arnoldemu

  • 6128 Plus
  • ******
  • Posts: 4.911
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 1861
Re: JavaCPC Desktop 1.0 official release
« Reply #341 on: 18:52, 04 June 16 »
summary of my machines:

- kc compact, 6128's with 40010 and 464 with 40007 (not opened to see yet) are all the same or at least are the same on my monitor.

- 464 plus, gx4000 and 464 type 4 are the same or at least I can't see easily with my monitor for mode 1

- differences in mode 2 colour changes that I think can't be corrected by 1 NOP adding or removing.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.068
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1003
Re: JavaCPC Desktop 1.0 official release
« Reply #342 on: 19:30, 04 June 16 »
Could you take some photos, too, please?
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 arnoldemu

  • 6128 Plus
  • ******
  • Posts: 4.911
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 1861
Re: JavaCPC Desktop 1.0 official release
« Reply #343 on: 19:34, 04 June 16 »
Could you take some photos, too, please?
yes I will do.

The battery had run out on the camera. :(
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.068
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1003
Re: JavaCPC Desktop 1.0 official release
« Reply #344 on: 19:47, 04 June 16 »
Changed your code a bit:

Code: [Select]
        ;;        I did not use CPCPlus equ 1

        ;;        MODE 2 results

        ;;        GX4000:
        ;;        white, pastel yellow,bright white, bright yellow, bright red, blue, green, sea green
        ;;        border is pastel yellow.
        ;;        Text is  !"#$% etc
        ;;        Grey extends up to but not including last pixel of "(" (i.e. there are two dots which are the final
        ;;        pixel graphics of the bracket.). The dots are pastel yellow.and are a single mode 2 pixel in size.
        ;;
        ;;        464 Plus: same as GX4000
        ;;
        ;;        6128 type 2 CRTC. believed 40010. Edge connectors
        ;;        border shifted compared to Plus. by 1 CRTC char
        ;;        grey split not so obvious, bright yellow split shows two dots from first pixel of E. Remainder of E is bright red.
        ;;
        ;;        6128 type 1 CRTC. believed 40010. Has German connectors.
        ;;        Seems same as type 2, but less obvious probably because of ghosting on my monitor.
        ;;
        ;;        6128 type 0 CRTC. believed 40010. Edge connectors
        ;;        same as type 2.
        ;;
        ;;        MODE 1 results:

        ;;        GX4000
        ;;        split is start of $ symbol. First mode 1 pixels of the graphics are grey, rest
        ;;        is pastel yellow
        ;;        red to blue happens ~2 mode 1 pixels into the 8
        ;;
        ;;        yellow to red happens 2 pixels into the 3

        ;;        6128 type 2 CRTC
        ;;        same as type 0

        ;;        6128 type 1 CRTC.
        ;;        same as type 0, 2 seems to be 3 mode 1 pixels in. (strangely with my dodgy screen
        ;;        this is the only one where there is flicker at the grey and pale yellow transition and
        ;;        bright green and pastel green. No idea why).
        ;;
        ;;        6128 type 0 CRTC.
        ;;        grey split mid #, bright yellow split mid 2, bright white split mid -.
        ;;


        ;-----------------------------------------
        ;        JavaCPC RasterPaint Assembly code
        ;        Authors: Oliver M. Lenz, Markus Hohmann
        ;-----------------------------------------

        org        &8000  ; CALL &8000

        OldCPC        EQU 1 ; Set this to 0 for CPC Plus / Newer CPC Models.
        MODE2        EQU 1
start:

        ld        a,1 ;; MODE 1!
        if        MODE2
        ld        a,2 ;; MODE 2!
        endif
        call        &bc0e

        ld        hl,&c000
        ld        e,l
        ld        d,h
        inc        de
        ;;ld        (hl),&ff
        ld        (hl),%11110000
        if        MODE2
        ld        (hl),&ff
        endif
        ld        bc,&3fff
        ldir

        ;;ld        b,80
        ld        b,40
        if        MODE2
        ld        b,80
        endif
        ld        a,' '
s1:
        push        bc
        push        af
        call        &bb5a
        pop        af
        inc        a
        cp        127
        jr        nz,s2
        ld        a,' '
s2:
        pop        bc
        djnz        s1

        di
        im        1
        ei
        ld        bc,&7f10
        out        (c),c
        ld        bc,&7f43
        out        (c),c

newframe:
        ld        HL,(&0038)
        ld        (rstsave),HL
        ld        HL,&C9FB
        ld        (&0038),HL

        ld        B,&F5
waitvsync:
        in        A,(C)
        rra
        jp        nc,waitvsync


        halt
        halt

        di
        ld        DE,&1702
waitforstart:
        dec        D
        jr        nz,waitforstart
        dec        E
        jr        nz,waitforstart

        nop
        IF        OldCPC
        nop
        ENDIF

        ld        BC,&8080
        out        (C),C        ; select pen 1
        ld        HL,colours
        ld        DE,&0203
        ld        A,&01

.nextline
        rept 200
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        outi        ; 5
        ;        40

        out        (C),D  ; 4 ; pen 2
        ld        B,C  ; 1
        outi        ; 5
        out        (C),E  ; 4 ; pen 3
        outi        ; 5
        out        (C),A  ; 4 ; pen 1
        ld        B,C  ; 1
        ;        --
        ;        64 microseconds
endm

        ld        HL,(rstsave)
        ld        (&0038),HL
        ei

        LD        A,&45 ; from &40 to &49 with bdir/bc1=01
        LD        D,0
        LD        BC,&F782 ; PPI port A out /C out
        OUT        (C),C
        LD        BC,&F40E ; Select Ay reg 14 on ppi port A
        OUT        (C),C
        LD        BC,&F6C0 ; This value is an AY index (R14)
        OUT        (C),C
        OUT        (C),D ; Validate!! out (c),0
        LD        BC,&F792 ; PPI port A in/C out
        OUT        (C),C
        DEC        B
        OUT        (C),A ; Send KbdLine on reg 14 AY through ppi port A
        LD        B,&F4 ; Read ppi port A
        IN        A,(C) ; e.g. AY R14 (AY port A)
        LD        BC,&F782 ; PPI port A out / C out
        OUT        (C),C
        DEC        B ; Reset PPI Write
        OUT        (C),D ; out (c),0
        bit        7,A
        jp        nz,newframe
        ret

rstsave:
        db        0,0

colours:
        rept 200
        defb        &40,&43,&4b,&4a,&4c,&50,&52,&59,&5a,&48
endm

        end start

(JavaCPC users please replace REPT and ENDM to REPEAT and REND)
« Last Edit: 20:45, 04 June 16 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 Axys

  • CPC464
  • **
  • Posts: 3
  • Country: fr
  • Liked: 0
Re: JavaCPC Desktop 1.0 official release
« Reply #345 on: 19:30, 01 July 16 »
Very good work Devilmarkus.  :)

I use JavaCPC with Ubuntu 16.04 and I have some problems / requests.

The main problem is the keyboard. I use a french keyboard. In the emulator letters are good. But all others characters are bad.
Numeric keys are mapped to Fx keys (F1, F2, ...).
It's impossible to do most of special characters (", #, ...).

Minor bugs:
when closing GFXViewer (click on cross), JavaCPC Desktop is closed (no error in the terminal).
Manage DSK can't open DSK created with JavaCPC (Disk not directoryable / readable).

Request:
Is it possible to add a directive in assembler: incbin ?

Thx

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.068
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1003
Re: JavaCPC Desktop 1.0 official release
« Reply #346 on: 21:50, 12 July 16 »
The main problem is the keyboard. I use a french keyboard. In the emulator letters are good. But all others characters are bad.
Numeric keys are mapped to Fx keys (F1, F2, ...).
It's impossible to do most of special characters (", #, ...).

This should work ok, as I implemented French keyboard translation, too. (Developed under Windows)
If not, I can't help you here, sorry.

Minor bugs:
when closing GFXViewer (click on cross), JavaCPC Desktop is closed (no error in the terminal).

Fixed that.

Manage DSK can't open DSK created with JavaCPC (Disk not directoryable / readable).

ManageDSK doesn't work under Linux / Mac OS. It makes use of CPCXFS.exe which only runs under windows.

Request:
Is it possible to add a directive in assembler: incbin ?


JavaCPC update 2.9.5b is out. (b because I now just read about your request about the GFXViewer problem)
Fixes so far:
- Fixed INCBIN instruction in assembler.
- Improved assembler speed up to 300% (Especially when using disassembled code)

New features:
- Assembler understands command "define" e.g.:
Code: [Select]
define .myfile = "MYFILE.BIN"
INCBIN .myfile
this works with INCBIN, INCLUDE and READ (READ is similar to INCLUDE)
When you use INCBIN / INCLUDE / READ instructions, make sure, the additional files are in the same folder than your assembly code.

- Assembler: added IFDEF check (Like in Winape)
IFDEF does not check the value given to a label, just checks if this label has been defined.
Syntax:
Code: [Select]
ifdef mylabel
<asm code here>
else
<asm code there>
endif
- Fixed LD IXH,x and related instructions

Updates:
- Embedded JavaGX4000 emulator has been updated.
- RasterPaint is improved. You can now select every single zone/line to disable autogeneration for palette. (last palette is used then)
This is VERY useful to remove some unwanted stripes.
Use right mouse button into preview window:
1x clicked: rastermode 1: zones are selectable. (You can see them) Click one to toggle as active (default) or inactive
2x clicked: rastermode 2: lines are selectable. Click them to toggle, too
3x clicked: rastermode 3: zones AND lines are visible and toggle on click
You need to play around with that. But it really can improve the result.
- RasterPaint: Image can be opened in a 3x zoomed frame. It has the same rastermodes to select zones and lines like the main window. Makes it easier to find / hit the correct zones.
- RasterPaint: Image, which is vertically higher than 320x200 pixel ratio can be scrolled up/down now.
- An emulator has been added :P (You can only use it with a special cheat command from console...) (Hint: It's not a toaster but may have to do with bread)

Many more things fixed, which I forgot now to list were made, too.
And, as usual: Many new bugs added for your pleasure ;)

Grab your update as usual here:
http://sourceforge.net/projects/javacpc
« Last Edit: 22:01, 12 July 16 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.068
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1003
Re: JavaCPC Desktop 1.0 official release
« Reply #347 on: 22:33, 12 July 16 »
Seems that SF has some trouble today.
When you let JavaCPC check for updates, it will give you the latest copy, too...
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 GUNHED

  • CPC464
  • **
  • Posts: 4
  • Country: us
  • Liked: 2
Re: JavaCPC Desktop 1.0 official release
« Reply #348 on: 18:37, 20 March 17 »
Update works! A GEM and a CHARM like always!