Search found 1998 matches

by Rich Talbot-Watkins
Tue Mar 05, 2024 9:50 am
Forum: programming
Topic: Code extract from Lancelot loader file
Replies: 3
Views: 150

Re: Code extract from Lancelot loader file

Edit: Ah, does &DC2 contain the ROM bank number of the current file system? That might make sense with some of the later code where it is attempting to write to every ROM bank except the for the bank number stored in &93. I think this is where the code is trying to establish which banks con...
by Rich Talbot-Watkins
Mon Mar 04, 2024 5:12 pm
Forum: programming
Topic: Code extract from Lancelot loader file
Replies: 3
Views: 150

Re: Code extract from Lancelot loader file

It's resetting all the vectors back to their OS default handlers. &FFB6 contains the size of the default vector table, and &FFB7/&FFB8 contains a pointer to the table in the OS. Normally I've seen this in the context of a protection system trying to ensure that you haven't installed a ba...
by Rich Talbot-Watkins
Fri Feb 23, 2024 11:11 am
Forum: development tools
Topic: Porting BASIC2 to a homebrew system
Replies: 102
Views: 2455

Re: Porting BASIC2 to a homebrew system

Hmm. Looks like I am processing Esc twice - once to stop the program and also sending it on the command line. I wonder how I'll distinguish between those 2 cases.. What happens if you press and hold Escape? Do you get repeated Escape conditions processed by BASIC? This is just a roundabout way of p...
by Rich Talbot-Watkins
Wed Feb 07, 2024 8:57 am
Forum: development tools
Topic: Porting BASIC2 to a homebrew system
Replies: 102
Views: 2455

Re: Building BASIC4 source

hoglet's BASIC4r32 source that Tom linked (here) can be assembled on Windows with BeebAsm, which you can find here!
by Rich Talbot-Watkins
Fri Jan 19, 2024 9:30 am
Forum: 8-bit acorn emulators
Topic: BBC Master Welcome disk
Replies: 16
Views: 467

Re: BBC Master Welcome disk

I used to use it for designing game sprites back then. With a BASIC program to generate the raw sprite data by plotting sprites to the screen (PLOT &ED,0,1023-height*4) and reading the bytes out.
by Rich Talbot-Watkins
Fri Jan 19, 2024 9:29 am
Forum: 8-bit acorn emulators
Topic: BBC Master Welcome disk
Replies: 16
Views: 467

Re: BBC Master Welcome disk

Yep! It uses the rest of itself when softloaded in Sideways RAM as sprite storage space, instead of claiming private workspace. Which means it's not ROMable. But the code is more or less the same as the GXR sprite code.
by Rich Talbot-Watkins
Wed Jan 17, 2024 11:14 am
Forum: 8-bit acorn software: classic games
Topic: Elite over Econet (BBC Master, 6502SP, BBC Micro with SRAM)
Replies: 93
Views: 7502

Re: Elite over Econet (BBC Master, 6502SP) - testers wanted!

Ha, for a moment I thought you'd implemented this for reals!
AcornAbuser-AU-April85.png
by Rich Talbot-Watkins
Tue Jan 16, 2024 12:35 pm
Forum: 8-bit acorn emulators
Topic: BBC Master Welcome disk
Replies: 16
Views: 467

Re: BBC Master Welcome disk

Here's the 80 track version of the Master 128 Welcome Disk that I remember and love. The 80 track version has some extras on it, like the Acorn Sprite ROM (in the LIBRARY directory).
by Rich Talbot-Watkins
Sun Dec 31, 2023 2:15 pm
Forum: programming
Topic: VCCC2023: Christmas Challenge
Replies: 114
Views: 75596

Re: VCCC2023: Christmas Challenge

hoglet wrote: Sun Dec 31, 2023 12:23 pm

Code: Select all

    1CLS:REPEATVDU9EORABS(VPOS^2-POS^2)MOD6=3ANDPOS<19AND35:UNTILVPOS>18
Just noticed that this one works in fundamentally the same way as mine, using a*a-b*b mod 6 as the condition for drawing a star vs a space. Bravo!
by Rich Talbot-Watkins
Sun Dec 31, 2023 10:54 am
Forum: programming
Topic: VCCC2023: Christmas Challenge
Replies: 114
Views: 75596

Re: VCCC2023: Christmas Challenge

Did you enter those rtw? I didn't spot them in the video...I thought I'd got the third smallest BASIC program but evidently not. No, I didn't bother! Just thought I'd keep it here on Stardot where it matters :wink: Just shrunk mine down to 47 bytes using that great EOR/AND trick to avoid needing ex...
by Rich Talbot-Watkins
Sat Dec 30, 2023 6:46 pm
Forum: programming
Topic: VCCC2023: Christmas Challenge
Replies: 114
Views: 75596

Re: VCCC2023: Christmas Challenge

I did it in one line of BASIC:

Owlet link (50 bytes)

and later realised I could save another byte by splitting it over two lines and making it a bit more ugly:

Owlet link (49 bytes)

I could probably explain the incremental process that led to that solution in case anyone were interested!
by Rich Talbot-Watkins
Sat Dec 09, 2023 10:49 pm
Forum: programming
Topic: VCCC2023: Christmas Challenge
Replies: 114
Views: 75596

Re: VCCC2023: Christmas Challenge

Last year I managed to find an absurd way to plot the Christmas tree star using discrete cosine transform. Can't think of an equally absurd way to do this one so I'll probably stop now with the boring solution that I've got.
by Rich Talbot-Watkins
Thu Dec 07, 2023 12:23 pm
Forum: programming
Topic: masked sprites
Replies: 9
Views: 1644

Re: masked sprites

Yeah quite right. I'm so used to writing for 8bpp modes. So only the second approach works for Mode 9.

I'm quite rusty on Archimedes coding as you can tell!
by Rich Talbot-Watkins
Thu Dec 07, 2023 10:41 am
Forum: programming
Topic: masked sprites
Replies: 9
Views: 1644

Re: masked sprites

Hey Robin, yeah shifts by register are slower, so you'd ideally want 4 different routines in Mode 13, or 4 shifted versions of the sprite.

Yep I think my register allocation is a bit off in those examples, but hopefully it's a good start!
by Rich Talbot-Watkins
Wed Dec 06, 2023 4:40 pm
Forum: programming
Topic: masked sprites
Replies: 9
Views: 1644

Re: masked sprites

On the Beeb, since it works byte-at-a-time, the "0 as mask" thing is easily done with a 256 byte lookup table which yields an appropriate mask byte for each value - but that approach wouldn't work on the ARM so you'd have to do it without a table which is probably much slower. One approach...
by Rich Talbot-Watkins
Mon Dec 04, 2023 4:45 pm
Forum: 32-bit acorn software: classic games
Topic: Decent PD, Freeware, Shareware Games?
Replies: 7
Views: 1870

Re: Decent PD, Freeware, Shareware Games?

wmd wrote: Mon Dec 04, 2023 4:40 pm Oh, I didn't realise Tom Cooper's stuff was PD / shareware. I think I have everything of his.
All of his PD games, I should've said! The later stuff (e.g. Hamsters, Darkwood) were all commercial.
by Rich Talbot-Watkins
Mon Dec 04, 2023 4:35 pm
Forum: 32-bit acorn software: classic games
Topic: Decent PD, Freeware, Shareware Games?
Replies: 7
Views: 1870

Re: Decent PD, Freeware, Shareware Games?

Also, all of Tom Cooper's games seem to be missing from that list. Can't remember anything other than Son of Gyrinus right now, but fairly sure there were more!
by Rich Talbot-Watkins
Mon Dec 04, 2023 4:30 pm
Forum: 32-bit acorn software: classic games
Topic: Decent PD, Freeware, Shareware Games?
Replies: 7
Views: 1870

Re: Decent PD, Freeware, Shareware Games?

I think Chuckie Egg and Daredevil Denis were Archimedes ports from the BBC versions by Michael Foot. They were essentially the original 6502 code "compiled" into C, with an extra layer of metadata on the graphics data to provide higher bit depth graphics. That'd be why the main character s...
by Rich Talbot-Watkins
Fri Dec 01, 2023 10:08 pm
Forum: programming
Topic: Emulator quick question
Replies: 8
Views: 1697

Re: Emulator quick question

Oh no - It's looking like I dreamt this feature up, or maybe it was for a different system? Any emulator coders out there --- this would be a useful feature, please! I feel like jsbeeb used to work like this (even showed the current raster position) but then something about the rendering code chang...
by Rich Talbot-Watkins
Thu Nov 30, 2023 6:06 pm
Forum: 8-bit acorn emulators
Topic: B-Em
Replies: 818
Views: 1273949

Re: B-Em

It does seem to be b-em. In main.c there is this table: const emu_speed_t emu_speeds[NUM_EMU_SPEEDS] = { { "10%", 1.0 / (50.0 * 0.10), 1 }, { "25%", 1.0 / (50.0 * 0.25), 1 }, { "50%", 1.0 / (50.0 * 0.50), 1 }, { "75%", 1.0 / (50.0 * 0.75), 1 }, { "100%&q...
by Rich Talbot-Watkins
Wed Nov 22, 2023 4:17 pm
Forum: programming
Topic: ARM instruction timings
Replies: 16
Views: 2600

Re: ARM instruction timings

Maybe try something like:

Code: Select all

DIM code% 50000*8+16
P%=code%
[OPT 2
MOV R0,#32
.loop
]
FOR c%=1 TO 50000
[OPT 2
MOV R3,#160
MUL R1,R3,R1
]
NEXT
[OPT 2
SUBS R0,R0,#1
BNE loop
MOV PC,R14
]
:
TIME=0:CALL code%:PRINT TIME
for a bit more precision!
by Rich Talbot-Watkins
Wed Nov 22, 2023 4:16 pm
Forum: programming
Topic: ARM instruction timings
Replies: 16
Views: 2600

Re: ARM instruction timings

Basically MUL can take up to 17 cycles to execute, depending on how big the second operand is. It keeps shifting out the bottom two bits each cycle until it's zero. So, in your case, when that operand is 160, I would expect it to take five cycles to execute: 1 to fetch the opcode, and 4 to perform t...
by Rich Talbot-Watkins
Wed Nov 22, 2023 4:11 pm
Forum: programming
Topic: ARM instruction timings
Replies: 16
Views: 2600

Re: ARM instruction timings

Ugh yeah. Thanks! (going to correct that snippet)

So used to setting P% inside a loop.
by Rich Talbot-Watkins
Wed Nov 22, 2023 4:03 pm
Forum: programming
Topic: ARM instruction timings
Replies: 16
Views: 2600

Re: ARM instruction timings

If you're just CALLing that 50,000 times, I imagine that's not a fair test as the majority of the time you measure will just be the overhead of the CALL. A fairer test would be to literally assemble that snippet 50,000 times and call it once, i.e. DIM code% 50000*8+4 P%=code% FOR c%=1 TO 50000 [OPT ...
by Rich Talbot-Watkins
Tue Nov 14, 2023 8:44 pm
Forum: programming
Topic: A question on 6502 branching
Replies: 22
Views: 2994

Re: A question on 6502 branching

Sounds a bit complicated to me! I just remember it as:

- consider the operand to be a signed 8 bit value (0...127, -128...-1)
- the branch destination is the address of the instruction which follows the branch, plus the signed offset.
by Rich Talbot-Watkins
Tue Nov 14, 2023 6:03 pm
Forum: 8-bit acorn software: classic games
Topic: Nec Pluribus Impar
Replies: 6
Views: 1413

Re: Nec Pluribus Impar

I wonder if it was going to employ the same diagonal scrolling tech as used in Fortress? Someone out there must be in contact with Matt as he was featured not so long ago in the World In Pixels book.
by Rich Talbot-Watkins
Sat Nov 04, 2023 6:46 pm
Forum: 8-bit acorn emulators
Topic: B2 won't build on Mac
Replies: 3
Views: 1059

Re: B2 won't build on Mac

Seems more that the problem is that C99 needs to be enabled. I assume this is a third-party library.
by Rich Talbot-Watkins
Sat Nov 04, 2023 12:56 am
Forum: development tools
Topic: BeebASM assigning variables in macros
Replies: 16
Views: 2296

Re: BeebASM assigning variables in macros

Instead of adding new keywords for this, I'd just try to make ASM work with assigning variables too. Seems like the simplest and most obvious solution to me. The original problem of assigning variables inside a macro which needs to be hoisted out of the macro instance's scope still wouldn't be solve...
by Rich Talbot-Watkins
Wed Nov 01, 2023 10:29 am
Forum: general
Topic: Fonts on Acornsoft Languages Books
Replies: 4
Views: 993

Re: Fonts on Acornsoft Languages Books

The C and the G are also unusually closed. It's quite a clear pleasing font though - I'd use it as my coding font if there were a digital fixed-width version.
by Rich Talbot-Watkins
Tue Oct 31, 2023 1:12 pm
Forum: 8-bit acorn software: other
Topic: Full list of Master MOS versions
Replies: 26
Views: 1869

Re: Full list of Master MOS versions

Ah yeah, that makes sense. Not that I ever thought to abbreviate *ADFS in my life!

Go to advanced search