8BP

Started by jjaranda13, 12:07, 27 September 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jjaranda13

Quote from: 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




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.












funkheld


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.


jjaranda13

Quote from: 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.


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


funkheld

this is a bank switch for expansion memory after $4000- $7fff

greeting

XeNoMoRPH

your amstrad news source in spanish language : https://auamstrad.es

XeNoMoRPH

your amstrad news source in spanish language : https://auamstrad.es

Gryzor

Looks very nice for BASIC of course, but I'm waiting to see what happens when the end of level 1 approaches :D

XeNoMoRPH

your amstrad news source in spanish language : https://auamstrad.es

funkheld

#108

hello, good job.
i would like more extensions for c and some interesting examples to learn with c.


spagetticocde in this way should go away.
another type of programming without lines in basic

---------------------------

340 l=0:naut[l*6+0]=100:naut[l*6+1]=160:naut[l*6+2]=220:naut[l*6+3]=-60:naut[l*6+4]=-90:naut[l*6+5]=-40:'level 0
350 l=1:naut[l*6+0]=400:naut[l*6+1]=200:naut[l*6+2]=300:naut[l*6+3]=250:naut[l*6+4]=-300:naut[l*6+5]=-300:'level 1
351 l=2:naut[l*6+0]=400:naut[l*6+1]=200:naut[l*6+2]=300:naut[l*6+3]=-400:naut[l*6+4]=0:naut[l*6+5]=-100:'level 2
352 l=3:naut[l*6+0]=400:naut[l*6+1]=400:naut[l*6+2]=50:naut[l*6+3]=50:naut[l*6+4]=-200:naut[l*6+5]=-200:'level 3
353 l=4:naut[l*6+0]=400:naut[l*6+1]=200:naut[l*6+2]=50:naut[l*6+3]=-300:naut[l*6+4]=-200:naut[l*6+5]=-400:'level 4
355 l=5:naut[l*6+0]=-500:naut[l*6+1]=-500:naut[l*6+2]=550:naut[l*6+3]=0:naut[l*6+4]=-300:naut[l*6+5]=550:'level 5
--------------------------
greeting

funkheld

#109

hello,
echo  "*     LOAD "ciclo.bin", 20000                             *"


LOAD "ciclo.bin",20000

is error.

greeting---------------------------------

echo.
echo.
echo  "***********************************************************"
echo  "*                   FIN DEL PROCESO                       *"
echo  "*  ASEGURATE DE QUE NO EXCEDES LA DIRECCION 24000         *"
echo  "* es la (highest address) de la transformacion ihx en bin *"
echo  "*                                                         *"
echo  "* se ha generado ciclo.dsk y dentro esta ciclo.bin        *"
echo  "*                                                         *"
echo  "* Pasos para cargarlo en el amstrad                       *"
echo  "* 1) carga o ensambla 8BP, con tus graficos, musica etc   *"
echo  "* 2) carga tu juego BASIC                                 *"
echo  "* 3) ejecuta LOAD "ciclo.bin", 20000                      *"
echo  "* para invocar a tu programa o rutina simplemente:        *"
echo  "* call <direccion de main en fichero ciclo.map>           *"
echo  "*                                                         *"
echo  "*  Para mover ciclo.bin de ciclo.dsk a otro disco debes   *"
echo  "*  conocer su longitud:                                   *"
echo  "*   longitud=Highest address - Lowest address             *"
echo  "*   lo cargas desde ciclo.dsk                             *"
echo  "*     LOAD "ciclo.bin", 20000                             *"
echo  "*   Y salvas en el disco donde esta tu juego              *"
echo  "*     SAVE "ciclo.bin",b,20000,longitud                   *"
echo  "***********************************************************"
--------------------------------------

jjaranda13

Quote from: funkheld on 10:31, 07 January 21
hello, good job.
i would like more extensions for c and some interesting examples to learn with c.


spagetticocde in this way should go away.
another type of programming without lines in basic

---------------------------

340 l=0:naut[l*6+0]=100:naut[l*6+1]=160:naut[l*6+2]=220:naut[l*6+3]=-60:naut[l*6+4]=-90:naut[l*6+5]=-40:'level 0
350 l=1:naut[l*6+0]=400:naut[l*6+1]=200:naut[l*6+2]=300:naut[l*6+3]=250:naut[l*6+4]=-300:naut[l*6+5]=-300:'level 1
351 l=2:naut[l*6+0]=400:naut[l*6+1]=200:naut[l*6+2]=300:naut[l*6+3]=-400:naut[l*6+4]=0:naut[l*6+5]=-100:'level 2
352 l=3:naut[l*6+0]=400:naut[l*6+1]=400:naut[l*6+2]=50:naut[l*6+3]=50:naut[l*6+4]=-200:naut[l*6+5]=-200:'level 3
353 l=4:naut[l*6+0]=400:naut[l*6+1]=200:naut[l*6+2]=50:naut[l*6+3]=-300:naut[l*6+4]=-200:naut[l*6+5]=-400:'level 4
355 l=5:naut[l*6+0]=-500:naut[l*6+1]=-500:naut[l*6+2]=550:naut[l*6+3]=0:naut[l*6+4]=-300:naut[l*6+5]=550:'level 5
--------------------------
greeting


hi funkheld


you are right, these lines are difucult to understand but they are only data. They are the data of position of each astronaut at each level. The coordinates x,y of each astronaut. Therefore 2 values x 3 astronauts= 6 values per level. Thats all.


regarding C examples, I take note, and I will do it in coming videotutorials and next updates of manual. Good point


jjaranda13

Quote from: funkheld on 10:50, 07 January 21
hello,
echo  "*     LOAD "ciclo.bin", 20000                             *"


LOAD "ciclo.bin",20000

is error.






Have you copy the ciclo.bin to the .dsk? after the creation of ciclo.bin you must copy the file into the .dsk where is located the loader.bas






funkheld

hello thanks for the help.


greeting.

funkheld


hello, why do the asm only start with winape?
winape is out of date, javacpc is the program.


they should also be easily adaptable to pasmo etc.


greeting

GUNHED

If would be great to be able to use WinApe and JavaCPC indeed.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

funkheld

Hi good afternoon.

In almost all 8bp demos there are many identical poke / peek that are responsible for the graphics.
it would be nice if this poke / peek could be explained.
the confusion starts with the long lines of poke / peek.

It's not the amount of graphics games that is decisive, but the clear explanation of the poke / peek.

There is a proverb:
less is more.
"weniger ist mehr"


thanks.
greeting

eto

Is there a current version of the documentation in English?


If not, would it make sense to have the documentation as a Wiki/Website rather than a PDF? Then we could at least easily use Google Translate.




funkheld


how big(byte) can a C-program be from sdcc for 8bp?


thanks.

funkheld


Hi good afternoon.


is basic 3 "ccz80 ++" and "ccz80" ???


greeting

funkheld


Hi good afternoon.
at the moment i am having a hard time with the asm programs that are active in a game. the asm programs for this are written in a confusing manner and are difficult to follow.
I hope that the shortage will be remedied soon.


small complete programs should also be created soon.
you don't feel like 8bp because there are no experiences that work for us.


greeting

funkheld

cpc basic 3 uses this ccz80 to compile. there is the successor ccz80 ++ if you use the cpc basic3, you can also familiarize yourself with the ccz80.it's not difficult.

greeting

jjaranda13

#121
Quote from: funkheld on 19:42, 10 January 21
how big(byte) can a C-program be from sdcc for 8bp?


thanks.


hi funkheld
The same as Basic, you can use the free 24kB for C code and the rest for graphics, music, etc in the same way as BASIC
However, you  need the 2KB wrapper which takes around 2kB, therefore you have 22KB free for your code + 8.5KB for graphics +1.4KB for music

jjaranda13

Quote from: funkheld on 00:55, 13 January 21
cpc basic 3 uses this ccz80 to compile. there is the successor ccz80 ++ if you use the cpc basic3, you can also familiarize yourself with the ccz80.it's not difficult.

greeting


I dont recommend basic3 because takes 16KB for internal things. The compiled program also is bigger in size than BASIC version (around 5kB) and therefore you lose around 20KB

funkheld

#123
I also advise against using basic3.if you use this ccz80 or ccz80 ++ alone, the programs have few bytes and the start address can also be relocated when compiling. ccz80 and ccz80 ++ can be expanded as required with your own asm commands and you can also change the ccz80 and ccz80 ++ own asm commands.

greeting

funkheld

you can enlarge this ciclo.c as you like, eg up to 10k compiled code?


greeting




Powered by SMFPacks Menu Editor Mod