Memory Full

Forum / Development

iMPdraw v2

Page: 1 2 next last

ast * 09 Oct 2018 00:01:51

Hi everyone,

You could follow iMPdraw's new feature in



I am waiting for new ideas ! So let your mind working on.
It's time to tell us, what do you expect ?

toms * 09 Oct 2018 11:59:43

It's hard to give an opinion without the possibility to run it... Any download link?

ast * 09 Oct 2018 15:00:21

Unfortunately, not yet !
Only beta testers have it but you can ask some features you would have to have.

List of beta testers :

toms * 09 Oct 2018 17:14:33 * Modified at 17:16:04

Maybe you would get more feedback if you put a beta version publicly available for download because the big thing with a tool is ergonomy, which needs testing.

Actually that's the feature I request! :)

ast * 04 Nov 2018 18:57:28

Public version might be Distributed soon. I'm still working on iMPdraw's xmass file system. Stay tuned!

ast * 03 Dec 2018 13:00:37

I’m working on my house, so iMPdraw will be back at the end of january,
Sorry for the delay but i want to give you my best.

ast * 07 Apr 2019 16:45:56 * Modified at 16:46:16

WebSite is now ready !

Advices, ideas, feedback are welcome

Targhan * 07 Apr 2019 23:25:58

Nice stuff. But you should translate all this to English, this will increase your user base by the dozens.

ast * 08 Apr 2019 12:57:03

First i did the French one! English & others will come later.
French doc took me all my sunday.

ast * 12 May 2019 00:44:12 * Modified at 00:45:08

Here comes a new iMPdraw's plug in.

May you will love it!

ast * 12 May 2019 17:20:47


And what about a Barjack's Splash Screen to test it ?

m_dr_m * 12 May 2019 17:46:21

Excellent! Why not spread it?

ast * 12 May 2019 18:27:00

it's wip !

ast * 16 May 2019 12:27:32 * Modified at 12:28:58

You want to see how it works?

m_dr_m * 17 May 2019 15:27:43

We don't really see how it works! Where are the pixels?

An idea about plugin interface: the plugins shouldn't have to deal with saving/loading.
Instead, they should describe an extension in the header (e.g. SPL), and 'S' would save both "boobs.spl" and "boobs.imp" (only if the image itself has been changed).

ast * 18 May 2019 13:01:50

« We don't really see how it works! Where are the pixels? »

This first test was done without graphics using pen 0 only.

« An idea about plugin interface: the plugins shouldn't have to deal with saving/loading.
Instead, they should describe an extension in the header (e.g. SPL), and 'S' would save both "boobs.spl" and "boobs.imp" (only if the image itself has been changed). »

Excellent idea. I will do that now. Thanks.

ast * 19 May 2019 18:18:14 * Modified at 18:18:28

SplitMaker Updated, wiki too !

m_dr_m * 19 May 2019 19:16:03 * Modified at 19:19:56

Cool! The main synchronization (VBL / top of screen) shouldn't be in the plugin, but in Impdraw instead.
Impdraw knows where the screen begin, and this position may change in the future.

That being said, the entry point should be at x=0 y=-16 to give some room for potential computation and register loading.

Actually, there should be 2 entry points:
* n: Init (called only once when pressing E). Can be just a RET if there is nothing intensive to do.
* n+3: Frame (called each frame). Maybe pass a parameter: number of lines to display.
(n being the size of the header).

m_dr_m * 23 May 2019 19:17:28

Is keyboard management for Split-Maker done by the plugin itself, or is there some kind of protocol to communicate with ImpDraw2 and reuse some routines?

ast * 24 May 2019 18:36:50

I did new routines instead of usine i2’s one... but it’s a first step...

m_dr_m * 20 Jun 2019 09:05:50

Why not releasing alpha/beta versions, with a list of known bugs?

Yours truly,

ast * 21 Jun 2019 23:56:01 * Modified at 00:19:49

This will be done!

m_dr_m * 10 Jul 2019 18:25:03

Would it be possible to have a 'swap inks' function?
I imagine it coded in no time two movements:
* Prepare a 256 translation table, depending on selected pens (color high/low). I can code this part if you wish.
* Apply it!

This table based approach easily allows other functions (change ink, flip bits for H flip, shade in/out).

ast * 10 Jul 2019 22:15:30

yes, great idea !!!

m_dr_m * 11 Jul 2019 00:01:59

Putting the code here, since it's useful as well on the fly.
No the fastest, but fast enough, short in memory and working with mode 1 or 0.

;  Create lookup table for pen swap.
; In: hl=table pointer (XX00)
    ; b = pen X coded as left pixel (e.g. &88 for pen 3 in mode 0)
    ; c = pen Y coded as left pixel
; Out: Table[N] contains corresponding byte with pen A and B swapped.
     ; If N contains neither pen A or B, Table[N] = N (unchanged).
  ld de,&AA00  ; D = Leftmost mask (&AA for mode 0, &88 for mode 1)
               ; E = collect pixels
  push bc
  ld a,l:and d        ; Extract source pixel
  cp b:jr nz,gs_notX  ; Not pen X, try Y
  ld a,c              ; Pen X, replace by Y
  jr gs_done
  cp c:jr nz,gs_done  ; Not pen Y either. No change
  ld a,b              ; Pen Y, replace by X
  or e: ld e,a
; Next pixel
  rrc b
  rrc c
  rrc d
  jr nc,gs_pixels
  pop bc
  ld (hl),e
  inc l
  jr nz,genswap


Page: 1 2 next last