CPCWiki forum

General Category => Programming => Topic started by: jjaranda13 on 12:07, 27 September 16

Title: 8BP
Post by: jjaranda13 on 12:07, 27 September 16
i start this thread for questions and comments about 8BP programming


8BP - CPCWiki (http://cpcwiki.eu/index.php/8BP)
GitHub - jjaranda13/8BP: 8 bits de poder ( 8 bits of power) (https://github.com/jjaranda13/8BP)
8 bits de poder (http://8bitsdepoder.blogspot.com.es/)
https://www.youtube.com/channel/UCThvesOT-jLU_s8a5ZOjBFA (https://www.youtube.com/channel/UCThvesOT-jLU_s8a5ZOjBFA)


welcome to 8BP !!
Title: Re: 8BP
Post by: TFM on 19:36, 27 September 16
Great work done!  :)
Title: Re: 8BP
Post by: jjaranda13 on 01:27, 02 November 16
hi 8bp friends


new game "nibiru" available at https://github.com/jjaranda13/8BP (https://github.com/jjaranda13/8BP) made in BASIC, using 8BP v26b


info at http://8bitsdepoder.blogspot.com.es/ (http://8bitsdepoder.blogspot.com.es/)

video at https://github.com/jjaranda13/8BP (https://github.com/jjaranda13/8BP)
Title: Re: 8BP
Post by: ervin on 02:09, 02 November 16
That's very, very impressive.
The scrolling in nibiru is excellent, considering that the whole screen(!) is being used.

Title: Re: 8BP
Post by: VincentGR on 16:31, 02 November 16
This is just amazing!
Title: Re: 8BP
Post by: Morri on 20:02, 02 November 16
Well done @jjaranda13 (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1880) , looking good!
I am starting to get the game making bug again and have a few ideas and would love to use 8bp to do it.

Request: The sprite flip ability you have in your to do list would be very useful  :D
Title: Re: 8BP
Post by: Javy Fernandez on 23:43, 02 November 16
The 8BP library is amazing!
Title: Re: 8BP
Post by: Dizrythmia on 06:12, 04 November 16
I was playing Parodius on the PC Engine yesterday, & this is easily comparable!
Title: Re: 8BP
Post by: jjaranda13 on 13:59, 23 December 16
new available game: mini-pong ( a simple version of classic "pong")
it is quite simple, and suitable as introduction for begginers in 8BP.  The BASIC program is very short and understandable
i have the intention ti create some "short games" for help others to make their own games
Title: Re: 8BP
Post by: AMSDOS on 23:41, 23 December 16
This could be quite handy for anyone coding with CPC BASIC 3. Have you tried anything out between your library and CPC BASIC 3? It should produce some interesting results.  :D
Title: Re: 8BP
Post by: cpcuser on 00:01, 24 December 16

Ccz80 ++ is more and faster with the sprite and the other bases.


Greeting
Title: Re: 8BP
Post by: AMSDOS on 00:20, 24 December 16
Ccz80 ++ is more and faster with the sprite and the other bases.


Greeting

Which is why I think CPC BASIC 3 combined with 8BP will produce an interesting result
Title: Re: 8BP
Post by: jjaranda13 on 21:53, 30 December 16
It could be interesting to take a basic program which uses 8BP and compile it using BASIC3. I will test it
Title: Re: 8BP
Post by: jjaranda13 on 22:00, 30 December 16
.
Title: Re: 8BP
Post by: jjaranda13 on 22:03, 30 December 16
new available game: mini-invaders ( a simple version of classic "space invaders").it is quite simple, and suitable as introduction for begginers in 8BP.  The BASIC program is very short and understandable for beginners

https://www.youtube.com/watch?v=6OcB_hjuYiU (https://www.youtube.com/watch?v=6OcB_hjuYiU)
Title: Re: 8BP
Post by: sigh on 17:47, 02 January 17
Very impressive examples. Especially "Nibiru".

I reckon that with the stars in the background, could it work by using palette swaps to make it smoother?
andycadley suggested this idea for the scrolling of the white lines on my football game.

It's bascially having 2 pixels - 1 white and the other black next to each other, then swapping the colours around while you scroll it. It gives a very smooth feeling of scrolling.
Title: Re: 8BP
Post by: jjaranda13 on 22:05, 02 January 17
Very impressive examples. Especially "Nibiru".

I reckon that with the stars in the background, could it work by using palette swaps to make it smoother?
andycadley suggested this idea for the scrolling of the white lines on my football game.

It's bascially having 2 pixels - 1 white and the other black next to each other, then swapping the colours around while you scroll it. It gives a very smooth feeling of scrolling.


Hi Sigh


Thanks,  It is possible to create animation effects using inks. In fact 8BP provides the command |RINK to create "rotation ink" animation effects, such as the road effect or the scroll of bricks effect which is shown in  this video:  https://youtu.be/LYkxSuNfYeI (https://youtu.be/LYkxSuNfYeI)   (check at second 1:05)

The same "trick" can be used for scroll of stars. However, in "Nibiru" and "mini-invaders", the stars effect is created using the command |STARS, which can provide up to 40 stars in movement at different planes of speed. For example in "Anunnaki" the initial screen uses |STARS command to create a depth effect (video at https://www.youtube.com/watch?v=8x2g_t4-lCU)
Title: Re: 8BP
Post by: jjaranda13 on 15:44, 03 January 17
i have tested CPC BASIC Compiler using 8BP
concretely, i have compiled mini-invaders
my conclusions:
- around 50% faster
- difficult to debug (it is machine code)
- no 100% compatible with locomotive basic
- useful for programmers which want more speed or hide their code


https://www.youtube.com/watch?v=0ifIjdjgkEc



Title: Re: 8BP
Post by: SRS on 23:01, 03 January 17
Does it compile with FaBaCom, too ?

People could develop and test/debug with normal 8BP/Basic and deliver the final work compiled.
Title: Re: 8BP
Post by: jjaranda13 on 23:28, 03 January 17
Does it compile with FaBaCom, too ?

People could develop and test/debug with normal 8BP/Basic and deliver the final work compiled.


Yes, the problem with fabacom is the RAM usage. A BASIC game that consumes 10KB, after compiling with fabacom takes 20KB. In fact, CPC Basic compiler takes also certain overload. I have compiler nibiru (17KB) and the compiled version takes 22KB (5KB extra).


I believe that although fabacom and CPC BASIC compiler are good friends....they have advantages and disadvantages (extra RAM usage, not 100% compatibility...) and for the moment i prefer locomotive BASIC, because the speed with 8BP is enough for most games.


When there is needed an extra speed...we can :
- eliminate all REM instructions from logic <-- always it is a good practice !
- replace RSX commands by CALL XXXX  <--- less understandable code but faster!


These two recommendations provide an extra speed, and only if you need more speed , the compilation is justified, because takes more RAM and have compatibility problems. For example, in mini-invaders, the sound command doesnt work properly in the compiled version




Title: Re: 8BP
Post by: AMSDOS on 00:28, 04 January 17
i have tested CPC BASIC Compiler using 8BP
concretely, i have compiled mini-invaders
my conclusions:
- around 50% faster
- difficult to debug (it is machine code)
- no 100% compatible with locomotive basic
- useful for programmers which want more speed or hide their code


Yeah unfortunately after suggesting CPC BASIC 3, I recalled there being some differences with Locomotive BASIC and CPC BASIC 3. Subtracting of numbers and making sure they don't become negative is one of the main differences. CPC BASIC 3 the default type is Integer or Byte (I cannot remember which) & decimal numbers operate through a series of RSXs. INT becomes invalid and MOD is used instead. I think the trick to subtracting was to add instead, so depending on what subtracting by, you can add &FFFF decrementing those amounts.
Title: Re: 8BP
Post by: AMSDOS on 00:40, 04 January 17
Does it compile with FaBaCom, too ?

People could develop and test/debug with normal 8BP/Basic and deliver the final work compiled.

Sadly yes, once you start using the CPC Compilers space becomes a concern, which was why I raised it's use with CPC BASIC 3. I'm unsure if it's still being developed to make it more compatible with Locomotive BASIC, but that may have some setbacks in terms of the Assembly code generated. Some people have said here that the code produced from the CPC BASIC 3 is quite difficult to optimize.
Title: Re: 8BP
Post by: AMSDOS on 01:17, 04 January 17

Yes, the problem with fabacom is the RAM usage. A BASIC game that consumes 10KB, after compiling with fabacom takes 20KB. In fact, CPC Basic compiler takes also certain overload. I have compiler nibiru (17KB) and the compiled version takes 22KB (5KB extra).


Unsure if you're referring to the generated .ASM file or the final BINary program. A compiled program will always be larger than its Interpreted counterpart as a fully compiled program must be present for execution, the Interpreted counterpart is tokenized which can condense the size of the program, but what's interesting in your case is RSXs aren't tokenized.

Quote
When there is needed an extra speed...we can :
- eliminate all REM instructions from logic <-- always is a good practice !
- change RSX commands by CALL XXXX  <--- less understandable code but faster!


Unlike RSXs, using CALL will be tokenized and from BASIC what you can do is setup some variables and assign some addresses to them for those routines, the RSX could be removed to create some more space and it may even improve the performance of your BASIC programs. So if you assign meaningful names like stars%=&xxxx and so on and just use CALL stars%, it should be clear enough to everyone.


Quote
These two recommendations provide an extra speed, and only if you need more speed , the compilation is justified, because takes more RAM and have compatibility problems. For example, in mini-invaders, the sound command doesnt work properly in the compiled version


Yes unfortunately the SOUND command in Locomotive BASIC (both versions) is actually in a different order from anywhere else. I don't know the reason why, so if you're using it in Assembly or another Compiled Language (CPC BASIC 3/Fabacom possibly or Hisoft Pascal), it looks like this:



Code: [Select]
Channel Status Byte,
Volume Envelope,
Tone Envelope,
Tone Period (1),
Tone Period (2),
Noise Period,
Volume,
Duration of Sound (1),
Duration of Sound (2)


So that would throw anyone off if you're used to the BASIC SOUND command, which looks like this:


Code: [Select]
channel status,
tone period,
duration,
volume,
volume envelope,
tone envelope,
noise period
Title: Re: 8BP
Post by: andycadley on 01:31, 04 January 17
At a guess, BASIC is ordering them in a logical order with optional parts following in a mostly descending order of priority. The firmware, however, is probably leaking an internal ordering which is based around the order the CPU needs information in order to execute the command. Third party languages, like Pascal, are then exposing that ordering directly to ease the process of mapping parameters onto the firmware call.
Title: Re: 8BP
Post by: sigh on 20:30, 07 January 17
I am so impressed by this program.

The ink rotation in your brick example - I'm really interested to see what that would look like if it was compiled, as the differences in speed in your last demonstration was insane! :D . That 50 % increase made an incredible visual difference.
Title: Re: 8BP
Post by: jjaranda13 on 00:22, 08 January 17
I am so impressed by this program.

The ink rotation in your brick example - I'm really interested to see what that would look like if it was compiled, as the differences in speed in your last demonstration was insane! :D . That 50 % increase made an incredible visual difference.




Hi Sigh
You are right!!! the visual difference is really good. When I say that 50% is not too much is because i compare the usual ratios between BASIC and compiled , but this case is special because invocations to 8BP make a lot of work in machine code


i am working in a scrolling game with platforms made of bricks. my initial tests works fine, i move 5 big platforms very fast across the screen using |RINK, and a special animation sequence based on different inks. The result is amazing and i will upload a video very soon




 
Title: Re: 8BP
Post by: jjaranda13 on 01:18, 08 January 17
bricks compiled


the bird doest work properly, neither music, but gives you an idea


video .flv is inside zip file
Title: Re: 8BP
Post by: sigh on 06:10, 08 January 17
bricks compiled


the bird doest work properly, neither music, but gives you an idea


video .flv is inside zip file

The forward motion looks so smooth especially with the background graphic of the house and tree! That's really impressive and a great demonstration.
When he moves in the opposite direction, the tiles start to speed up and has a strange strobing effect? What is making the tile do that? Is there anyway to stop it from happening?

Nevertheless, the speed and smoothness makes it outstanding for a demo created in Basic.
Title: Re: 8BP
Post by: jjaranda13 on 20:15, 05 May 17
hi guys


new game "fresh fruits & vegetables"  :P [size=78%]based on 8BP library, programmed in 100% locomotive BASIC[/size]
It is a platform style game with horizontal scroll


https://www.youtube.com/watch?v=rhqLdkYjXxU
Title: Re: 8BP
Post by: VincentGR on 20:28, 05 May 17
ME LIKE IT!
Title: Re: 8BP
Post by: Morri on 20:35, 05 May 17
Well done, great looking game.
Your 8BP library is really coming together!
Title: Re: 8BP
Post by: remax on 10:55, 06 May 17
Impressive for a BASIC game !


Would have been a decent commercial game at the time !  :)
Title: Re: 8BP
Post by: sigh on 12:28, 06 May 17
Has this been compiled?

Good work! Very smooth for basic.
Title: Re: 8BP
Post by: jjaranda13 on 13:03, 06 May 17
Has this been compiled?

Good work! Very smooth for basic.




not at all. Not compiled. It is interpreted by CPC directly
Title: Re: 8BP
Post by: Shining on 19:02, 06 May 17
Wonderful ! Thank you !
Title: Re: 8BP
Post by: sigh on 19:13, 06 May 17



not at all. Not compiled. It is interpreted by CPC directly

Again - that's very impressive for it to move at that speed.

As in some of your youtube vids, you've compiled some of your programs to make them move faster, will you compile this one too?
It would be great to see the speed difference. :)
Title: Re: 8BP
Post by: jjaranda13 on 23:38, 06 May 17
Again - that's very impressive for it to move at that speed.

As in some of your youtube vids, you've compiled some of your programs to make them move faster, will you compile this one too?
It would be great to see the speed difference. :)

probably not. I have compiled "mini invaders" only for testing purposes. The gain is around 50%. This extra speed is very good for some games. However, if you consider that the program is made in locomotive basic, an increment from 100% to 150% is not so impresive. Normally a compilation should speed up a program around 1000% or even 10000%. The reason is obvious : 8BP has already done the "hard work". sprite printing, scrolling, collision detection, music...is done by 8BP in machine code. The rest of the program is the game logic, which normally is the lightest part of the program. Additionally, if you program BASIC using "massive logics" philosophy (described in 8BP manual) you can obtain a really good performance of that game logic in basic.

In a nutshell: my goal is to provide the best tool to enable programmers to develop games in locomotive basic, interpreted. I want professional quality in BASIC, and this challenge can be reached using 8BP and massive logics.


compilation is a good choice for programmers which want 50% extra speed ( but in that case you also can move to C language) or programmers who want to "hide" their code. In fact 8BP can be used from BASIC, from C, from assembler...whatever you want. 8BP are a bunch of routines accesible at concrete memory addresses , combined with an "structure" of CPC464 memory block assignments (certain area for sprite table, certain area for sprite drawings, certain area for music, etc)
Title: Re: 8BP
Post by: AMSDOS on 01:00, 07 May 17
probably not. I have compiled "mini invaders" only for testing purposes. The gain is around 50%. This extra speed is very good for some games. However, if you consider that the program is made in locomotive basic, an increment from 100% to 150% is not so impresive. Normally a compilation should speed up a program around 1000% or even 10000%. The reason is obvious : 8BP has already done the "hard work". sprite printing, scrolling, collision detection, music...is done by 8BP in machine code. The rest of the program is the game logic, which normally is the lightest part of the program. Additionally, if you program BASIC using "massive logics" philosophy (described in 8BP manual) you can obtain a really good performance of that game logic in basic.

In a nutshell: my goal is to provide the best tool to enable programmers to develop games in locomotive basic, interpreted. I want professional quality in BASIC, and this challenge can be reached using 8BP and massive logics.


compilation is a good choice for programmers which want 50% extra speed ( but in that case you also can move to C language) or programmers who want to "hide" their code. In fact 8BP can be used from BASIC, from C, from assembler...whatever you want. 8BP are a bunch of routines accesible at concrete memory addresses , combined with an "structure" of CPC464 memory block assignments (certain area for sprite table, certain area for sprite drawings, certain area for music, etc)


I can only assume that perhaps with you posting pictures of your new game in this thread in the programming section, people are assuming you're going to work on it further. Usually what people do is announce the new game in the Games or News Section  :)
Title: Re: 8BP
Post by: sigh on 02:48, 07 May 17
probably not. I have compiled "mini invaders" only for testing purposes. The gain is around 50%. This extra speed is very good for some games. However, if you consider that the program is made in locomotive basic, an increment from 100% to 150% is not so impresive. Normally a compilation should speed up a program around 1000% or even 10000%. The reason is obvious : 8BP has already done the "hard work". sprite printing, scrolling, collision detection, music...is done by 8BP in machine code. The rest of the program is the game logic, which normally is the lightest part of the program. Additionally, if you program BASIC using "massive logics" philosophy (described in 8BP manual) you can obtain a really good performance of that game logic in basic.

In a nutshell: my goal is to provide the best tool to enable programmers to develop games in locomotive basic, interpreted. I want professional quality in BASIC, and this challenge can be reached using 8BP and massive logics.


compilation is a good choice for programmers which want 50% extra speed ( but in that case you also can move to C language) or programmers who want to "hide" their code. In fact 8BP can be used from BASIC, from C, from assembler...whatever you want. 8BP are a bunch of routines accesible at concrete memory addresses , combined with an "structure" of CPC464 memory block assignments (certain area for sprite table, certain area for sprite drawings, certain area for music, etc)

Thank you for your answer.

One more question:

Did you try your ink rotation technique on the bricks? It was extremely impressive on your last demo.
Title: Re: 8BP
Post by: jjaranda13 on 02:52, 07 May 17
Thank you for your answer.

One more question:

Did you try your ink rotation technique on the bricks? It was extremely impressive on your last demo.


Exactly! The ink rotation is used at the beggining, in the wall made of blue bricks and also in the floor of the first stage "fruity castle"

Title: Re: 8BP
Post by: sigh on 03:27, 07 May 17

Exactly! The ink rotation is used at the beggining, in the wall made of blue bricks and also in the floor of the first stage "fruity castle"

Yes - I noticed it was used on the blue bricks, but I didn't notice it being used in game? So the red bricks on the ground on the first level, is using the ink rotation method?
Title: Re: 8BP
Post by: jjaranda13 on 10:14, 07 May 17
Yes - I noticed it was used on the blue bricks, but I didn't notice it being used in game? So the red bricks on the ground on the first level, is using the ink rotation method?


yes. Only the ground. The rest of platforms are being moved by CPU, using 8bp scrolling mechanism (command |MAP2SP)





Title: Re: 8BP
Post by: tjohnson on 13:00, 07 May 17
I was playing platoon which has horizontal scrolling but it looks quite chunky, definitely not single pixel scrolling more like 2 or 4 pixels by the looks of it.  I guess it will just be some sort of software scroll.  Can anyone tell?
Title: Re: 8BP
Post by: sigh on 13:01, 07 May 17

yes. Only the ground. The rest of platforms are being moved by CPU, using 8bp scrolling mechanism (command |MAP2SP)

Is there a reason why the blue bricks move much more smoothly than the red bricks in the game?
Title: Re: 8BP
Post by: jjaranda13 on 15:14, 07 May 17
Is there a reason why the blue bricks move much more smoothly than the red bricks in the game?


yes, you are very good observer
blue Bricks at presentation use synchronized sprite printing (|PRINTSP,0,0,1), while during game sprite printing is not synchronized (|PRINTSP,0,0,0). The effect of sync sprites at presentation is that everything is synchronized, including ink rotation command(blue bricks). This provides a smooth scrolling effect.
In my opinion , during game, it is not recommended to use sync sprite printing because although movements are more smooth, the speed becomes lower. Depending of the type of game may be interesting to synchronize or not

Title: Re: 8BP
Post by: sigh on 19:40, 07 May 17

yes, you are very good observer
blue Bricks at presentation use synchronized sprite printing (|PRINTSP,0,0,1), while during game sprite printing is not synchronized (|PRINTSP,0,0,0). The effect of sync sprites at presentation is that everything is synchronized, including ink rotation command(blue bricks). This provides a smooth scrolling effect.
In my opinion , during game, it is not recommended to use sync sprite printing because although movements are more smooth, the speed becomes lower. Depending of the type of game may be interesting to synchronize or not



So if you were to compile the game, the red bricks bricks would move 50% faster, offsetting the slower speed when using synchronized sprint printing? Would the 50% speed increase be noticeable and worth it?
Title: Re: 8BP
Post by: jjaranda13 on 10:07, 08 May 17
So if you were to compile the game, the red bricks bricks would move 50% faster, offsetting the slower speed when using synchronized sprint printing? Would the 50% speed increase be noticeable and worth it?


Extact! if you compile the game then the best is to use synchronous sprite printing during the game. The slower speed of sync is compensated by the game logic compilation and the result is quite good. I have tested it some time ago with "mutante montoya". When i created this game, at the beggining was very very slow. Then I compiled it and it was too fast. Then I sync it and result was perfect.
After This experience i began to create "massive logics" technic to program games in basic. Now, 8BP is faster and if you combine massive logics with 8BP the result is quite good. However synchronization continues being heavy for  interpreted BASIC programs. If you compile it, synchronization is the best, even some times too fast, and it is needed for an suitable speed.

Title: Re: 8BP
Post by: sigh on 12:11, 08 May 17
However synchronization continues being heavy for  interpreted BASIC programs. If you compile it, synchronization is the best, even some times too fast, and it is needed for an suitable speed.



Awww man! Now I really want to see a compiled version of "Fresh fruit and Vegetables" :P
Title: Re: 8BP
Post by: jjaranda13 on 01:36, 16 April 18
News from 8BP!


available new game "3D racing one" a pseudo 3D racing game based on 8BP v32
https://www.youtube.com/watch?v=vwiPe--Z6RA&feature=youtu.be (https://www.youtube.com/watch?v=vwiPe--Z6RA&feature=youtu.be)


(https://3.bp.blogspot.com/-uYJnaahJrBU/WtOwUu7djhI/AAAAAAAACk0/CQ5T6OBUbAohiUdQNzpuiN_hzBtjXjQQQCLcBGAs/s1600/3dro01.PNG)
Title: Re: 8BP
Post by: Gryzor on 11:41, 21 April 18
This looks cute and wonderfully retro :)
Title: Re: 8BP
Post by: jjaranda13 on 14:04, 24 June 18
hi guys

8BP V33 is just now available at https://github.com/jjaranda13/8BP (https://github.com/jjaranda13/8BP)
this new version includes:
- sprite flipping ( allows save RAM )
- overwrite with 1 or 2 bits for backgrounds ( 2 or 4 colour backgrounds)
- pseudo 3d improved with capacity for segments with overwrite
- improved ink rotation command (RINK) with any number of inks to rotate
- 1.400 bytes for music, 8.4KB for graphics, 24.5 KB for Basic
- improved manual
https://www.youtube.com/watch?v=SjnOJOM8qmM (https://www.youtube.com/watch?v=SjnOJOM8qmM)


enjoy it!


Title: Re: 8BP
Post by: sigh on 15:44, 27 June 18
That's extremely impressive in regards to the pseudo 3D. Is the pseudo 3D compiled?
Title: Re: 8BP
Post by: jjaranda13 on 18:01, 27 June 18
That's extremely impressive in regards to the pseudo 3D. Is the pseudo 3D compiled?


The pseudo-3D is not compiled. All my games and demos run using interpreted Locomotive BASIC. They are BASIC programs using 8BP RSX library, but fully pure interpreted BASIC



Title: Re: 8BP
Post by: sigh on 19:47, 27 June 18

The pseudo-3D is not compiled. All my games and demos run using interpreted Locomotive BASIC. They are BASIC programs using 8BP RSX library, but fully pure interpreted BASIC
:o It's not compiled and it already moves that smoothly and fast! Very nice indeed.
Is there any chance creating a compiled version as it would be interesting to see the results?
I think an F-Zero type game would be possible as that particular game focuses on the speed of the road and doesn't have scaling objects (trees,buildings etc).
Title: Re: 8BP
Post by: VincentGR on 19:54, 27 June 18
Fantastic indeed!


Why go with fzero when you can make a 3d river raid  :P
Title: Re: 8BP
Post by: jjaranda13 on 20:44, 07 December 18
8BP V35 is available and also the new videogame "Space Phantom"


https://www.youtube.com/watch?v=8adNXl3K7qw (https://www.youtube.com/watch?v=8adNXl3K7qw)
Title: Re: 8BP
Post by: XeNoMoRPH on 08:41, 08 April 19
https://youtu.be/SI7FrCIi-S0
Title: Re: 8BP
Post by: XeNoMoRPH on 07:30, 09 April 19
https://youtu.be/nyxVv06MF7Y
Title: Re: 8BP
Post by: XeNoMoRPH on 08:43, 11 May 19
https://youtu.be/9_U8K5QVQ0A
Title: Re: 8BP
Post by: XeNoMoRPH on 12:13, 15 May 19
(https://pbs.twimg.com/media/D6mLY3ZWkAAq1gL?format=jpg&name=medium)
Title: Re: 8BP
Post by: XeNoMoRPH on 07:54, 23 May 19
https://youtu.be/yY0PYmcGBhY (https://youtu.be/yY0PYmcGBhY)
Title: Re: 8BP
Post by: tjohnson on 14:51, 24 May 19
That looks quite impressive
Title: Re: 8BP
Post by: Robert_Lee on 19:48, 15 September 19

Thanks for all the work you are doing, José Javier!

All progress in the library is appreciated :)
Title: Re: 8BP
Post by: XeNoMoRPH on 09:36, 06 October 19
Quote
new v37 version of the 8BP library available. Faster and with the improved COLAY command. In addition, the manual has been completely revised and the chapter on mass logic improved.
(https://pbs.twimg.com/media/EGI2wRFXUAE7V59?format=jpg&name=900x900)
Title: Re: 8BP
Post by: XeNoMoRPH on 17:09, 09 October 19
https://youtu.be/VsbpeDARTPY
Title: Re: 8BP
Post by: ervin on 02:46, 10 October 19
VERY VERY impressive!!!
Title: Re: 8BP
Post by: XeNoMoRPH on 08:07, 13 November 19
Quote
11/12/2019 UPDATE V38 (backward compatible)

I have updated the repository the following changes

    library: 8bitsdepoder_v38_001.asm is now included with the following improvements:
        command | COLSPALL more powerful. no collision limitations with sprites located in negative coordinates
        command | MUSIC: now accepts a new parameter that allows you to choose between playing the music in a loop or once.
        command | MUSICOFF: no longer exists, has been replaced by an invocation to MUSIC without parameters

    manual: I have updated the manual reflecting the changes in the library and I have included a chapter of first paos at the beginning

    Demos: all demos are collected in a menu and are made with v38

    games: the game "happy monty" is included
Title: Re: 8BP
Post by: jjaranda13 on 16:40, 13 November 19
This is the demo menu at 8BP v38. All demos are adapted to run in v38

Title: Re: 8BP
Post by: billamu on 01:39, 14 November 19
English Translation:

8BP v38

Choose a demo

1. Simple game with music
2. Simple game with jump and shoot
3. Test sprite collision
4. Test layout with overwrite
5. Test animation inks
6. Test overwrite in Mode 1
7. Test sorting sprites
8. Test mini alphabet
9. Test sprite routing
10. Multi-directional scroll test
11. Pseudo 3D test
12. Test stars
Title: Re: 8BP
Post by: XeNoMoRPH on 08:53, 14 November 19
https://youtu.be/34Hys8mK8yM
Title: Re: 8BP
Post by: jjaranda13 on 22:13, 15 November 19
hi guys


thanks everybody for the warm interest in 8BP


I promise to translate the manual to english very soon. It is important to do it. Thanks for your patience

Title: Re: 8BP
Post by: XeNoMoRPH on 22:23, 23 November 19
" ...
From AUA we present the FIRST COVER CREATION CONTEST, for which on this occasion we selected the Eridu game: the Space Port of José Javier García Aranda, 8 Power Bits ... "
(https://auamstrad.es/wp-content/uploads/2019/11/certamen-portadas-780x470.jpg)
info here: https://auamstrad.es/retroescena/certamen-portadas-eridu/ (https://auamstrad.es/retroescena/certamen-portadas-eridu/)
Title: Re: 8BP
Post by: jjaranda13 on 02:02, 25 November 19

This is a nice initiative and apart of the chance of participate in the creation of the physical edition, there are good prices:




1 st : Dandanator CPC +  Eridu game
2 nd Eridu game
3 rd: Eridu game


more info at AUA web page https://auamstrad.es/retroescena/certamen-portadas-eridu/
and 8bp http://8bitsdepoder.blogspot.com/2019/11/concurso-de-creacion-de-portada-del.html
Title: Re: 8BP
Post by: XeNoMoRPH on 08:53, 28 November 19
https://twitter.com/8bitsdepoder/status/1199782767212584960
Title: Re: 8BP
Post by: XeNoMoRPH on 09:03, 21 February 20
new version: V39
Quote
library:8bitsdepoder_v39_001.asm is now included with the following improvements:         
command | COLSPALL, id: now scan from collider id + 1       
command | MUSIC: now accepts a new parameter that allows the sound channel C to be released while the music is playing for use in sound effects with BASIC SOUND
command PRINTSPALL : now first print and then animate, so that the first frame of an explosion will be printed. So far when an animation sequence was assigned, the first frame was not printed because it first animated and then printed         
Now the PRINTSP and PRINTSPALL commands can use images located in any memory area, even outside the space allocated by the 8BP library for sprites.         
Fixed a minibug detected in a specific case of overwriting manual:
I have updated the manual reflecting the changes in the library
Demos: all demos are collected in a menu and made with v39. now there is a new demo to try music and FX at the same time
https://github.com/jjaranda13/8BP (https://github.com/jjaranda13/8BP)
https://youtu.be/SBvkoLRrwo0 (https://youtu.be/SBvkoLRrwo0)
https://twitter.com/8bitsdepoder/status/1230914994050674688
Title: Re: 8BP
Post by: Sykobee (Briggsy) on 00:56, 26 February 20
I guess the BASIC interpreter overhead is a real killer even with fast RSXs!


Just need a decent BASIC compiler that can support RSXs now... or just use C.
Title: Re: 8BP
Post by: sigh on 01:57, 26 February 20
I guess the BASIC interpreter overhead is a real killer even with fast RSXs!


Just need a decent BASIC compiler that can support RSXs now... or just use C.
The speed is amazing when they are compiled:

https://www.youtube.com/watch?v=0ifIjdjgkEc&feature=emb_logo (https://www.youtube.com/watch?v=0ifIjdjgkEc&feature=emb_logo)
Title: Re: 8BP
Post by: asertus on 09:38, 26 February 20


I guess the BASIC interpreter overhead is a real killer even with fast RSXs!


Just need a decent BASIC compiler that can support RSXs now... or just use C.




Actually, José Javer has announced that there will be a C wrapper in the next version


Quote
Por último, a los que deseáis programar con 8BP en C, os diré que el wrapper de C ( un 8bp.h) lo tengo a medias y funciona perfectamente, de modo que podréis disfrutar de esta capacidad en la próxima versión V40


https://www.youtube.com/watch?v=SBvkoLRrwo0
Title: Re: 8BP
Post by: XeNoMoRPH on 09:41, 07 March 20
https://youtu.be/YPQaANI5nUM
Title: Re: 8BP
Post by: XeNoMoRPH on 22:56, 11 April 20
https://twitter.com/8bitsdepoder/status/1248965359912312834
Title: Re: 8BP
Post by: SkulleateR on 02:00, 28 April 20
Will there be a decent english translation soon ? love to get into 8bp but google translation is a bit ..... weird  :o :P
Title: Re: 8BP
Post by: jjaranda13 on 22:37, 28 April 20
Will there be a decent english translation soon ? love to get into 8bp but google translation is a bit ..... weird  :o :P




for sure. I am preparing 8BP V40 with C support. in coming weeks, 8BP will be accessible through BASIC , C and mix both (making a C routine for the game cycle will accelerate a lot your games, keeping simplicity for the rest of the game code). I am finishing it , and after I will start working on a REAL and QUALITY translation of the full manual, including a new chapter for 8BP programming using C



Title: Re: 8BP
Post by: SkulleateR on 00:16, 29 April 20
Since I'm not into C I will only use the Basic Part ....


Anyway awesome work when I look at the demos  8) 8) 8)
Title: Re: 8BP
Post by: AMSDOS on 09:03, 29 April 20
Since I'm not into C I will only use the Basic Part ....


Anyway awesome work when I look at the demos  8) 8) 8)


The alternative here for you would be CPC BASIC 3.


It isn't Locomotive BASIC, since it compiles into a very optimised assembly, the differences outlined on the website:


I'm unsure why @Sykobee (Briggsy) (https://www.cpcwiki.eu/forum/index.php?action=profile;u=100) is saying there are no decent BASIC compilers which don't handle RSXes. CPC BASIC 3 handles them very well and earlier in this thread 8BP was tested with CPC BASIC 3 to produce a Mini Invaders game along with Video. I don't know if the source was released.
There was discussion about CPC BASIC 3 having limited memory space and I've noticed CPC BASIC 3 reserves area below &4000 for something else, I can't remember though what it was for. :( 
CPC BASIC 3 is limited to Windows, though I think others have used it using a Windows Emulation on Linux and MacOS systems.


I created a number of samples and posted them on the CPC BASIC 3 Forum


https://cpcbasic.activo.mx/f1-cpc-basic
Title: Re: 8BP
Post by: SkulleateR on 11:09, 29 April 20

The alternative here for you would be CPC BASIC 3.

No it isn´t ... I´m on Mac here  ;)
Besides that, I´m programming on real hardware here and I don´t need speed in particular since I won´t code action games  :laugh:
Title: Re: 8BP
Post by: AMSDOS on 11:41, 29 April 20
8BP's function is for coding action games...
Title: Re: 8BP
Post by: SkulleateR on 12:28, 29 April 20
8BP's function is for coding action games...
Since I allready did some google translations ... yes it is but you can code a lot of other things with it  ;D
Title: Re: 8BP
Post by: Sykobee (Briggsy) on 12:57, 29 April 20
I wasn't aware of CPC BASIC 3.
Title: Re: 8BP
Post by: AMSDOS on 09:49, 01 May 20
I wasn't aware of CPC BASIC 3.


It's one of the lesser known Cross Compiler Languages which has been around since 2012 I think. @Morri (https://www.cpcwiki.eu/forum/index.php?action=profile;u=95) wrote Let's Go with it and Sean McManus' Easi Sprite Driver Advance which is a great example of what can be produced with it. The earlier CPC BASIC has been documented on CPC Wiki with a Link to CPC BASIC 3 which has the frontend editor.


Here's the original thread for it:
https://www.cpcwiki.eu/forum/programming/cpc-basic-3/ (https://www.cpcwiki.eu/forum/programming/cpc-basic-3/)



Title: Re: 8BP
Post by: jjaranda13 on 19:54, 09 May 20
The problem with CPC BASIC 3 is that:

- CPC BASIC 3 uses 5KB extra (apart from your program) for your code
- additionally ,CPC BASIC 3 uses 16KB extra for work area

in total, a program of 5KB is converted into a 26 KB !!!! This is the reason why i don't recommend the use of BASIC 3

8BP uses only 8KB . And the news: in 8BP v40 you can  mix BASIC and C only consuming 2KB extra, including all 8BP commands which are available now in C and a reduced set of BASIC commands available from C (such as INKEY, PRINT, LOCATE, PLOT, DRAW ,SOUND  etc). These 2KB includes all 8BP and this mini BASIC. Your programs have 22 KB free for your code + 8.5 KB for graphics + 1.4 KB for music. You can develop a game in BASIC and when it is finished translate directly (very very easy) the "game cycle" (only the game cycle)  into C , compile it and obtain a great & fast professional game. This game is a mix between LOCOMOTIVE BASIC and C (only for game cycle)

in 8BP v40 if you want to use only BASIC, you continue having 24 KB free for your BASIC code, like in V39




Title: Re: 8BP
Post by: GUNHED on 21:48, 09 May 20
Back the day when German company Vortex released their 512 KB RAM expansion for CPC464 (1985 IIRC), it was already possible to use 256 KB for BASIC programs. Ok, you had to divide them into parts of 32 KB max. but there were RSX commands like !goto and !gosub and so on.

Now today, we're back to 20 or 30 KB? Come on, lets start to use expansion RAM too.  :)
Title: Re: 8BP
Post by: AMSDOS on 01:23, 10 May 20
The problem with CPC BASIC 3 is that:

- CPC BASIC 3 uses 5KB extra (apart from your program) for your code
- additionally ,CPC BASIC 3 uses 16KB extra for work area

in total, a program of 5KB is converted into a 26 KB !!!! This is the reason why i don't recommend the use of BASIC 3

8BP uses only 8KB . And the news: in 8BP v40 you can  mix BASIC and C only consuming 2KB extra, including all 8BP commands which are available now in C and a reduced set of BASIC commands available from C (such as INKEY, PRINT, LOCATE, PLOT, DRAW ,SOUND  etc). These 2KB includes all 8BP and this mini BASIC. Your programs have 22 KB free for your code + 8.5 KB for graphics + 1.4 KB for music. You can develop a game in BASIC and when it is finished translate directly (very very easy) the "game cycle" (only the game cycle)  into C , compile it and obtain a great & fast professional game. This game is a mix between LOCOMOTIVE BASIC and C (only for game cycle)

in 8BP v40 if you want to use only BASIC, you continue having 24 KB free for your BASIC code, like in V39


Sounds like you should be writing your own language? Make it available on the web so there's no memory limitations and no systems prejudices or problematic installations or lack of documentation to deal with and watch the ASM games come pouring in.  ;D
Title: Re: 8BP
Post by: XeNoMoRPH on 12:43, 27 May 20
New game created with 8bp:
https://youtu.be/cFEr7KAiLTQ
info / download ( in spanish ) - https://auamstrad.es/videojuegos/zampa-manzana-divertimento-asegurado/
Title: Re: 8BP
Post by: XeNoMoRPH on 12:59, 03 June 20
(https://pbs.twimg.com/media/EZgTL3YWAAAEEBu?format=jpg&name=large)
if someone wants a cassette, fill in the form: https://auamstrad.es/retroescena/edicion-fisica-eridu/
Title: Re: 8BP
Post by: XeNoMoRPH on 15:09, 07 June 20
New game:  Dogfight
https://youtu.be/JhZ3kUnTlT0 (https://youtu.be/JhZ3kUnTlT0)

https://amstrad.es/doku.php?id=juegos:dogfight (https://amstrad.es/doku.php?id=juegos:dogfight)
Title: Re: 8BP
Post by: jjaranda13 on 01:55, 09 June 20

8BP includes a 8BP wrapper (8bp.h) and a "minibasic" (minibasic.h) to make easier (like basic) develop games using C

https://www.youtube.com/watch?v=7Svxl4Gqzng (https://www.youtube.com/watch?v=7Svxl4Gqzng)
Title: Re: 8BP
Post by: eto on 19:58, 18 June 20
I was looking for the draft version of the documentation but I can't find it. It says in the ZIP, but where can I find this?

I would love to try this for my next game but my Spanish is too bad to understand the docs.
Title: Re: 8BP
Post by: asertus on 20:30, 18 June 20
I was looking for the draft version of the documentation but I can't find it. It says in the ZIP, but where can I find this?

I would love to try this for my next game but my Spanish is too bad to understand the docs.


I am afraid José Javier has forgotten it in the latest version, and past versions are not in GIT. If he does not mind I share the manual of an older version of 8bp in English. Of course, quite outdated but @eto (https://www.cpcwiki.eu/forum/index.php?action=profile;u=3625) may try the basics, until last version manual is available in English.


To me it is a very good documentation. In most of the chapters you can learn a lot of CPC development even if you are not going to use 8bp... A very good job.





Title: Re: 8BP
Post by: tjohnson on 01:10, 26 July 20
Hi All, does anyone know if a newer version of the English manual is available and what has changed since the English manual was created, Spanish is completely alien to me, while I did a tiny bit of French at school I never had a single Spanish lesson  :( and I feel like having a go at creating a new game using 8bp.
Title: Re: 8BP
Post by: funkheld on 10:23, 26 July 20

Hi good afternoon.
the inventions for the cpc don't stop there.
thank you.
i have a cpc6128.
how can you use your programs if i want to have the range 0x4000 to 0x7fff myself?
So if the sdcc programs start at 0x8000?
does your basic also work with 0x8000?


greeting
Title: Re: 8BP
Post by: jjaranda13 on 01:28, 27 July 20
Hi good afternoon.
the inventions for the cpc don't stop there.
thank you.
i have a cpc6128.
how can you use your programs if i want to have the range 0x4000 to 0x7fff myself?
So if the sdcc programs start at 0x8000?
does your basic also work with 0x8000?


greeting




well...not easy question. 8BP starts at 24000, and you want to use up to 32000. Therefore you have an overlap of 8KB. It is possible to move these 8KB from 24000 to another memory position. However it must be done carefully. It is completelly possible but imply to select the bunch of functions from 24000 to 32000 and assemble them in another address. If there is a function that part of it falls into 32000 and other part falls on another memory area, you can solve it by a simple JP assembler instruction.


in summary: it is possible, and simple to get what you want, but must be done carefully.











Title: Re: 8BP
Post by: funkheld on 10:00, 27 July 20

thank you.

I don't want to influence the program in a very complicated way.
that should be built by the inventor in such a way that only the start address has to be entered differently than is usual with other programs: sdcc, ccz80 ++, cpctelera etc.

Title: Re: 8BP
Post by: jjaranda13 on 23:33, 28 July 20
thank you.

I don't want to influence the program in a very complicated way.
that should be built by the inventor in such a way that only the start address has to be entered differently than is usual with other programs: sdcc, ccz80 ++, cpctelera etc.


yes, it could be an option for C programmers. In 8BP, the start address is the maximum possible (24000) in order to allow BASIC programmers to have 24KB of BASIC and the rest for 8BP library and music and images and layout or scroll map. But of course, for c programmers it could be possible another arrangement of the memory. Other tools like cpctelera are not ready for BASIC programmers. Regarding sdcc, it is a compiler which in fact is used in 8BP for C programming. Anyway, you are right, it could be possible but it is not a disadvantage to "force" programmers to use the first 24KB to allocate their code.


I will think on the easiest way to give this additional degree of freedom to c programmers

Title: Re: 8BP
Post by: funkheld on 09:49, 29 July 20
this is a bank switch for expansion memory after $4000- $7fff

greeting
Title: Re: 8BP
Post by: XeNoMoRPH on 09:48, 26 September 20
https://twitter.com/8bitsdepoder/status/1309598723429855232
Title: Re: 8BP
Post by: XeNoMoRPH on 08:49, 22 October 20
https://twitter.com/8bitsdepoder/status/1319014117513089024
Title: Re: 8BP
Post by: Gryzor on 10:10, 22 October 20
Looks very nice for BASIC of course, but I'm waiting to see what happens when the end of level 1 approaches :D