The following warnings occurred:
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval
Warning [2] Undefined array key "attachments" - Line: 20 - File: portal.php(680) : eval()'d code PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/portal.php(680) : eval()'d code 20 errorHandler->error_callback
/portal.php 680 eval




Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 277
» Latest member: Elemento26
» Forum threads: 1,087
» Forum posts: 6,490

Full Statistics

Online Users
There are currently 107 online users.
» 0 Member(s) | 104 Guest(s)
Applebot, Bing, Google

Latest Threads
GuSprites
Forum: Help & Support
Last Post: zedex82
2026-06-19, 06:39 PM
» Replies: 2
» Views: 355
New video Couse / Nuevo c...
Forum: News
Last Post: Duefectu
2026-04-29, 11:02 PM
» Replies: 0
» Views: 2,699
location of heap manageme...
Forum: Help & Support
Last Post: boriel
2026-03-07, 12:13 AM
» Replies: 1
» Views: 745
non-paged supervisor code...
Forum: Help & Support
Last Post: sdo303
2026-02-20, 06:38 PM
» Replies: 8
» Views: 1,848
How to open fuse as an ex...
Forum: How-To & Tutorials
Last Post: Duefectu
2026-02-09, 01:52 PM
» Replies: 3
» Views: 1,742
Old zxbasic game errors
Forum: Help & Support
Last Post: boriel
2025-11-09, 11:52 AM
» Replies: 7
» Views: 2,538
Error: Undefined GLOBAL l...
Forum: Help & Support
Last Post: ardentcrest
2025-11-04, 05:46 PM
» Replies: 3
» Views: 1,395
A Fast(er) Plot Routine f...
Forum: How-To & Tutorials
Last Post: tubz74
2025-10-30, 03:16 PM
» Replies: 2
» Views: 1,479
Hall of Fame - Include fo...
Forum: How-To & Tutorials
Last Post: tubz74
2025-10-28, 03:48 PM
» Replies: 0
» Views: 819
[SOLVED] Array layout bug...
Forum: Bug Reports
Last Post: Zoran
2025-10-25, 05:48 PM
» Replies: 2
» Views: 1,539

 
  128k memory: saving and restoring data
Posted by: oblo - 2018-12-04, 08:51 AM - Forum: Help & Support - Replies (3)

Hi all

I'm trying to program a game for the +2A/+2B/+3, so I can use more RAM. Thanks to a lot of info I found on the forums, I manage to access all memory banks with this:

Code:
asm di end asm poke 23388,16 + bank_number : OUT 32765,16 + bank_number asm ei end asm

Question is, I don't know how to efectively save and retrieve data in the 45152-65535 address range. I prepared some programs just with data arrays, saved with something like SAVE "databank6" CODE 49151,16384 and then load it from the main program but no data is restored, so I assume I'm doing it wrong and saving no data at all.

How can it be achieved? Thanks in advance an regards.

Print this item

  O-Puzz Attack!!
Posted by: oblo - 2018-12-01, 09:56 PM - Forum: Gallery - No Replies

Hi all

With some help from boriel & britlion (thank you both!) I've just finished another game: O-Puzz Attack!!, a game inspired in the Panel de Pon/Tetris Attack/Puzzle League series by Nintendo. Two game modes, nine levels of difficulty and more awaits!
[Image: o-puzzattack-v1-0.jpg]

Attached to this post is a .7zip file with the playable .TAP, the cassette inlay, the source code and a readme.txt . I've enjoyed so much making this game, but I think this can be my last "one-screen-skill-game" and start with other kinds of games, like adventures, platforms or even simulation Smile

Hope you like it. Cheers!



Attached Files
.7z   O-PuzzAttack.7z (Size: 184.5 KB / Downloads: 1,082)
Print this item

  Lock CAPS poking memory
Posted by: oblo - 2018-11-29, 08:54 AM - Forum: Help & Support - Replies (5)

Hi all

AFAIK, poking 23617 address with 128 locks the CAPS in BASIC. I'm trying this inside the compiler but only works with a bunch of keys, while using others (like W, Z or X) shows garbage instead of the CAPS.
Is there any other way to force CAPS inside ZX Basic? I already tried all possible values 0 to 255) with no luck.

Thanks and regards

Print this item

  Reading keyboard/joystick input
Posted by: oblo - 2018-11-25, 09:40 AM - Forum: Help & Support - Replies (3)

Hi all

In order to control a 8x16 sprite, I'm using the MultiKeys function to read keyboard/Sinclair II input in a form of a subroutine inside the program. Problem is, the control experience is abrupt at its best, because keyboard is only read each time the subroutine is called. I'm trying to adjust it calling the subroutine in several places of the program, but it's not enough good to have a steady sprite control performance.
Any advice regards keyboard/sprite control, or it's just about to detect good places in the program to call the keyboard subroutine?

Thanks and regards

Print this item

  Escape (RTM version released)
Posted by: oblo - 2018-11-15, 01:44 PM - Forum: Gallery - Replies (1)

Hi all

Although is not 100% finished, I have decided to release a beta of the game I'm now working on: a clone of the 80s VTech handheld named Escape. These images compare the original with this version:
[Image: escape01.jpg] [Image: escape02.jpg]

Guards' sprites are not finished and they are giving me hard time (I'm using ZX Paintbrush to convert JPGs to UDGs, but they are so tiny and masked that there is almost no detail at all), there are some random crashes and some features are not implemented (all included in the README.txt file) but besides that, I'm trying to simulated all handheld features (clock, chrono, cycles, etc...) For a full comparative, you can download the Escape simulator for Windows from Madrigal's site

As always, attached the .tap with the source code and a readme.txt with instructions and additional info. Any comments and help (especially with the sprites thing) are welcome Smile

Cheers



Attached Files
.7z   escape_v010.7z (Size: 24.46 KB / Downloads: 1,055)
Print this item

  Space Worm
Posted by: emook - 2018-11-15, 01:32 AM - Forum: Gallery - Replies (1)

Just some fun little code.


Code:
' SpaceWorm - em00k ' David Saphier 2018 paper 0 : ink 0: cls :border 0 dim c,sc as uinteger dim a as float ' Fill screen with some Graphics for n=1 to 192 print inverse 0;"\.' "; print inverse 1;"\.' "; Next a=1 : ad=1 do ' draws a line of attribs at X=26 Y+7 colour blue (1) for y=1 to 7 poke 22528+26+(y<<5),1 next ' reads the sin data from sinpos+c and pops into cc cc=peek(@sinpos+c)+1 ' get the current colour and make sure its *8 so it affects the paper ic=i<<3 ' draw the colour ic at X=26 and Y+cc poke 22528+26+((15-cc)<<5),ic poke 22528+26+((16-cc)<<5),ic ' increase c to for reading sintable c=c+ad ' if its bigger than 60, reset the position if c>60 c=0 endif ' increase mc, used for setting speed mc=mc+1 if mc>10 ' mc was 10 to now we make ad = (speed+sc) ad=peek(@speed+sc) : sc=sc+1 : mc=0 if sc>13 : sc=0 : endif endif ' fractional for slower colour changes a=a+.75 if a>1 i=i+1 : a=0 if i>7 : i=1 : endif endif pause 2 asm ; code for copying the attribs from right to left lin equ 4 len equ 26 ld hl,22529+lin+32 ld de,22528+lin+32 ld bc,len ldir ld hl,22529+lin+32+32 ld de,22528+lin+32+32 ld bc,len ldir ld hl,22529+lin+32+32+32 ld de,22528+lin+32+32+32 ld bc,len ldir ld hl,22529+lin+32+32+32+32 ld de,22528+lin+32+32+32+32 ld bc,len ldir ld hl,22529+lin+32+32+32+32+32 ld de,22528+lin+32+32+32+32+32 ld bc,len ldir ld hl,22529+lin+32+32+32+32+32+32 ld de,22528+lin+32+32+32+32+32+32 ld bc,len ldir ld hl,22529+lin+32+32+32+32+32+32+32 ld de,22528+lin+32+32+32+32+32+32+32 ld bc,len ldir end asm loop cols: asm db 6,6,6,6,6,2 db 70,68,6,6,6,2 db 3,4,5,6,6,2 db 6,6,6,6,6,2 db 3,4,5,6,6,2 end asm sinpos: asm db 2,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2 db 2,2,3,3,3,3,3,4,4,4,4,4,4,4,4,4 db 4,4,4,4,4,4,4,4,3,3,3,3,3,2,2,2 end asm speed: asm db 1,1,2,3,4,5,6,5,4,3,2,1,1 end asm

Print this item

  Mirror a sprite
Posted by: oblo - 2018-11-14, 05:34 PM - Forum: Help & Support - Replies (9)

Hi all

Trying to save some UDGs, I'm looking for a way to mirror an existing sprite/UDG, so I only have to define them one way (i.e. facing sprites left) and, with a function, use those sprites to print them facing right.
I was toying with the hmirror function (<!-- m --><a class="postlink" href="http://www.boriel.com/wiki/en/index.php/ZX_BASIC:HMirror.bas">http://www.boriel.com/wiki/en/index.php ... Mirror.bas</a><!-- m -->) but I can't get it to work Undecided

Thanks and cheers.

Print this item

  Possible array bug in version 1.8.8 (*solved*)
Posted by: oblo - 2018-11-08, 07:21 PM - Forum: Bug Reports - Replies (8)

Hi all

I think I've just found a bug in 1.8.8 (or just my Spectrum emulators doesn't work any more); please, look at this piece of code:

Code:
paper 0: border 0: bright 1: ink 7: cls DIM y as byte dim testarray(4,2) as byte print at 0,0; "Creacion de testarray OK"; for y = 0 to 4 testarray(y,0) = 0 testarray(y,1) = 1 testarray(y,2) = 2 next y print at 1,0; "Inicializacion de testarray OK"; for y = 0 to 4 print at y+5,0; testarray(y,0); next y print at 2,0; "Lectura de valores OK";

If I compile the code without the --debug-array parameter, the code works well; but if the --debug-array parameter is used, the Spectrum can create the "testarray" array, but it can't initialize the arrays values, giving a 3 Subscript wrong, 40:1 error. Array-base is 0, heap-size is 4768 and ORG is 24576, but tried with other values and still fails.
[Image: good.jpg] [Image: errore.jpg]

Any ideas? Thanks and cheers.

Print this item

  Evaluate if one variable has several values
Posted by: oblo - 2018-11-08, 09:08 AM - Forum: Help & Support - Replies (3)

Hi all

Instead of...

Code:
IF var = 1 OR var = 2 OR var = 3 OR var = 4 THEN

... is there any way to achieve the same in a more efficient way? Something like that:

Code:
IF var = (1 OR 2 OR 3 OR 4) THEN

Thanks in advance and cheers

Print this item

  OVER - how it works?
Posted by: oblo - 2018-11-04, 06:57 PM - Forum: ZX Basic Compiler - Replies (2)

Hi all

While testing my last game, I come with some issue that makes me wonder if I understood well how OVER works. AFAIK, OVER 0 is the default mode, so if I have...

Code:
OVER 1 PRINT "Hello"; OVER 0

... last OVER 0 will affect all screen and all PRINT, DRAW, CIRCLE, PLOT commands? Affect sprites that are already draw in screen? I had a strange behaviour with the sonar so I had to make a workaround. Anyway, I'd like to know how OVER really works.

Thanks and cheers.

Print this item