Code:

`100 REM ARCHIMEDES SPIRAL110 REM 120 REM ANALOG MAGAZINE130 REM 135 DIM R(256)136 FOR I=0 TO 255137 LET R(I+1)=192138 NEXT I140 LET HRG=32736145 PRINT USR HRG,ON146 PRINT USR HRG,CLR150 LET XF=3*PI/288155 LET XX=256/320160 FOR Z=64 TO -64 STEP -1170 LET ZT=Z*2.25175 LET ZS=ZT*ZT180 LET XL=INT (SQR (20736-ZS)+0.5)190 FOR X=0 TO XL200 LET XT=SQR (X*X+ZS)*XF210 LET YY=(SIN (XT)+SIN (XT*3)*0.4)*56220 LET X1=(X+Z)*XX+128225 LET Y1=INT (90-YY+Z)230 IF Y1>=R(X1) THEN GOTO 235231 LET R(X1)=Y1232 PRINT USR HRG,PIX,X1,191-Y1235 LET X1=(-X+Z)*XX+128240 IF Y1>=R(X1) THEN GOTO 250245 LET R(X1)=Y1248 PRINT USR HRG,PIX,X1,191-Y1250 IF INKEY$="F" THEN FAST260 IF INKEY$="D" THEN GOSUB 300270 NEXT X280 NEXT Z282 GOSUB 300285 IF INKEY$="I" THEN PRINT USR HRG,INVERT290 IF INKEY$="Z" THEN PRINT USR HRG,HCOPY295 GOTO 285300 SLOW310 PRINT USR HRG,ON320 RETURN`

Statistics: Posted by kmurta — Sun Jun 23, 2024 5:35 pm

]]>

Code:

`10 LET HRG=3273620 PRINT USR HRG,CLR30 PRINT USR HRG,ON40 FOR Z=0 TO 10 STEP .250 FOR X=0 TO 10 STEP .260 LET Y=-10*COS (3*SQR ((X-5)*(X-5)+(Z-5)*(Z-5)))/2+5070 PRINT USR HRG,PIX,X*20+20+Z*3,Y+Z*1080 IF INKEY$="F" THEN FAST90 IF INKEY$="D" THEN GOSUB 200100 NEXT X110 NEXT Z120 GOSUB 200130 IF INKEY$="I" THEN PRINT USR HRG,INVERT140 IF INKEY$="Z" THEN PRINT USR HRG,HCOPY150 GOTO 130200 SLOW210 PRINT USR HRG,ON220 RETURN`

To get the next graph, make the following changes:

Lines 40 and 50: change .2 to .1

Line 60: change +50 to +10

Line 70: change +20 to +10 and Z*10 to Z*15

And finally,

Code:

`1 REM ***********************2 REM * GRAFICO SOMBRERO 3D *3 REM ***********************5 LET HRG=327368 LET LIM=12810 DIM M(256)15 LET A=COS (PI/4)17 PRINT USR HRG,CLR18 PRINT USR HRG,ON20 FOR Y=1 TO LIM STEP 525 LET E=A*Y30 FOR X=1 TO LIM41 LET X0=-16.0*((LIM-X)/LIM)+842 LET Y0=-16.0*((LIM-Y)/LIM)+845 LET R=SQR ((X0*X0)+(Y0*Y0))46 LET Z=80*SIN (R)/R50 LET X1=X+E60 LET Y1=Z+E70 IF Y1<M(X1+1) THEN GOTO 8075 LET M(X1+1)=Y178 PRINT USR HRG,PIX,X1,Y180 IF INKEY$="F" THEN FAST82 IF INKEY$="D" THEN GOSUB 20085 NEXT X90 NEXT Y95 GOSUB 200100 IF INKEY$="I" THEN PRINT USR HRG,INVERT110 IF INKEY$="Z" THEN PRINT USR HRG,HCOPY120 GOTO 100200 SLOW210 PRINT USR HRG,ON220 RETURN`

Statistics: Posted by kmurta — Sun Jun 23, 2024 5:29 pm

]]>

First you must load the HRG-16k.p (or HRG-64k.p) which will auto-allocate itself above RAMTOP where it will be protected from NEW and/or LOAD. Then LOAD (or type) the programs below and type RUN. During execution, the processing can be switched between FAST or SLOW with the "F" and "D" keys, respectively. Once the graph is finished, the "I" key inverts the screen and the "Z" key prints the graph on the ZX Printer.

Code:

`1 REM ***********************3 REM * 3D GRAPHIC *5 REM * MICROHOBBY MAGAZINE *7 REM * NR.2 - JUN/1983 *9 REM ***********************10 LET HRG=3273620 PRINT USR HRG,CLR30 PRINT USR HRG,ON40 FOR B=0 TO 12750 LET X4=B*B60 LET M=-9670 LET A=SQR (16384-X4)80 FOR I=-A TO A STEP 1090 LET R=SQR (X4+I*I)/128100 LET F=COS (9*R)*(1-R)*2110 LET Y=I/5+F*32120 IF Y<=M THEN GOTO 180130 LET M=Y140 LET Y=96+Y150 LET X=128+B160 PRINT USR HRG,PIX,X,Y170 LET X=128-B175 PRINT USR HRG,PIX,X,Y180 IF INKEY$="F" THEN FAST190 IF INKEY$="D" THEN GOSUB 300200 NEXT I210 NEXT B220 GOSUB 300230 IF INKEY$="I" THEN PRINT USR HRG,INVERT240 IF INKEY$="Z" THEN PRINT USR HRG,HCOPY250 GOTO 230300 SLOW310 PRINT USR HRG,ON320 RETURN`

To generate the graphic below, change lines 100 and 120 to:

Code:

`100 FOR I=-A TO A STEP 2120 LET F=COS (16*R)*(1-R)*2`

Statistics: Posted by kmurta — Sun Jun 23, 2024 5:20 pm

]]>

Statistics: Posted by dr beep — Sun Jun 23, 2024 5:02 pm

]]>

I can't see how I overwrite the first 118, as line 110 pokes M+A. M is 16509 (which is the first byte), but A is 1, so the poke will go to 16510.You must not POKE over the first linefeed of the DFILE or start with a linefeed if you do.

Statistics: Posted by dr beep — Sun Jun 23, 2024 4:49 pm

]]>

This however needs some other setup.

The first line (before the first linefeed on dfile) needs some set up.

Code:

`; the display file, Code the lines needed.dfilejplowset; back to LOWMEM to set registerslowsetldb,192ldd,c; set D to 1 to make each line a new characterjphidisp+#8000; and back to highdisplayhidisphalt`

Then we set the number of individual lines in the B-register. Here we will have 192 lines of this new displaymethod.

The screen is therefore in size equivalent to pseudohires.

Then we need a register with the value of 1. C holds the value of 1 here so we can copy C in D.

Next we do the normal display again.

NOTE: this will NOT work with 32K RAM

Now when an intrupts occur DEC C will become 0 and the next line is loaded in HL with the POP HL in the ROM.

Then C is set to 8 for 8 lines of display, but then the next part kicks in

Code:

`ldc,d; undo setting of C to 8db8; your character(s)haltldc,ddb136haltldc,ddb8haltldc,ddb136haltldc,ddb8haltldc,ddb136haltldc,ddb8haltldc,ddb136halt; fill full screen or end with these 2 bytesldc,djp(hl); the trick to fill the screen without extra lines needed`

Repeat this on every line and your character can alter 8 times during display

Statistics: Posted by dr beep — Sun Jun 23, 2024 4:45 pm

]]>

And I can make a port of MUSHROOMMAN too.

Statistics: Posted by mrtinb — Sun Jun 23, 2024 4:39 pm

]]>

You must not POKE over the first linefeed of the DFILE or start with a linefeed if you do.

I can't see how I overwrite the first 118, as line 110 pokes M+A. M is 16509 (which is the first byte), but A is 1, so the poke will go to 16510.Statistics: Posted by mrtinb — Sun Jun 23, 2024 4:38 pm

]]>

Now we have found, that the Lambda 8300 displays the same characters as the ZX81, if an extra regular text line is below.

Can you then port the QuarGen software to Lambda 8300, or maybe release the source? EightyOne and JSZeddy will help you test the software, as they currently is the most accurate emulation we have.

I will give you the source. Can you then port the QuarGen software to Lambda 8300, or maybe release the source? EightyOne and JSZeddy will help you test the software, as they currently is the most accurate emulation we have.

And I can make a port of MUSHROOMMAN too.

Statistics: Posted by dr beep — Sun Jun 23, 2024 4:35 pm

]]>

I have altered the QUARACTER-generator

Controls are still QAOP and SPACE but you see the ascii-value of the character

and you can directly change the character in ANY other value simply by pressing that key.

When you need QAOP or SPACE you press a close key and use LEFT/RIGHT to make the right value.

Quagen-1.p

Now we have found, that the Lambda 8300 displays the same characters as the ZX81, if an extra regular text line is below.Controls are still QAOP and SPACE but you see the ascii-value of the character

and you can directly change the character in ANY other value simply by pressing that key.

When you need QAOP or SPACE you press a close key and use LEFT/RIGHT to make the right value.

Quagen-1.p

Can you then port the QuarGen software to Lambda 8300, or maybe release the source? EightyOne and JSZeddy will help you test the software, as they currently is the most accurate emulation we have.

Statistics: Posted by mrtinb — Sun Jun 23, 2024 4:33 pm

]]>