| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 272
» Latest member: sdo303
» Forum threads: 1,084
» Forum posts: 6,477
Full Statistics
|
| Online Users |
There are currently 524 online users. » 0 Member(s) | 523 Guest(s) Bing
|
| Latest Threads |
non-paged supervisor code...
Forum: Help & Support
Last Post: sdo303
2 hours ago
» Replies: 1
» Views: 15
|
How to open fuse as an ex...
Forum: How-To & Tutorials
Last Post: Duefectu
2026-02-09, 01:52 PM
» Replies: 3
» Views: 772
|
Old zxbasic game errors
Forum: Help & Support
Last Post: boriel
2025-11-09, 11:52 AM
» Replies: 7
» Views: 1,317
|
Error: Undefined GLOBAL l...
Forum: Help & Support
Last Post: ardentcrest
2025-11-04, 05:46 PM
» Replies: 3
» Views: 649
|
A Fast(er) Plot Routine f...
Forum: How-To & Tutorials
Last Post: tubz74
2025-10-30, 03:16 PM
» Replies: 2
» Views: 716
|
Hall of Fame - Include fo...
Forum: How-To & Tutorials
Last Post: tubz74
2025-10-28, 03:48 PM
» Replies: 0
» Views: 394
|
[SOLVED] Array layout bug...
Forum: Bug Reports
Last Post: Zoran
2025-10-25, 05:48 PM
» Replies: 2
» Views: 773
|
3DOS Commands?
Forum: Help & Support
Last Post: boriel
2025-10-06, 02:54 PM
» Replies: 3
» Views: 906
|
CLS/Fade out ASM Sub-rout...
Forum: How-To & Tutorials
Last Post: tubz74
2025-10-05, 03:39 PM
» Replies: 2
» Views: 684
|
ZX Basic Studio Bugs
Forum: Bug Reports
Last Post: Duefectu
2025-09-23, 04:07 PM
» Replies: 5
» Views: 1,774
|
|
|
| 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
|
|
|
| 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
|
|
|
| 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: errore.jpg]](https://preview.ibb.co/hra2AA/errore.jpg)
Any ideas? Thanks and cheers.
|
|
|
| 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
|
|
|
| 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.
|
|
|
|