CPCWiki forum

General Category => Programming => Topic started by: tastefulmrship on 13:46, 20 August 11

Title: - My First Safety Overscan Picture -
Post by: tastefulmrship on 13:46, 20 August 11
Hi guys,

Firstly; I am, at least, 25 years behind everyone else when it comes to programming the CPC!
Secondly; I have no discernible artistic talent or imagination.
Thirdly; I am a lamer, not a scener. Though, I love watching demos!

With these points in mind, may I present my first delve into the scary world of overscanned screens.
http://www.filefactory.com/file/cd17f06/n/MODE_1_Overscan_Screen.dsk (http://www.filefactory.com/file/cd17f06/n/MODE_1_Overscan_Screen.dsk)  I adapted arnoldemu's overscan code from The Unofficial Amstrad WWW Resource, using &01A0-&7FFF for the screen, and, because it's simply brilliant, I used DevilMarkus's wonderful 4 colour signature picture. (Sorry, guys!)


- Files to load;
VIEWSCRN.BIN - This loads the two 17k screens into &01A0 and &4000.
OVERSCAN.BIN - This is the complete screen. Loads at &01A0, length &7F10 and executes at &8000.
The other .BAS files just create the two 17K files from the 4 'corner' screens (TOP-LEFT, TOP-RGHT, BOT-LEFT, BOT-RGHT).


I have some initial questions if I may;

1. Can someone check to make sure this works on real hardware for me? (Not that I'm convinced it even works on an emulator, but...)

2. Is there an easy way to compress the screen? I am thinking of developing a little slide-show and don't really want 50+ disks of 32k files. I initially thought of adapting the ACU screen-squash routine to handle &01A0-&8000 instead of &C000-&FFFF; maybe by loading into &C000 and working from there. Or, is there a compression routine where I could load to &C000 and uncompress to &01A0?

3. Would keeping the code within 64K be wise, or should I consider loading a batch of compressed screens into the upper 64K and switching back to &C000-&FFFF (BANK 3 is it?) before viewing? Or maybe some other way of utilising the extra 64K?

4. Is it easy enough to initialise ASIC and use the CPC+ pallete? I'd like this slide-show to be CPC+ only if possible; the CPC's pallete doesn't lend itself to real-world pictures... unless I make it green-screen only and 'grey-scale' the pics. (Can you say 'run before you can walk'?)


All comments welcome, including concerns and mockery,

Thanks in advance,
- JTMS...


EDIT: Added a little ditty to the screen... for no apparent reason! (Colours by Dreamer/PMC)
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 15:43, 20 August 11
Hello mate!

What an excellent first effort - well, most of us are "lamers". I wanna see more!

And yes it works, try looking at it here: http://twitter.com/# (http://twitter.com/#)!/krakout/status/104925517555310592/photo/1
(http://twitter.com/krakout/status/104925517555310592/photo/1/large)
Title: Re: - My First Safety Overscan Picture -
Post by: Axelay on 16:01, 20 August 11
I think it was the ACU screen cruncher I used on the first Star Sabre loading screen.   :)  But I'd recommend checking out the compressors on this page at CPCrulez:


http://cpcrulez.fr/coding_menu-crossdev.htm (http://cpcrulez.fr/coding_menu-crossdev.htm)


Try Exomizer for the best compression, but it's slow to decompress.  Bit Buster if space is not so critical as decompression time.


For unlocking the ASIC palette of the plus check the Wiki programming (http://cpcwiki.eu/index.php/Programming#Graphics) section.  The plus section contains source for unlocking the ASIC, and the raster example shows changing colours.  I'm afraid I cant remember where I found the plus document that explains how the colours are defined at the moment.  But I think they were two byte RGB values at 4 bits per colour, starting at &6400 by the looks of the raster demo.

Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 20:15, 20 August 11
Quote from: Gryzor on 15:43, 20 August 11
And yes it works, try looking at it here: http://twitter.com/# (http://twitter.com/#)!/krakout/status/104925517555310592/photo/1
(http://twitter.com/krakout/status/104925517555310592/photo/1/large)

Wow! Someone elses work, copied by me, working on a real CPC! Well, I never thought I'd see the day!
Thanks!

Quote from: Axelay on 16:01, 20 August 11
I think it was the ACU screen cruncher I used on the first Star Sabre loading screen.   :)  But I'd recommend checking out the compressors on this page at CPCrulez:

http://cpcrulez.fr/coding_menu-crossdev.htm (http://cpcrulez.fr/coding_menu-crossdev.htm)

Try Exomizer for the best compression, but it's slow to decompress.  Bit Buster if space is not so critical as decompression time.


For unlocking the ASIC palette of the plus check the Wiki programming (http://cpcwiki.eu/index.php/Programming#Graphics) section.  The plus section contains source for unlocking the ASIC, and the raster example shows changing colours.  I'm afraid I cant remember where I found the plus document that explains how the colours are defined at the moment.  But I think they were two byte RGB values at 4 bits per colour, starting at &6400 by the looks of the raster demo.

Thanks for info. The best I can get out of those external compressors is 24K (from 32K), so I can rule out using C000-FFFF to store compressed data. Looks like reverting to 3.5" discs is my only real option!

Ah, yes! Got it! The ASIC code and palette definitions! Thanks again! I might see if I can get my PARADROID 90 screen to look like a defectively fat-pixelled Amiga, instead of the red & blue of the standard CPC palette!

... onwards...
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 22:06, 20 August 11
Much easier is to create this picture with JavaCPC Paint ;)
But well done!

JavaCPC paint already stores the Overscan.SCR as single 32k file.
You simply load it from asm code (Will put one later here) or with a little BASIC routine.
Then, 1 CALL is enough to put this screen on your monitor ;)
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 22:36, 20 August 11
Well, attachments folder still has the wrong rights, so my attached file expired in dust...
(Also my already posted text)

Once again:
Gryzor wanted a Georgia Salpa screen, so here you go:

I pixeled this SCR with JavaCPC Paint (Overscan mode), took 3 seconds.
Then I coded a little ASM routine to load this SCR and display it.

Assembler source:
        org        #170
        write        direct "a:georgia.bas"
       
        ;;        firmware addresses
        cas_in_open        equ #bc77
        cas_in_direct        equ #bc83
        cas_in_close        equ #bc7a

        ;;        load scr to:
        loadaddress        equ #200

generate_basic_code:
        ;;        10 CALL &180
        db        &0A,&00,&0A,&00,&83,&20,&1C,&80,&01,&00,&00,&00,&00,&00,&00,&00
load_scr:
        ld        b,#0c
        ld        hl,filename

        call        cas_in_open
        ld        hl,loadaddress
        call        cas_in_direct
        call        cas_in_close
show_screen:
        call        &811
wait_key:
        call        &bb18
reset_registers:
        call        &831
        ret


filename:
        db        "georgia .scr"


Yes, true, I save it as .BAS file because I added line 10! (see comment)

The SCR + the assembled .BAS file you can check out here:
http://cpc-live.com/georgia.dsk (http://cpc-live.com/georgia.dsk)

And the result is: (Sure, with filter :P )
Spoiler: ShowHide
(http://cpc-live.com/georgia.png)
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 23:39, 20 August 11
Oh wow. My CPC has never looked sexier! Tomorrow I'll turn this into a dsk image and load it up on the real thing...

(http://i.imgur.com/Fa5lc.png)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 09:37, 21 August 11
Ok, I've had a little play and here's my initial results;
http://www.filefactory.com/file/cd2a293/n/Georgia_Salpa_OVERSCAN.dsk (http://www.filefactory.com/file/cd2a293/n/Georgia_Salpa_OVERSCAN.dsk)


I have some questions; (no surprise there!)


1. When loading a screen into JavaCPC PAINT, it appears in the EFFECTMIXER but nothing appears in the PAINT screen. It just has a blue screen. Is this a problem with my PC and lack-of graphics card? (I'm running off VGA drivers as my card is knackered)
This means that the only way I can check the picture is when I've copied it to a .dsk, re-assembled the viewer and tested it.


2. I've tried converting MODE 0 and MODE 2 screens. These default to MODE 1 when viewed using the assembler code you supplied.
Is it a simple change of a 1 to a 0 or 2 in the screen code or will I have to add a MODE 0 command to the BASIC loader?   


generate_basic_code:
;; 10 MODE 0:CALL &180
db &0E,&00,&0A,&00,&AD,&20,&0E,&01,&83,&20,&1C,&80,&01,&00,&00,&00



generate_basic_code:
;; 10 MODE 2:CALL &180
db &0E,&00,&0A,&00,&AD,&20,&10,&01,&83,&20,&1C,&80,&01,&00,&00,&00



3. I haven't had a chance to check the code, but I want to get to a stage where the screen data is in line with the &01A0-&3FFF screen I am used to. I would presume this will just be a simple data-block move to the new memory location? I've tried loading the screen directly to &01A0 and there's a nice big gap in the middle of the screen.
Once I've played, I'll come back to yous'all!


- JTMS...
Learning is fun... especially with nuddy-women pictures! ^_^


EDIT: All my formatting has gone wrong in this post. What's up?
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 10:09, 21 August 11
Quote from: tastefulmrship on 09:37, 21 August 11
1. When loading a screen into JavaCPC PAINT, it appears in the EFFECTMIXER but nothing appears in the PAINT screen. It just has a blue screen. Is this a problem with my PC and lack-of graphics card? (I'm running off VGA drivers as my card is knackered)
This means that the only way I can check the picture is when I've copied it to a .dsk, re-assembled the viewer and tested it.
Hmmmmmm..... That's strange, really... Make sure, you use default ROM settings... No expansion roms or so.

Quote
2. I've tried converting MODE 0 and MODE 2 screens. These default to MODE 1 when viewed using the assembler code you supplied.
Is it a simple change of a 1 to a 0 or 2 in the screen code or will I have to add a MODE 0 command to the BASIC loader?


generate_basic_code:
;; 10 MODE 0:CALL &180
db &0E,&00,&0A,&00,&AD,&20,&0E,&01,&83,&20,&1C,&80,&01,&00,&00,&00



generate_basic_code:
;; 10 MODE 2:CALL &180
db &0E,&00,&0A,&00,&AD,&20,&10,&01,&83,&20,&1C,&80,&01,&00,&00,&00
 

Screenmode is set in SCR itself, not in the ASM code or Basic loader.
CALL &811 brings the screen with proper palette and screenmode to the CPC screen.
CALL &BB18 then waits for a key
CALL &831 returns to original CRTC register settings.


Point 3.: No idea yet ;) I need to disassemble the SCR code first...
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 10:21, 21 August 11
Some really nice piccies there... imagine if such a slideshow was running on a CPC in a store window; especially Georgia would have done the trick ;)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 10:24, 21 August 11
1. Ah! It must be my PC, then! I'll get round to ordering a new gfx card one day!


2. Weird. Try this .dsk;
http://www.filefactory.com/file/cd2a6e6/n/JavaCPC_OVERSCAN_Screens_2.dsk (http://www.filefactory.com/file/cd2a6e6/n/JavaCPC_OVERSCAN_Screens_2.dsk)

OPENOUT"d"
MEMORY &1FF
LOAD "ANNA-S-0.SCR",&200
CALL &811:CALL &BB18:CALL &834


It seems to default to MODE 1 on my system. Again, it may be a P.I.C.N.I.C. and not your software!


3. I'll play!


Additional question;

4. I've tried creating a CPC+ screen with JavaCPC and can't get it to work. I'll play around with ASIC and the palette as well as POINT 3's relocation of screen data. Get back to you!


Thanks again for your responses;

- JTMS...
Too much pr0n, too little .dsk space! 


EDIT: Yep! Text formatting failed AGAIN on this post. had to re-edit! Annoying!
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 10:25, 21 August 11
I uploaded a JavaCPC-Update (v 1.0e)
Please use the update function in JavaCPC to download it.
(Menu: Help -> Check for update)

The display method in paint is a bit changed here...

Also important: The "Paint-Panel" just updates, when you move your mouse over it!
This is done because I wanted a better performance...
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 10:31, 21 August 11
Here's my desktop with 1.0d. No ROMs loaded.

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_JavaCPCDesktop.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/JavaCPCDesktop.jpg)
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 10:36, 21 August 11
Quote from: tastefulmrship on 10:31, 21 August 11
Here's my desktop with 1.0d. No ROMs loaded.

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_JavaCPCDesktop.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/JavaCPCDesktop.jpg)

Can you "doodle" around in paint or is this also not visible?
Please do this:
- Make sure, Java-Console is enabled. (The small DOS-like console window)
- Start Paint
- Convert an image until you get the result seen above
- Use the Send Bug feature: Menu: Help -> Report a bug.
- Fill in your name, email, and a short text (can be nonsense, because I can see the problem here)
- Reply the anti-spam question and send this report.
- I then can check what happens perhaps.


Here's one for Gryzor:
(http://cpc-live.com/georgia2.png)
Just google around and you'll find this picture.
I want you to make this as overscan screen ;)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 10:41, 21 August 11
JavaCPC 1.0e CPC PAINT. A lot better.

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_JavaCPCDesktop10e.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/JavaCPCDesktop10e.jpg)


I couldn't doodle around the paint window in 1.0d... but in 1.0e it works fine.



Georgia Salpa... in CPC Plus palette... to be converted to overscan screen! Hopefully that'll be today's mission.

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_GeorgiaSalpaCPC-Plus.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/GeorgiaSalpaCPC-Plus.jpg)



One last thing... why does the EFFECTMIXER stay 'on top' of other windows when I swap to another window? The others disappear, but the EFFECTMIXER stays...

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_EffectMixerWINDOW.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/EffectMixerWINDOW.jpg)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 11:11, 21 August 11
Quote from: Devilmarkus on 10:36, 21 August 11
Here's one for Gryzor:
(http://cpc-live.com/georgia2.png)
Just google around and you'll find this picture.
I want you to make this as overscan screen ;)

http://www.filefactory.com/file/cd2a864/n/Georgia_Salpa_OVERSCAN_2.dsk (http://www.filefactory.com/file/cd2a864/n/Georgia_Salpa_OVERSCAN_2.dsk)


GEORGIA.BAS   - The original picture you did before (on the bed)
GEORGIAS.BAS - The football picture above... but looking a little different.



***** PLEASE WAIT FOR CPC+ VERSION! NOW WORKING... *****
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 11:28, 21 August 11
For the love of god, why would anyone want to see Georgia in a full football outfit? So many nice pics online...
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 11:47, 21 August 11
Quote from: Gryzor on 11:28, 21 August 11
For the love of god, why would anyone want to see Georgia in a full football outfit? So many nice pics online...

Good point... ok, here's the original bed picture from earlier... in CPC+ MODE 0
[File Deleted]

GEORGIAB.BAS - This is the bed/lingerie picture and it works.
GEORGIA+.BAS - This is the football picture in CPC+, but doesn't work.

- More playing required! -
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 12:16, 21 August 11
Great that it works now!
I had an issue with a BufferedImage generated in Display routine.

Why the window stays on top is simple ;)
Because I use "setAlwaysOnTop(true);"
But, if you all don't like that, I'll remove that in the next release...
I personally found it very useful.
(because you can also drag & drop JPG, PNG, BMP, PCX, GIF, TGA into this window)

About your CPC+ conversation:
Sure, it's nice but the palette could be better ;)

Try this:
- Convert the image first
- Lock all INKs
- In Paint-Window you can select each PEN by left click on it.
- When you now pick any colour of the preview image in the EffectMixer, this PEN is overwritten by the selected Colour from the Mixer.
- When done setting the palette, just re-convert it. (With all INKs locked)
- To lock/unlock single PENs just double click on them in the Paint-Window.
- To select a Colour manually, right click on a PEN in Paint-Window and a Color-Chooser pops up (For CPC+ a RGB chooser opens)

But the image I posted was meant especially for Gryzor to create ;)
Why?
Simply: I want him to be more CPC productive ;)

Little hint: "Normal" Paint can also import .SNA files! (You only need to make sure, that the SNA contains a screen with the proper (default) CRTC Register settings!)
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 12:29, 21 August 11
This is just a suggestion:

(http://cpc-live.com/georgia3.png)

But I am sure you can achieve much better results ;)

The Colour-reduction algorithm was a very cruel thing to code...
Especially for the CPC+ mode.
So, what has been processed automatically, is not always the best result ;)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 12:48, 21 August 11
Quote from: Devilmarkus on 12:29, 21 August 11
This is just a suggestion:

(http://cpc-live.com/georgia3.png)

But I am sure you can achieve much better results ;)

The Colour-reduction algorithm was a very cruel thing to code...
Especially for the CPC+ mode.
So, what has been processed automatically, is not always the best result ;)

Ah, dang it! I struggled for ages with the DITHER/BRIGHTNESS/CONTRAST sliders to get that as good as I could.
However, I don't want to infringe on someone else's fun; I think I'll leave that for Mr. Gryzor to finalise. ^_^


I'm still struggling to get some of these CPC+ pictures to display in WinAPE. That screen of GeorgiaS on the bed is the only one I've managed to get working so far. Some manual manipulation may be in order for now.
This one's my latest;

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_GeorgiaSalpa9-CPC.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/GeorgiaSalpa9-CPC.jpg)
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 13:19, 21 August 11
Strange: You are right!
Plus overscan does not display in WinApe or so...
*grrrrrrrrrrrrrrrrrrrr*
Need to check that...
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 13:22, 21 August 11
Ok, my fault!
For CPC+ Overscan:
Load SCR to &200, CALL &821
The code then waits for key input and returns to normal CRTC registers.
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 13:36, 21 August 11
Yes it was definetively a bug...
I reupped JavaCPC.jar so just run "Update.jar" again. (don't open JavaCPC.exe)
If Update.jar does not startup, use a little .BAT file in the same folder with content:
java -jar update.jar

The bug in detail:
JavaCPC Paint and CPC emulation have a export binary function where I can define start, length and also exec. address.
The source for Overscan export is here:
    public void writeOverscan() {
        try {
            FileDialog filedia = new FileDialog((Frame) new Frame(), "Save overscan SCR", FileDialog.SAVE);
            filedia.setFile("*.SCR");
            filedia.setVisible(true);
            String filename = null;
            filename = filedia.getFile();
            if (filename != null) {
                filename = filedia.getDirectory() + filedia.getFile();
                if (!filename.toLowerCase().endsWith(".scr")) {
                    filename += ".SCR";
                }

                if (plusmode) {
                    jemu.system.cpc.CPC.BIN_Export(filename, 0x200, 0x7CC0, 0x821, true);
                } else {
                    jemu.system.cpc.CPC.BIN_Export(filename, 0x200, 0x7CC0, 0x811, true);
                }
            }

        } catch (Exception e) {
            System.err.println("Save Overscan image failed...");
            return;
        }
    }


The bug was, that I did not check if plusmode was enabled or not and so all SCR were exported with a start address of &811
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 13:42, 21 August 11
Quote from: Devilmarkus on 13:22, 21 August 11
Ok, my fault!
For CPC+ Overscan:
Load SCR to &200, CALL &821
The code then waits for key input and returns to normal CRTC registers.

Updated my loader ASSEM code to CALL &821 instead of CALL &811 for CPC+ screens. Updated .dsk file.
http://www.filefactory.com/file/cd2b3b5/n/Georgia_Salpa_OVERSCAN_2.dsk (http://www.filefactory.com/file/cd2b3b5/n/Georgia_Salpa_OVERSCAN_2.dsk)

All works fine now!...
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 14:33, 21 August 11
Let's try an attachment...
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 15:35, 21 August 11
Ok, for no other reason than to introduce myself to how ASIC works, here's another version of the bikini picture!
http://www.filefactory.com/file/cd2ce49/n/Georgia_Salpa_OVERSCAN_CPC+.dsk (http://www.filefactory.com/file/cd2ce49/n/Georgia_Salpa_OVERSCAN_CPC+.dsk)

GEORGIAF.BAS - The JavaCPC PAINT original file loader.
TESTASIC.BIN  - My first safety ASIC loader, loads/execs at &8000. This loads the screen to &1A0 with the new palette.

The other two .BAS files copy the two halves of the screen to &C000, then save them as separate files.


Today's mission accomplished!
- JTMS... 
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 15:40, 21 August 11
Curious:
Assembling my ASM source with JavaCPC works fine...
I tried the same with WinApe (write direct "a:file.bas") but there it failed.
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 15:51, 21 August 11
Quote from: Devilmarkus on 15:40, 21 August 11
Curious:
Assembling my ASM source with JavaCPC works fine...
I tried the same with WinApe (write direct "a:file.bas") but there it failed.

It SAVEs, but as BINARY rather than BASIC. I cheated and loaded your GEORGIA.BAS, changed the screen filename, re-assembled and SAVEd as normal in WinAPE (after removing the WRITE DIRECT line).

For interest, here's my PARADROID 90 loading screen. (Attached below)

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_Paradroid90Normal.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/Paradroid90Normal.jpg)                    (http://i1099.photobucket.com/albums/g385/tastefulmrship/th_Paradroid90Plus.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/Paradroid90Plus.jpg)
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 16:05, 21 August 11
Nice conversation!

[cpc=http://www.cpcwiki.eu/forum/index.php?action=dlattach;topic=2600.0;attach=2004,PD-TITLE,1]CPC6128[/cpc]
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 16:20, 21 August 11
Does WebCPC support CPC+?
I can't seem to see the Plus palette when pressing any key... pressing another key auto resets!


Also, I've found unlocking ASIC from a BASIC program sometimes doesn't work in WinAPE, you need to run it a few times.
CALLing dierct from MC is ok, though.

I should change that program to MC. It shouldn't take a few mins!
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 16:30, 21 August 11
WebCPC does not support CPC+ ;)
A basic CPC+ emulation is done in a little emu I coded...
http://retropower.eu/CPCInAJar/cpcplus.php?large=true&dsk=Xmas2010.zip&cpr=Plus.zip&boot=xmas2010 (http://retropower.eu/CPCInAJar/cpcplus.php?large=true&dsk=Xmas2010.zip&cpr=Plus.zip&boot=xmas2010)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 16:37, 21 August 11
Quote from: Devilmarkus on 16:30, 21 August 11
WebCPC does not support CPC+ ;)

Ah, that explains it.


Here's an updated .dsk with an MC version of the PD-TITLE.BAS file.
To run, just type PD-TITLE.BIN. Again, CPC+ only.
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 19:50, 21 August 11
Well I made another testing the integrated binaries.
The palette I've choosen manually.
So, the result I like much:
(CPC+!)
Result:
Spoiler: ShowHide
(http://cpc-live.com/plus1.png)


Attached DSK: (RUN"PLUS")
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 20:08, 21 August 11
Well, drunk with new-found (but not deserved) power, I've been messing around with a whole load of things I shouldn't be!
Namely, C64 screens!


- Firstly, 16 C64 loading screens. Normal CPC palette, 160x200x16, retouched by me and compressed by ACU!
Type VIEWC64S.BAS to view.

- Secondly, 3 'Edge Of Disgrace' screens. All CPC+ palette, 160x200x16 and copied direct from the original (via PAINT SHOP PRO).
Type B-DESIGN.BIN, EDGE-O-D.BIN or EOD-HCB1.BIN to view these screens.


- JTMS...
Mummy, make the nasty man stop messing with other people's pictures!
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 20:14, 21 August 11
Someone hack the Teenage Queen age with new gfx please! :D
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 20:16, 21 August 11
BTW.: You can edit up to 20 screens simulteanously!

(http://cpc-live.com/image_storage.png)

How it works?
Quite simple:
Select 1 out of 20 slots and click "Store" to store the actual image into this slot.
Later, when you restart JavaCPC the next time (After 2 or 3 years or so ;) ) just select this slot again and click "Restore"

The compressed file is stored in c:\users\yourname\JavaCPC\images_overscan.dat.gz (or images_normal.dat.gz). (When you install the latest update!)
Without the latest update, these files are in c:\users\yourname\imageso.dat.gz (or images.dat.gz)
So, if you already have these 2 files BEFORE you update to 1.0f, you can simply rename these 2 files and move them to subfolder \JavaCPC\
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 20:22, 21 August 11
Quote from: Gryzor on 20:14, 21 August 11
Someone hack the Teenage Queen age with new gfx please! :D

You mean like this?
Spoiler: ShowHide
(http://cpc-live.com/exxos.png)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 22:07, 21 August 11
Ok, this is it! My last attempt at overscan screens... for this week!


Right! This is my second attempt at 'Edge Of Disgrace' screens. This time; I took the screens direct from the C64 emulator into JavaCPC Paint, manually added each INK, saved as MODE 0 overscan screens, then renamed to .BIN so you can run them direct.
None of them resolve to BASIC, but will happily reset the CPC when you press a key.

Anyway, they're pretty nice screens and it's good to see them on a CPC!


So, it's time to go home... to the warm room... with matron... some hot milk and biscuits... and those jackets that tie up at the back.
- JTMS...


EDIT: Ok, I know the screens are mainly 160x200x16, but I wanted to see if I could import directly into JavaCPC with a manual palette. Anyway, screens 3 and 4 have their borders just outside the main screen area!
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 22:16, 21 August 11
This gives me an idea!
Shall I add a preset "C64 Palette" to the plus conversion?
(C64 only has 16 colours so they easily match into the CPC+ palette!)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 22:19, 21 August 11
Quote from: Devilmarkus on 22:16, 21 August 11
This gives me an idea!
Shall I add a preset "C64 Palette" to the plus conversion?
(C64 only has 16 colours so they easily match into the CPC+ palette!)

My C64 loading screens disk (above) use a standard 16 colour palette I got from CCS64 emulator.
EoD seems to use a different palette, but that might just be because I used C64 FOREVER to run EoD.
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 22:23, 21 August 11
Hmmm but did you find the bug in Paint? :(
I cannot change the PEN's ink (or I am too stupid to use my own app)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 22:30, 21 August 11
Quote from: Devilmarkus on 22:23, 21 August 11
Hmmm but did you find the bug in Paint? :(
I cannot change the PEN's ink (or I am too stupid to use my own app)

Ah, bugger! I can't import the pictures back from the .dsk directly into JavaCPC Paint (with 'restore palette' checked). The palette reverts to 16 blacks!
Sh*t, I knew I should've made a note of the palette as I went along.



EDIT: Editing PENs doesn't always work.

(http://i1099.photobucket.com/albums/g385/tastefulmrship/th_RestoringScreensInJavaCPC.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/RestoringScreensInJavaCPC.jpg)
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 22:41, 21 August 11
You can export the files using the "Manage DSK" icon ;)
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 23:08, 21 August 11
I must be Mr. Thicky! I can't get 'Manage DSK' to do anything and I can't edit the PLUS Palette in 'Paint'.

Also, I think the palette I've done (manually) isn't the same as the one used in EoD screens.
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 23:18, 21 August 11
Well, let JavaCPC check for updates.
Then I hope you will be happy.
Restore Palette now works when you load a .SCR or .BIN from dsk!
You have to select first if for CPC+ or not (EffectMixer: Plus)

Also choosing the PENs should work proper now...
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 23:31, 21 August 11
That looks good, now.

I had a little problem with INKs disappearing, but that was because I was clicking on the EFFECTMIXER and as it's blank, it changed the INK. As an olde, wise philosopher once said, "D'oh!".
Errr... should the EFFECTMIXER be blank?
Title: Re: - My First Safety Overscan Picture -
Post by: Devilmarkus on 09:11, 22 August 11
The EffectMixer is blank until you import a no-CPC image.
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 11:00, 22 August 11
Quote from: Devilmarkus on 09:11, 22 August 11
The EffectMixer is blank until you import a non-CPC image.

I guessed it might have something to do with that.



NEW: Mission for next weekend; trying to get a CPC to display this screen from BD-EoD...

          (http://i1099.photobucket.com/albums/g385/tastefulmrship/th_Terminator3x320x200x16Screen.jpg) (http://i1099.photobucket.com/albums/g385/tastefulmrship/Terminator3x320x200x16Screen.jpg)

It's 3 x 160x200 in size, using the CPC+ palette from the original demo and scrolled vertically onto the screen.

- What's the easiest way of doing this?
I was thinking of sticking the three 160x200 screens into three of the upper banks of 128K. Swap the top screen to &4000-&7FFF, then using the 'CPC+ Vertical Scrolling' code from The Unofficial CPC Resource website to display the screen by moving a line at a time to the bottom of the normal screen; &FFB0 (depending on offset, of course). Swap banks to the middle screen, view that the same way. Then the bottom screen. Finally, a screen full of just white. Repeat.
Add a cheesey Terminator chip-ditty to relieve some of the boredom... and voila!

Any thoughts? Any tips? As a non-programmer, am I mad? Should I just cut my losses and return to laming?
- JTMS...
Title: Re: - My First Safety Overscan Picture -
Post by: TFM on 20:49, 22 August 11
Do you want that it will be scrolled like that:

64 KB V-RAM Scroller Amstrad CPC6128 (http://www.youtube.com/watch?v=l3lqJ60pQr4#)

(On a real CPC the scrolling is 100% smooth. Video made with an emulator)

However you pic has 320*600, so you can make three pictures out of them and just scroll them. The above example uses four screens (64 KB V-RAM).

Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 08:47, 23 August 11
Quote from: TFM/FS on 20:49, 22 August 11
Do you want that it will be scrolled like that:
That's a good place for me to start, yes.
Is that a 1 pixel scroll or 8 pixel scroll? I can't quite make it out from the video.

Quote from: TFM/FS on 20:49, 22 August 11
However your pic has 320*600, so you can make three pictures out of them and just scroll them. The above example uses four screens (64 KB V-RAM).
Can you explain how this is done? (Nothing over-technical, just the basics)
And I take it this was done on a stock CPC-6128 using upper RAM? That's the bit I can't seem to find too much info on, or maybe I'm just looking in the wrong places.
Title: Re: - My First Safety Overscan Picture -
Post by: rexbeng on 11:53, 23 August 11
Well, one thing I can say for sure, when seeing the C64 screen out of Edge of Disgrace demo: on the old CPC palette, it would look 100000 times better already. So, why bother in trying to emulate the ugly C64 colours in the first place?


And anyway, I think the real deal for a pixel-artist would be to use the normal CPC to produce images. Obviously the palette is limited, but there are so many techniques to mix pixels and colours so as tou give the impression that there's a lot more on the screen (have a look at Sylvestre's page, he has been the one working the most on such techniques http://sylvestre.cpcscene.com/ (http://sylvestre.cpcscene.com/)).


Strictly from a pixel-artist's view (let's say that, at least, I don't think I'm the only one with that opinion :P ), there's no real challenge in using the CPC+ palette.


rb
Title: Re: - My First Safety Overscan Picture -
Post by: tastefulmrship on 13:28, 23 August 11
@rexbeng 
You're right! The picture itself looks bad, even on a C64, due to the predictably dreadful colour scheme. But this is how I learn new things; I find something that already works and then try (usually with a LOT of help) to replicate it. I can read web-sites and documents and source code listings until the proverbial cows come home, but none of it will sink in; only when I've applied them to something will it make some sense.

From all of this I aim to learn (albeit at a infantile level); CPC+ HW 1-pixel vertical scrolling, ASIC/CPC+ palette, and CPC6128 memory manipulation.
Title: Re: - My First Safety Overscan Picture -
Post by: Carnivius on 13:38, 23 August 11
Quote from: rexbeng on 11:53, 23 August 11
Well, one thing I can say for sure, when seeing the C64 screen out of Edge of Disgrace demo: on the old CPC palette, it would look 100000 times better already. So, why bother in trying to emulate the ugly C64 colours in the first place?


And anyway, I think the real deal for a pixel-artist would be to use the normal CPC to produce images. Obviously the palette is limited, but there are so many techniques to mix pixels and colours so as tou give the impression that there's a lot more on the screen (have a look at Sylvestre's page, he has been the one working the most on such techniques http://sylvestre.cpcscene.com/ (http://sylvestre.cpcscene.com/)).


Strictly from a pixel-artist's view (let's say that, at least, I don't think I'm the only one with that opinion :P ), there's no real challenge in using the CPC+ palette.


rb

I agree with a lot of that too. Often said how, when doing Amstrad CPC specific stuff, I prefer using the original 27 color palette to the Plus' 4096.
Title: Re: - My First Safety Overscan Picture -
Post by: Gryzor on 19:05, 23 August 11
Still, I think that the Plus palette has just not been used to the full extend like the original hardware has. Imagine if someone taking the original hardware to the extreme took the Plus hardware to its own: wow.
Title: Re: - My First Safety Overscan Picture -
Post by: TFM on 20:21, 23 August 11
Quote from: tastefulmrship on 08:47, 23 August 11
That's a good place for me to start, yes.
Is that a 1 pixel scroll or 8 pixel scroll? I can't quite make it out from the video.
Can you explain how this is done? (Nothing over-technical, just the basics)
And I take it this was done on a stock CPC-6128 using upper RAM? That's the bit I can't seem to find too much info on, or maybe I'm just looking in the wrong places.

It's a 8 pixel scroll, to make it quick.

In your case you can load the three pictures to &C000, &0000 and &4000. So be setting the overscan bit of CRTC register (&0C ? like I've in mind: &F0 instead of &30). But be carefull if you use the block beginning at &0000, then you have to switch the interrupts off, save a part of the OS (&0000 - &0100) and restaurate it after showing the pictures. It will even run on a 464 stock CPC.
Get some information about the CPC CRTC at the inofficial amstrad ressource:
http://www.cpctech.org.uk/ (http://www.cpctech.org.uk/)

Quote from: rexbeng on 11:53, 23 August 11
...have a look at Sylvestre's page, he has been the one working the most on such techniques http://sylvestre.cpcscene.com/ (http://sylvestre.cpcscene.com/)

Well, there is only french lyrics, no pictures...
Powered by SMFPacks Menu Editor Mod