A tool to help with dungeon creation for the ZX81:Dungeon Designer
A tool to help with dungeon creation for the ZX81:Dungeon Designer
This comes in two flavors: A full basic listing and a Machine code variant (which i will get to eventually).
The idea came about because there is no way for one unfamiliar with machine code to draw on screen (we don't use lightpens or graph paper anymore so you see the issue). This program asks for a starting position and an ending position, gives you a pre drawn graphic and you go from there. As there is no way to highlight just where in memory you can draw from, my program aims to make it easier. Runs in 2k.
Example:
Starting position: 3
Ending position: 12
Graphic shows at 3 and 12 so you know where to start. Pretty cool huh?
the rem portion is for later implementation, when i am better accustomed to the hardware
hopefully it works. I saved it twice, checked the tape, saved again and made a backup
The idea came about because there is no way for one unfamiliar with machine code to draw on screen (we don't use lightpens or graph paper anymore so you see the issue). This program asks for a starting position and an ending position, gives you a pre drawn graphic and you go from there. As there is no way to highlight just where in memory you can draw from, my program aims to make it easier. Runs in 2k.
Example:
Starting position: 3
Ending position: 12
Graphic shows at 3 and 12 so you know where to start. Pretty cool huh?
the rem portion is for later implementation, when i am better accustomed to the hardware
hopefully it works. I saved it twice, checked the tape, saved again and made a backup
- Attachments
-
- Dungeon Designer.p
- (769 Bytes) Downloaded 97 times
In Heck, there are two options for perpetual torment:
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
It loads and runs but how do I use it?Crayon21 wrote: ↑Sat Oct 23, 2021 5:07 am This comes in two flavors: A full basic listing and a Machine code variant (which i will get to eventually).
The idea came about because there is no way for one unfamiliar with machine code to draw on screen (we don't use lightpens or graph paper anymore so you see the issue). This program asks for a starting position and an ending position, gives you a pre drawn graphic and you go from there. As there is no way to highlight just where in memory you can draw from, my program aims to make it easier. Runs in 2k.
Example:
Starting position: 3
Ending position: 12
Graphic shows at 3 and 12 so you know where to start. Pretty cool huh?
the rem portion is for later implementation, when i am better accustomed to the hardware
hopefully it works. I saved it twice, checked the tape, saved again and made a backup
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
Enter a coordinate for X (left to right)
and enter a coordinate for Y (up and down)
so say 16 and 23 would be 16 up and 23 down. From there, you can mark the coordinates on paper or in a text editor. It maps the whole screen so you have an easier time.
So if you were to plot 18,23, a dot would appear 18 up and 23 down.
1. select either mode 1 or 2 (plain text or graphical)
2. input coordinates for x and y
3. make a note and draw what you want using print at
and enter a coordinate for Y (up and down)
so say 16 and 23 would be 16 up and 23 down. From there, you can mark the coordinates on paper or in a text editor. It maps the whole screen so you have an easier time.
So if you were to plot 18,23, a dot would appear 18 up and 23 down.
1. select either mode 1 or 2 (plain text or graphical)
2. input coordinates for x and y
3. make a note and draw what you want using print at
In Heck, there are two options for perpetual torment:
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
Crayon,
Something's wrong with the ASM routine:
LD A,$21
LD x,$21
(???)
POP HL
LD (HL),88
…
You had to assemble the mnemonics to run it in a REM ! /// Again…///
Give us the paper listing...
Something's wrong with the ASM routine:
LD A,$21
LD x,$21
(???)
POP HL
LD (HL),88
…
You had to assemble the mnemonics to run it in a REM ! /// Again…///
Give us the paper listing...
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
it's been saved as b81 but the site won't accept it. ideas?
In Heck, there are two options for perpetual torment:
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
-
- Posts: 2176
- Joined: Sat Nov 26, 2016 2:42 am
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
You can rename the file extension to get the site to accept it (but make it obvious you have!)
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
Well… well… well…
I planed to add a new Basic function: Vline and Hline.
You Had to create a string value a$(x,4)
Where:
a$(x,1)=Y
a$(x,2)=X
a$(x,3)=Length + H/V flag (bit7=V) ( 0 to 128 chars )
a$(x,4)=Character code.
To display the screen:
8000 CLS
8010 LET A$(1,1)=CHR$ USR 16514
(You can use all strings value names, the CHR$ 128 is the "RETURN" ASM flag.)
Asm codes:
Basic listing:
Demo:
example…
X= Y= MoveTo=H/V Length
0 0 H 32
31 1 V 20
0 1 V 20
0 20 H 32
...
I planed to add a new Basic function: Vline and Hline.
You Had to create a string value a$(x,4)
Where:
a$(x,1)=Y
a$(x,2)=X
a$(x,3)=Length + H/V flag (bit7=V) ( 0 to 128 chars )
a$(x,4)=Character code.
To display the screen:
8000 CLS
8010 LET A$(1,1)=CHR$ USR 16514
(You can use all strings value names, the CHR$ 128 is the "RETURN" ASM flag.)
Asm codes:
Code: Select all
;------- TASM ASM mnemonics. -------
; Compile this file using:
; Set TASMOPTS = -b
; tasm -80 ThisCode.tas MyBinary.BIN
;-----------------------------------
; Zx81 Program name: VB81 XuR
#define ORG .org ; TASM cross-assembler definitions
#define equ .equ
;-----------------------------------
FAST equ $0F23
SLOW equ $0F2B
CURSEUR .equ $08F5
EXTERR equ $005B ; Basic Break function ! Ignore line instructions.
.ORG 16514
PutByte:
LD HL,($4012) ; Get Dest value.
LD A,(HL)
LD ($4021),A
DEC HL
Nxtval:
INC HL
LD A,(HL) ; Get first value
BIT 7,A ; to test the variable
JR NZ,ExitVals ; b7=1 >exit (End of array)
LD B,A ; Get X value.
INC HL
LD A,(HL)
LD C,A ; Get Y value.
LD ($407B),BC
PUSH HL
CALL CURSEUR ; Set The PRINT AT D_File DEST
POP HL
INC HL
LD A,(HL) ; Set Horzontal or Vertical way..
BIT 7,A
LD B,A
JR NZ,DrawV
DrawH:
INC HL
LD A,(HL)
LoopH:
RST 10h
DJNZ LoopH
JR Nxtval
DrawV:
RES 7,B ; Reset the way flag.
INC HL
LD A,(HL)
LoopV:
PUSH BC
LD BC,($407B)
PUSH HL
CALL CURSEUR ; Set The PRINT AT D_File DEST
POP HL
POP BC
LD A,(HL)
RST 10h
INC (IY+124)
DJNZ LoopV
JR Nxtval
ExitVals:
LD B,0
LD A,($4021)
LD C,A
RET
.end
Code: Select all
10 REM [HEX:\
2A,12,40,7E,32,21,40,2B,\
23,7E,CB,7F,20,33,47,23,\
7E,4F,ED,43,7B,40,E5,CD,\
F5,08,E1,23,7E,CB,7F,47,\
20,07,23,7E,D7,10,FD,18,\
DF,CB,B8,23,7E,C5,ED,4B,\
7B,40,E5,CD,F5,08,E1,C1,\
7E,D7,FD,34,7C,10,EE,18,\
C7,06,00,3A,21,40,4F,C9 ]
20 DIM A$(10,4)
22 LET V=1
25 FAST
30 FOR A=1 TO 10
40 LET A$(A)=CHR$ 128
50 NEXT A
51 PRINT "DUNGEON DESIGNER"
52 PRINT "THIS WILL HELP YOU DESIGN YOUR OWN DUNGEONS FOR YOUR OWN USE"
60 SLOW
70 PRINT "THEN SELECT A THE FIRST CHAR."
75 PRINT AT 17,0;"VALUE ";V
80 PRINT AT 18,0;"X= <N/L>"
81 INPUT X
85 PRINT AT 18,0;"Y"
86 INPUT Y
90 PRINT AT 18,0;"H OR V: "
95 INPUT H$
100 PRINT AT 18,0;"LENGHT:"
105 INPUT N
110 PRINT AT 18,0;"CHARACTER:"
115 INPUT C$
120 LET A$(V)=CHR$ Y+CHR$ X+CHR$ (N+(128 AND H$="V"))+C$
150 PRINT AT 19,0;"PRESS s TO DISPLAY THE SCREEEN","n TO CONTINUE OR q TO QUIT","SAvE DATAS.","d ERASE LAST"
160 INPUT R$
170 IF R$="S" THEN GOSUB 8000
180 IF R$="N" THEN GOTO 300
190 IF R$="Q" THEN STOP
195 IF R$="V" THEN GOTO 9000
196 IF R$="D" THEN LET V=V-1
197 IF R$="D" THEN GOTO 75
200 GOTO 160
300 LET V=V+1
400 CLS
500 GOTO 75
8000 CLS
8010 LET A$(1,1)=CHR$ USR 16514
8020 RETURN
9000 SAVE "DONJON"
9999 GOTO 150
Demo:
example…
X= Y= MoveTo=H/V Length
0 0 H 32
31 1 V 20
0 1 V 20
0 20 H 32
...
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
On this demo, you can create several levels in a A$ string…
DIM A$(20,4)
LET A$(5,1)=128
LET A$(9,1)=128
LET A$(14,1)=128
LET A$(20,1)=128
first level:
LET A$(1,1)=CHR$ USR 16514
Will display the 1 to 4 values
LET A$(6,1)=CHR$ USR 16514
Will display the 6 to 8 values
(…)
LET A$(15,1)=CHR$ USR 16514
Will display the values between 15 to 20.
LET A$(1,1)=CHR$ USR 16514
LET A$(15,1)=CHR$ USR 16514
Will add two screens...
Just BREAK the program, type LET V=V+1 and GOTO150 to jump the LET A$(x,1)=128 flag.
32x22 is better…
(Add POKE 16442,4 to print on the line #22 and #23, each time you want to use them, a CLS clear this value ! )
DIM A$(20,4)
LET A$(5,1)=128
LET A$(9,1)=128
LET A$(14,1)=128
LET A$(20,1)=128
first level:
LET A$(1,1)=CHR$ USR 16514
Will display the 1 to 4 values
LET A$(6,1)=CHR$ USR 16514
Will display the 6 to 8 values
(…)
LET A$(15,1)=CHR$ USR 16514
Will display the values between 15 to 20.
LET A$(1,1)=CHR$ USR 16514
LET A$(15,1)=CHR$ USR 16514
Will add two screens...
Just BREAK the program, type LET V=V+1 and GOTO150 to jump the LET A$(x,1)=128 flag.
Just forget it !15 PRINT "THEN SELECT A MODE"
16 PRINT "MODE 1 ALLOWS FOR 320X200"
17 PRINT "MODE 2 ALLOWS FOR 160X100"
32x22 is better…
(Add POKE 16442,4 to print on the line #22 and #23, each time you want to use them, a CLS clear this value ! )
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: A tool to help with dungeon creation for the ZX81:Dungeon Designer
Damn my short memory, i'd never be able to remember all the commands needed for this nor their use. that extends to asm
In Heck, there are two options for perpetual torment:
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices
Eat the Puckerberry and suffer for eternity:
drink nothing but a cocktail of The Last Dab and Mexican Cake blended and served with
habanero slices