Search found 360 matches
- 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...
- 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...
- 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...
- 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
The only thing is that the array is also used when determining VIC's best move. But maybe that is solvable.
Regards,
Wim
- 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...
- 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...
- 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...
- 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 ...
- Tue May 28, 2024 7:45 am
- Forum: Programming
- Topic: Using interrupts in cartridge code
- Replies: 5
- Views: 3523
- 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
- 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...
- 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...
- 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...
- 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
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
- 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 ...