Welcome, Guest |
You have to register before you can post on our site.
|
Online Users |
There are currently 137 online users. » 0 Member(s) | 135 Guest(s) Bing, Yandex
|
Latest Threads |
Красивые букетики
Forum: News
Last Post: AnthonyGaxia
Yesterday, 04:00 AM
» Replies: 0
» Views: 24
|
Printing with FZX
Forum: Help & Support
Last Post: boriel
07-17-2025, 09:08 PM
» Replies: 1
» Views: 371
|
Strange Happenings
Forum: Bug Reports
Last Post: boriel
05-23-2025, 09:15 AM
» Replies: 4
» Views: 2,540
|
.tap file code not execut...
Forum: Help & Support
Last Post: Zoran
04-28-2025, 10:59 AM
» Replies: 4
» Views: 2,719
|
Exit from more than one l...
Forum: Wishlist
Last Post: Duefectu
04-23-2025, 10:06 PM
» Replies: 3
» Views: 2,274
|
put small ASM programs li...
Forum: How-To & Tutorials
Last Post: Zoran
04-18-2025, 02:02 PM
» Replies: 6
» Views: 5,276
|
Creating +3 Menus - Loadi...
Forum: Help & Support
Last Post: merlinkv
04-16-2025, 02:08 PM
» Replies: 6
» Views: 3,702
|
Randomize not very random...
Forum: Help & Support
Last Post: Zoran
04-08-2025, 10:40 AM
» Replies: 4
» Views: 3,442
|
Scope rules
Forum: Bug Reports
Last Post: Zoran
04-04-2025, 09:46 AM
» Replies: 2
» Views: 1,959
|
Using constants not allow...
Forum: Bug Reports
Last Post: baltasarq
03-19-2025, 10:00 PM
» Replies: 8
» Views: 4,750
|
|
|
Lock CAPS poking memory |
Posted by: oblo - 11-29-2018, 07: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
|
|
|
Reading keyboard/joystick input |
Posted by: oblo - 11-25-2018, 08: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 - 11-15-2018, 12: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 - 11-08-2018, 06: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 - 11-08-2018, 08: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 - 11-04-2018, 05: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.
|
|
|
|