Search found 360 matches

by wimoos
Fri Jan 10, 2025 6:52 am
Forum: Games
Topic: CASCADE (1982)
Replies: 9
Views: 3622

Re: CASCADE (1982)

Hi orac81, I was well underway for the 10 lines competition, but I got stuck at 23 lines. Supporting longer lines might help, but every IF/THEN/ELSE asks for another line number or 2 and there is at least 10 of those, so it would probable never qualify. And I think if I would brew it back to CBM Bas...
by wimoos
Tue Dec 17, 2024 3:00 am
Forum: Games
Topic: CASCADE (1982)
Replies: 9
Views: 3622

Re: CASCADE (1982)

Hi orac81, I must say that applying the last optimizations (keeping track of the highest and the lowest balls in the field, combined with scraping from bottom to top), result in a quick gameplay. At least in WimBasic. The benefits of MIN/MAX, WHILE/WEND/QUIT, ERASE, SPACE, PRINT@, COKE/CEEK, INSTR a...
by wimoos
Wed Dec 04, 2024 9:56 am
Forum: Games
Topic: CASCADE (1982)
Replies: 9
Views: 3622

Re: CASCADE (1982)

HI orac81, I brought it down to 23 lines so far, 1224 bytes. I removed the sort routine but kept the array. I refill the array, by scraping the screen, bottom to top (see lines 9 and 10). That sorts automatically, as per your suggestion. I optimized the scraping by keeping track of the highest and t...
by wimoos
Tue Dec 03, 2024 6:55 am
Forum: Games
Topic: CASCADE (1982)
Replies: 9
Views: 3622

Re: CASCADE (1982)

Now there is a good idea! Had not thought about it yet, but I'll try to make that work.
The only thing is that the array is also used when determining VIC's best move. But maybe that is solvable.

Regards,

Wim
by wimoos
Mon Dec 02, 2024 5:47 am
Forum: Games
Topic: CASCADE (1982)
Replies: 9
Views: 3622

Re: CASCADE (1982)

I have converted this to a WimBasic version. The original version must be pushing 200 lines; in WimBasic I brought it down to 45 lines, and less than 1.5k of Basic tokenized text. During the process I discovered and fixed one or two buglets. WimBasic features that were used here: COKE/CEEK, INSTR, S...
by wimoos
Fri Nov 08, 2024 12:14 pm
Forum: Games
Topic: CONNEX (1982) (With source)
Replies: 11
Views: 4853

Re: CONNEX (1982) (With source)

WimBasic is not a compiler, but a BASIC extension to the interpreter. It sits in BLK5, and adds dozens of new commands and features to a stock VIC20 or a VIC20 with regular RAM upgrades. In the CONNEX game, the core algorithm routine looks like this in WimBasic. 1 DIME(1,9):FOR C=. TO 1:FOR X=. TO 9...
by wimoos
Thu Nov 07, 2024 8:22 am
Forum: Games
Topic: CONNEX (1982) (With source)
Replies: 11
Views: 4853

Re: CONNEX (1982) (With source)

One interesting find that I did is that the arrays X() and Y() are not necessary. After reading in from DATA, array X() holds { 0,1,1,1 } and array Y() holds { 1,1,0,-1 }. Referring to these elements (Q = X(D) and R = Y(D)) is the same as Q=SGN(D) and R=SGN(2-D), respectively. Thus, DIM X(3) and Y(3...
by wimoos
Tue Nov 05, 2024 4:15 am
Forum: Games
Topic: CONNEX (1982) (With source)
Replies: 11
Views: 4853

Re: CONNEX (1982) (With source)

Thank you for this ! I remember trying to get something like this going, back in the 80s. Astonishing to see that the Austro version improves the response time here from 12 down to 3 seconds on a move. I went to build a WimBasic version of this game and managed to improve it from 12 to 7 seconds on ...
by wimoos
Tue May 28, 2024 7:45 am
Forum: Programming
Topic: Using interrupts in cartridge code
Replies: 5
Views: 3523

Re: Using interrupts in cartridge code

wimoos wrote: Tue May 28, 2024 7:21 am
For best results, jump to $EABF at the end. No further prerequisites necessary
...apart from what Mike says :D
(assumption is the mother of ...)
by wimoos
Tue May 28, 2024 7:21 am
Forum: Programming
Topic: Using interrupts in cartridge code
Replies: 5
Views: 3523

Re: Using interrupts in cartridge code

This is what is done in WimBasic: Mainline code (in BLK5) LDA #LA1B5 & $FF LDY #LA1B5 >> 8 SEI STA $0314 STY $0315 CLI Interrupt service routine (in BLK5) LA1B5 ... ... ... JMP $EABF For best results, jump to $EABF at the end. No further prerequisites necessary
by wimoos
Wed May 01, 2024 12:39 am
Forum: Hardware and Tech
Topic: How does VIC-20 detect ROM cartridge address?
Replies: 5
Views: 3026

Re: How does VIC-20 detect ROM cartridge address?

; .ORG $A000 .WORD <cold start vector> .WORD $FEC7 ; default NMI vector .BYTE 'A','0',$C3,$C2,$CD ; "A0CBM" signature The kernel checks for the given byte sequence at $A004 and, when found, takes the contents of $A000 <low byte> and $A001 <high byte> as the address where processing contin...
by wimoos
Mon Apr 29, 2024 4:57 am
Forum: Programming
Topic: 3D Stars
Replies: 15
Views: 8468

Re: 3D Stars

Did some more rearrangement here. Curious to know if it still works, and if there is some speed improvement. 1 poke36879,8:poke646,1:@on:@clr:dimx(32),y(32):xc=79:yc=95:n=22:v=1/8:d=3 2 xm=159:ym=191:rx=120:ry=150:zw=20:fz=15:fori=1ton:gosub7:x(i)=xa:y(i)=ya:next 3 fori=1ton:xa=x(i):ya=y(i):@0,xa,ya...
by wimoos
Fri Apr 26, 2024 3:11 am
Forum: Programming
Topic: 3D Stars
Replies: 15
Views: 8468

Re: 3D Stars

compacted and renumbered removed spaces removed Z=0 and replaced by . inline replaced D=3 by D=3/8 and removed ABS(V) replace X(I) by XA and Y(I) by YA in appropriate places (prevents array element lookups) remove X2 and Y2 calculations can't test it, unfortunately. after testing this, you could rep...
by wimoos
Tue Apr 23, 2024 1:09 am
Forum: Other Systems
Topic: End of the Z80
Replies: 3
Views: 4942

Re: End of the Z80

Hi,

I have a TI-83 Plus, never figured it also has a Z80 aboard. There are instructions and tools (through WikiPedia) on programming assembly on this machine. Have to look into that sometime.

Regards
by wimoos
Wed Apr 17, 2024 1:41 am
Forum: Emulation and Cross Development
Topic: ASM502 - a new 6502 assembler.. (WIP)
Replies: 22
Views: 15022

Re: ASM502 - a new 6502 assembler.. (WIP)

Hello orac81, If I can make a suggestion for a "new" assembler: why not one that optimizes automatically ? During assembly, keep a hold of the state of the machine and comment on instructions that do not affect that state. For example: if it can be known that the carry is set, then do not ...