|
Post by rmartins on Jan 7, 2018 19:01:29 GMT
Also, if you do not use UDGs or any other character above 127 (0x7F), you can use the last bit (bit 7) to use as a mark to get 1 of 127 common words from a another table/array.
You can test for it, with 'B AND 128', and you can clear the bit with ' B AND 127', to get the index of the word.
|
|
futublock
New Member
Superviviente Marciano
Posts: 3
|
Post by futublock on Jan 8, 2018 17:29:45 GMT
me gustaría ser reseñado como Futu-Block porfa, y si quieres puedes hacer la reseña a mi blog ------------------------------------------------------------------------------------------------------------------------------------- I would like to be referred to as Futu-Block, please, and if you can, can you point out at my blog Who are you talking to? Is that for me? ------------------------------------------------------------------------------------------------------------------------------ Eso pa quién es? Para mí o para Zael? para zael ---------------- to Zael, sorry
|
|
|
Post by ancientbits on Jan 8, 2018 22:57:08 GMT
¡¡Chavales, ayuuudaaaa!!. Hemos terminado el nuevo juego de Ancient Bits que está programando con BASin 0.13. Como ya os dije, le puse unas Fuentes super chulas que el programa te las incluye en el código vía POKE y DATA.Así se ve en el BASin, con el código de las fuentes insertado en el programa... Cuando ejecuto el .bas desde el BASin me carga el juego con las fuentes sin problemas, pero al pasar el .bas a .tzx y cargarlo con otros emuladores el juego funciona pero... ¡¡las fuentes no se ven, sólo las fuentes predeterminadas del ZX Spectrum!!Para pasar .bas a .tzx me voy dentro de BASin a TOOLS --> TAPE CREATOR --> ADD FROM CURRENT PROGRAM --> Y EN PROPERTIES AUTORUN LINE 0 Ohh Dios mío... ¡ayuda! Ya he pedido ayuda en Speccy.org y FaseBonus... ¡tan sólo me queda rezarle a San Cucufato! P.D.: ¿En caso de que me sea imposible solucionar esto podría presentar el programa como .bas y adjuntar el BASin (gratuito y ejecutable, sin instalar nada) para que la gente pudiera jugarlo tal y cómo fue planteado? Si no consigo que lleve las fuentes especiales con los acentos y la "ñ" no creo que podamos presentar el juego la verdad...
|
|
|
Post by rmartins on Jan 8, 2018 23:42:18 GMT
There is a "ROM" variable "CHARS", that points to the current defined font. Check the ZX Manual. www.worldofspectrum.org/ZXBasicManual/zxmanchap25.htmlJust change that variable to point to your new font memory location, according to instructions in the manual. NOTE: probably the "TAPE CREATOR" option, does not account for changes in font.
|
|
|
Post by ancientbits on Jan 9, 2018 13:45:11 GMT
There is a "ROM" variable "CHARS", that points to the current defined font. Check the ZX Manual. www.worldofspectrum.org/ZXBasicManual/zxmanchap25.htmlJust change that variable to point to your new font memory location, according to instructions in the manual. NOTE: probably the "TAPE CREATOR" option, does not account for changes in font. rmartins... First of all thank you very much for your advice. Second... I have something to admit... Although from the distance I can seem an advanced BASIC programmer (what in Spain we call a "BASIC putilla"), actually I am only a "Zero Knowledge" BASIC programmer (what in Spain we call a "BASIC Cenutrio"). I understand what you are telling me, I read the ZX Basic Manual you linked me but... I'm not capable to get the code to do that... I save the program as .z80/.sna instead of .tzx to see if something changed but I can only see correctly the screen where I save the .z80, if I continue the program it shows again the normal ZX fonts... But in .z80 I can read the code from emulator and I can see the font's code is there... so I can't figure what it could be... I tried to make a "Hello World" with another Fonts and the result is the same... BASin locate new fonts from adress 15616. I tried to locate them at 23606 but then BASin crashes...
Why BASin loads correctly the code but emulators don't (I tried on 3 different emulators)? It is supossed that BASin Display Output is the SAME that I must see on a real ZX Spectrum... Thanks again rmartins... I will not forget all your help, I wish you the best... I don't know if this is my farewell as BASIC programmer... -------------------------- TRADUCCIÓN AL ESPAÑOL NO DISPONIBLE POR DEPRESIÓN DEL PROGRAMADOR
|
|
|
Post by rmartins on Jan 9, 2018 21:07:38 GMT
First let me state, that I have never used BASin. I believe it's a BASIC editor, but then compiles the code into Assembly. From what you explain, it seems to be using the ZX ROM Print routines and font, hence the problem is probably the CHARS variable not having the expected contents. If you look carefully in the ZX manual they mention: POKE n,v-256*INT (v/256) POKE n+1,INT (v/256) To set a Double Word in RAM and they also mention: 2 23606 CHARS 256 less than address of character set (which starts with space and carries on to the copyright symbol). Normally in ROM, but you can set up your own in RAM and make CHARS point to it. So if you have the base Address of your new font as FONTADDR, you only need to do something like the following in your initialization code: VAR v = FONTADDR - 256 POKE 23606,v-256*1NT (v/256) POKE 23606+1,lNT (v/256) Just replace FONTADDR by the correct value. Just be sure you have the right address of the FONT, I'm pretty sure it's not 15616, because that is still within the first 16KB, which is ROM. If you have a variable that points to the Font Addr, just print it to find out the correct value. Maybe this is the real issue, the BASin emulator, eventually may allow you to WRITE on ROM area, where a regular emulator or a real machine, should not allow that. Since I'm not sure how the application is output or saved to file, I can only speculate, but it must generate some kind of Standard BASIC Loader code, or bundle it together with your code (if it does not compile to assembly, which I believe it does). So if the above fails, you need to check where you run this initialization code, either in your original code source, or in your Standard Basic Loader code. NOTE: If it's a real ZX BASIC running, you can break into it, and do those commands above, by hand, just to be sure they fix the problem. Just run LIST command after and you will see the screen update. For further tecnical details (since I have never used it): - try read the BASin help/manual, if there is one (I don't know) - try search/ask in SpectrumComputing Forums spectrumcomputing.co.uk/forums/- try search/ask in WOS Forums www.worldofspectrum.org/forums/I would suggest that you can contact the author (Dunny) on WOS, or the current maintainer (BASinC) arda.kisafilm.org/blog/?page_id=848&lang=enEDIT: Just noticed in the screenshot you sent, that you are using version 13a, but there is a stable 14C. You should try that newest 14C version, with a copy of your original file (backup is your friend), to see if it magically corrects your issue. There is also a fork (BASinC) which is a distinct development branch from 14C onwards, that you could also try arda.kisafilm.org/blog/?p=1208&lang=en#more-1208As a last resort, you could sent me a .TZX or .TAP, for me to check, what it is doing on the Standard Basic Loader. I just can not promiss a solution, since I pretty busy myself, trying to advance my own game
|
|
|
Post by ancientbits on Jan 9, 2018 22:03:21 GMT
Maybe this is the real issue, the BASin emulator, eventually may allow you to WRITE on ROM area, where a regular emulator or a real machine, should not allow that. Thanks a lot rmartins... all you said was correct. The big fuck*** issue was that (as you said) BASin ALLOWS TO WRITE ON ROM (in fact, it does by default) , so emulators or real machine don't show the fuck*** fonts... Why BASin allows edit fonts on ROM when it's suposed the program are going to run on emulators or real machine later? Why I'm using a 15 years old BASIC editor? Where we came from? Where are we going? Where are we now?... Jokes aside, thank you very much rmartins, I'll try the code you said or load .bas file (without the fonts) in a new version of BASin that locate the fonts on free space instead ROM. Thank you again. A place for your name is secured on Vindiu's Credits... if I'm able to make it run finally...
|
|
|
Post by rmartins on Jan 9, 2018 22:18:31 GMT
Yes, I just installed and tested a simple program. 10 PRINT "Hello World" 20 PRINT PEEK (15616) 30 POKE 15616,2 40 PRINT PEEK (15616) And the output is Hello World 0 2 So yep, it's emulating ROM as RAM But it's not BASin that is importing the fonts, into the wrong place, it's your code. You are using DATA statements, and then looping in a FOR NEXT loop, starting at: 15616 up to 16383 (all in ROM), and then using POKE to write to it. You need to find some space in RAM, and POKE the stuff in there. Just be sure not to kill your own program. An easy way, is to do the regular CLEAR VAL "NNNNN" Where NNNNN = 65535 -1 - size of font bitmap This will make the space after NNNNN available for other stuff then basic, up to the top of memory (65535) You can then start POKING the font into "NNNNN+1". Alternatively, you can POKE it, and then SAVE it as binary data, that you can LOAD "font" CODE, when running your init code. This will be a lot more compact, since it alows you to delete the DATA statements of the font, from your original code. WARNING: Keep a copy somewhere, you may need to re-create the binary if you edit the font. TIP: Check the manual for the word CODE use SAVE "font" CODE NNNNN+1, length use LOAD "font" CODE NNNNN+1
|
|
|
Post by ancientbits on Jan 9, 2018 23:07:33 GMT
Ok... I'm obfuscated by now... One last thing, rmartins...
If I try to locate the fonts on address 64766... could you help me with the POKE lines?
POKE n,v-256*1NT (v/256)
POKE n+1,lNT (v/256)
I can't calculate the address number to POKE... What NT is? The only NT I know is Windows NT... (bad joke)
10 CLEAR 64765
20 POKE 23606,?¿ (WHAT NUMBER GOES HERE?) POKE 23607,?¿ (WHAT NUMBER GOES HERE?)
30 RESTORE 11: FOR F=64766 TO 65533: READ A: POKE F,A: NEXT F
40 ALL THE DATA STUFF...
Thank you one more time and good luck with your game!!
|
|
|
Post by rmartins on Jan 9, 2018 23:20:24 GMT
It's not 1NT, but INT function, which converts the real divsion to an Integer number. I copied it from the ZX manial, it's probaly an error in the OCR conversion, sorry.
I'll edit the post above, to be correct.
Yiou need to know the "size of font bitmap" in number of bytes. Once you know that I already gave you the answer,
You just have to use the expressions I have shown before, after replacing the FONTADDR by NNNNN result.
10 CLEAR 64765
12 LET fs = (65535 - 64766) +1 15 LET v = fs - 256 20 POKE 23606,v-256*INT (v/256) 25 POKE 23606+1,INT (v/256)
30 RESTORE 11: FOR F=64766 TO 65533: READ A: POKE F,A: NEXT F
40 ALL THE DATA STUFF... Be warned, that once you replace the FONT, if you do not have all the symbols that you use in your code, it might get difficult to edit. You can always comment those lines (REM), save and restart, to revert to ZX standard font.
|
|
|
Post by ancientbits on Jan 10, 2018 23:31:32 GMT
Alternatively, you can POKE it, and then SAVE it as binary data, that you can LOAD "font" CODE, when running your init code. This will be a lot more compact, since it alows you to delete the DATA statements of the font, from your original code. WARNING: Keep a copy somewhere, you may need to re-create the binary if you edit the font. TIP: Check the manual for the word CODE use SAVE "font" CODE NNNNN+1, length use LOAD "font" CODE NNNNN+1 rmartins! I think I got it! It works OK in ZXSPIN emulator!
But as you said, to locate the fonts at RAM needs more memory than my old program (that stored the fonts in ROM). It takes about 6kb with all the laaaarge DATAS in program code (the same as before), but also 768 bytes to keep the fonts in memory.
Just the same as the variables... that take 2 times memory, one to write them at the program code and one more to keep them in RAM memory... As I see, all you want to locate at RAM memory "steals" you 2 times (one in code, other in memory)...
So my last question is... If I do the SAVE/LOAD "FONT" CODE is it saved as a .bin file aside my .tzx program? Or could I do a multiload .tzx and load first the FONT CODE and secondly the main program?
Thaaaaank you very much! Really, without your help I never have been able to get it work! I thank you sincerely for your help!
|
|
|
Post by rmartins on Jan 11, 2018 1:33:05 GMT
rmartins! I think I got it! It works OK in ZXSPIN emulator! That's great! But as you said, to locate the fonts at RAM needs more memory than my old program (that stored the fonts in ROM). It takes about 6kb with all the laaaarge DATAS in program code (the same as before), but also 768 bytes to keep the fonts in memory.
Just the same as the variables... that take 2 times memory, one to write them at the program code and one more to keep them in RAM memory... As I see, all you want to locate at RAM memory "steals" you 2 times (one in code, other in memory)...
So my last question is... If I do the SAVE/LOAD "FONT" CODE is it saved as a .bin file aside my .tzx program? Or could I do a multiload .tzx and load first the FONT CODE and secondly the main program?
Thaaaaank you very much! Really, without your help I never have been able to get it work! I thank you sincerely for your help! After I checked how BASin works, it just saves a BASIC text file (.bas) or a memory dump (.Z80). If you load the .Z80 on an emulator, you have your BASIC ready to go. So as I have explained before, you need to create the Binary data of your font. Step 1: create a BASIC program, just and only to create the FONT. It should have only this: 1 - correct CLEAR statement, to free up memory at RAM TOP. 2 - Font DATA statements 3 - FOR loop that pokes all font data into RAM TOP Step 2: Run your program. Step 3: Change CHARS as mentioned before, to make sure the font is working. Step 4: Save the binary data using command SAVE "font" CODE {memoryPosition}, {fontSize} NOTE: Make sure you replace the stuff in brackets {} with the correct values. Running this command in any emulator, should save a .TAP file somewhere in your hard drive. Rename it to VFont.TAPStep 5: Load your BASIC game source code. 1- Add the correct CLEAR statement, same as before 2 - Remove the unwanted DATA, as well as any Font related FOR or POKE, that might still be there. Not needed anymore. 3 - add the following code to load the font. LOAD "font" CODE Or better yet, to be sure it always goes in the correct position. LOAD "font" CODE {memoryPosition} Add the CHARS variable POKEs, after the LOAD (same as before) Step 6:Save your BASIC Program into VGame.TAP (rename it if necessary. SAVE "Vindius" Step 7: Copy the two .TAP files together, in binary mode, to make anew final file for your release. On windows, something like: COPY /B VGame.TAP+VFont.TAP Vindius.TAP You final versions is the file Vindius.TAP
You can load your game in any modern emulator. In some emulators, you main need to run this command, after opneing the TAPE file (if autloading is not enabled). LOAD "" I hope this solves your troubles. NOTES: Every tine you need to "rebuild" the game, you can start from Step 1, if you changed the font. Or start at Step 6 if font was not changed. TIP1: Step 2 and 4, can be placed inside the program from Step 1, so that when you run it ( Step 2), it automatically does all the other steps (1,3,4) in one go. TIP2: You can convert your final .TAP to .TZX. Search the web to find the tools for it.
|
|
|
Post by beaches on Jan 22, 2018 0:03:09 GMT
It seems a great video game and also a bit spicy because there are some sexy graphics. I think the head master of this project it's insane....keep away from him!!
Parece un buen juego y algo guarrillo porque hay pelo en las imágenes.
Opino que la cabeza pensante del proyecto no está mu pallá....alejaos de él!!
|
|
|
Post by ancientbits on Jan 30, 2018 0:24:33 GMT
VINDIUS - THE VIDEOGAME VINDIUS (GAME) (SPANISH) (CARA A)
VINDIUS (GAME) (ENGLISH) (SIDE A)
VINDIUS (EXTRAS) (SPANISH) (CARA B)
VINDIUS (EXTRAS) (ENGLISH) (CARA A) EL JUEGO
Vindius The Videogame es una aventura al estilo "Elige tu Propia Aventura" programado por 5 amigos de FaseBonus sin conocimientos de programación. Pese a que la jugabilidad es muy limitada (en realidad se trata más de un video-libro que un video-juego), su gran atractivo es la historia que se cuenta, basada en el libro de nuestro compañero Deka Black (Vindius El Guerrero del Norte).Además, la posibilidad de descubrir nuevos caminos, descubrir capítulos saltados en las primeras partidas, ver los gráficos de los enemigos, etc. hacen que jugarlo sea al menos entretenido.LOS EXTRASDebido a la escasa jugabilidad y la corta duración, en los últimos días decidimos inlcuir unos EXTRAS en la cara B del cassette que se desbloquean con un código obtenido al completar la aventura. Los EXTRAS constan de los siguiente...1) GRÁFICOS DESCARTADOS
Descubre los diseños y bocetos descartados por horribles, inquietantes o... ¡demasiado picantes!
2) EL EQUIPO "V"
Conoce a los 5 cenutrios que han programado el juego... ¿seguro que son 5?
3) OMNIA VINCIT HONOR (MINIJUEGO)
Minijuego en el que manejamos a Quinto Igneus (un protagonista secundario de la novela) a través del infierno. ¡Con final oculto!
4) LA IRA DEL OJANCANO (MINIJUEGO)
Minijuego en el que manejamos a Vindius y Milciades huyendo del temible Ojancano.
5) CRÉDITOS EXTENDIDOS Todos los créditos que no pudimos poner en el juego por falta de memoria... o pura pereza.
NOTA IMPORTANTE: Pensamos que los EXTRAS deben estar "fuera de concurso", ya que se trata de un programa aparte y además (y lo más importante), el código de los 2 mini-juegos incluidos se trata de código modificado basado en archivos .bas de ejemplos incluidos en el programa BASin que además tienen 2 bugs importantes que no he podido solucionar. En cualquier caso, animamos a los jueces a jugar los EXTRAS para que tengan una "experiencia Vindius completa"EL LIBROEl juego está basado en el libro de nuestro compañero Deka Black, Vindius El Guerrero del Norte, que narra las aventuras de un guerrero cántabro y un grupo de legionarios romanos que persiguen a un fugitivo cartaginés por las peligrosas y fantásticas tierras de Cantabria.Puede que no sea el libro de aventuras/fantasía definitivo, pero se trata de un libro que mezcla con mucho acierto la literatura fantástica con elementos propios del folklore, la mitología y la historia cántabra.Queremos agradecer la colaboración de Deka y que nos haya dejado hacer el juego basado en su libro y esperamos ansiosos los siguientes libros basados en Vindius.-----------------------
THE VIDEOGAME
Vindius The Videogame is a "Choose Your Own Adventure" style text-adventure programed by five "zero programming knowledge" friends from FaseBonus. Although playability is very limited (actually is more a video-book than a video-game), its great appeal lies in the story narrated, based in the book by our friend Deka Black (Vindius El Guerrero del Norte). Also, the posibility of discover new ways, discover new chapters you didn't found in your first plays, search for the astonishing enemies' graphics... does that play the game would be at least funny.THE EXTRAS Due to the lack of playability and its short duration, last days we decided to include some EXTRAS in the side B of the cassette wich are unblocked with a password you could obtain when you finish the main game. The EXTRAS includes the following...1) DISCARDED GRAPHICSDiscover the discarded desings and preliminary graphics, discarded due to its ugliness, to be disturbing or... too hot!2) EL EQUIPO "V" Know the five "cenutrios" who programmed the game...3) OMNIA VINCIT HONOR (MINIJUEGO) Minigame in which you play as Quinto Igneus (a secondary character of the book) throw the Underworld... With a hidden ending!4) LA IRA DEL OJANCANO (MINIJUEGO) Minigame in which you play as Vindius and Milciades running away from the terrible Ojancano. 5) CRÉDITOS EXTENDIDOS All the Credits we coudn't fit in the main game due to lack of memory... or excess of laziness
IMPORTANT NOTE : We think EXTRAS are out of contest, because they are a "programm aside" and also (and most important), the BASIC code of the two minigames included are modified from BASin examples codes and also they have 2 important bugs I wasn' able to solve. Anyway, we encorauge the jury to play the EXTRAS to get a "full Vindius experience"THE BOOK The game is based in our friend's Deka Black novel, Vindius El Guerrero del Norte, a book that tells the adventures of a cantabrian warrior and a group of roman legionaries that are chasing a carthaginian fugitive around the fantastic and dangerous lands of Cantabria (Spain).It could be not the ultimate adventure/fantasy novel, but indeed it's a book that mixes with success the fantasy literature with elements from cantabrian folklore, mithology and history.We want to thank Deka for his collaboration and let us make this game based in his novel and we wait with desire the next Vindius novels.
|
|
|
Post by DamienG on Apr 8, 2018 17:36:59 GMT
Just came across this on another site and glad to see my Dead Forest font get some good use! Hope to try the game out soon [)amien
|
|