Welcome, Guest |
You have to register before you can post on our site.
|
Online Users |
There are currently 115 online users. » 0 Member(s) | 114 Guest(s) Google
|
Latest Threads |
Installation in C64 Reloa...
Forum: General
Last Post: Comos
2024-01-16, 10:44 PM
» Replies: 2
» Views: 3,361
|
BRA instruction
Forum: Programming
Last Post: laubzega
2022-07-02, 06:12 PM
» Replies: 1
» Views: 5,075
|
Beamracer power requireme...
Forum: General
Last Post: laubzega
2022-01-08, 02:45 AM
» Replies: 3
» Views: 8,545
|
General-purpose computing...
Forum: New Releases
Last Post: laubzega
2021-09-13, 08:07 AM
» Replies: 7
» Views: 13,060
|
GEOS
Forum: New Releases
Last Post: ytm
2021-09-04, 07:02 PM
» Replies: 7
» Views: 13,017
|
DL1 and DL2 - documentati...
Forum: Programming
Last Post: silverdr
2021-06-05, 05:13 PM
» Replies: 1
» Views: 5,678
|
Integrated Lumafix Pro
Forum: General
Last Post: silverdr
2021-05-14, 04:57 PM
» Replies: 3
» Views: 9,852
|
Kernal64 1.7.0 b15
Forum: Emulation
Last Post: silverdr
2021-04-20, 08:58 AM
» Replies: 2
» Views: 7,751
|
VIC-2 FPGA Replacement - ...
Forum: General
Last Post: laubzega
2021-02-18, 07:01 AM
» Replies: 2
» Views: 8,639
|
C128 Compatible?
Forum: General
Last Post: laubzega
2021-01-08, 09:51 PM
» Replies: 1
» Views: 6,699
|
|
|
Installation on a C64C (but not only) |
Posted by: shazz - 2020-10-11, 01:47 PM - Forum: General
- Replies (4)
|
|
Hi guys,
So as I received the Beamracer (nice packaging!), I wanted to install it on my PAL C64C.
I followed the instructions (for the narrow boards, mine is a 250469 rev A), I was able to bend the C36 capacitor (enough I guess, else I'll re-solder it).
But I'm totally unable to set the beamracer in the socket, each time it pops up like it was on springs.
To test I also tried on the riser socket, the socket fits perfectly well on the VIC socket but same result, the BeamRacer pops up even when "well" inserted (meaning as much as it can).
I guess this is due to the pin shapes.
Any advice? I'd like to avoid breaking anything.
Thanks!
|
|
|
New chapters in the documentation |
Posted by: laubzega - 2020-10-07, 07:06 AM - Forum: News & Announcements
- Replies (1)
|
|
Hello,
Just a quick heads-up - over the last few days two new chapters were added to the documentation - on the subject of VASYL interrupts, on coordinating activities between VASYL and 6510, and finally about caveats waiting for BeamRacer programmers (which also includes details of the board's low-level operation, for those interested).
More documentation is coming still this week.
|
|
|
VASYL & access to system bus |
Posted by: abbruzze - 2020-09-30, 09:03 AM - Forum: General
- Replies (9)
|
|
Hi,
I would like to understand how VAYSL behaves when accessing the system bus (for example when it executes a MOV towards a VIC register) and how it can "halt" the CPU as mentioned in the FAQ.
Another point: according to the Instruction's doc., MOV will be delayed in case VIC is fetching data (e.g. badline or sprite). Is it the same for XFER (in the documentation is not mentioned)?
Thanks.
|
|
|
PBS S_UPDATE register |
Posted by: abbruzze - 2020-09-28, 01:33 PM - Forum: Programming
- Replies (1)
|
|
Hi all,
I'm refining the Kernal64's emulation of BeamRacer and I would like to have more details about the S_UPDATE register of PBS.
I read the Programmable Bitmap Sequencer manual but I didn't see any reference to this register.
Soon I will publish some snapshots taken from the emulator (already shared with silverdr that I want to thank for his precious support).
Thanks.
|
|
|
Understanding the examples: demo_seq |
Posted by: shazz - 2020-09-25, 10:10 PM - Forum: Programming
- Replies (5)
|
|
Hi!
I did not received my beamracer yet but this is a good time to train myself!
So I started to look in details at the demo_seq example which looks simple.. only displaying an imagine using Display List and the sequenc
But only looks simple
A few questions,
1. S_BASE
From the docs, S_BASE is the memory location where to fetch bitmap data from.
So, it should point to the start of the logo data right ?
But in the code I see:
MOV VREG_PBS_BASEL, <(mhl_logo - dl_start)
MOV VREG_PBS_BASEH, >(mhl_logo - dl_start)
Why dl_start address should be subtracted to the logo address ?
2. S_PADDING
From the docs, S_PADDING contains a 16bits value added to the bitmap sequencer's internal memory pointer at the end of every line.
What does it mean? At each rasterline, the sequencer skip n bytes. Is 1 byte representing a 8 pixels block ? Starting from the border ?
In the code it says:
; - when end-of-line reached, continue to the next byte (no padding),
MOV VREG_PBS_PADDINGL, 0
MOV VREG_PBS_PADDINGH, 0
Continue to the next byte, which byte ? In the logo data ? is it to create a window in the logo's data?
3. S_STEP
From the docs, S_STEP contains a 16bits value added to the bitmap sequencer's internal memory pointer after every fetch.
In the code, I understand it increments the pointer of 1 byte, so I guess it means logo's data will be written sequentially except if the step is different than 1 ? Right ?
; - fetch bytes from successive memory addresses,
MOV VREG_PBS_STEPL, 1
MOV VREG_PBS_STEPH, 0
So, same guess? Is it to write the logo's data in a non contiguous manner (as I guess the step is not used while reading the logo's data, only for writing)
4. PBS_CONTROL
I guess this register trigger the sequencer but I did not find in the docs how it works. Where can I find the role of each bit?
In the code:
; - apart from turning on the sequencer, we also request mirroring,
; because the logo is in .xbm format, which for some reason stores pixels
; in a byte using right-to-left order,
MOV VREG_PBS_CONTROL, 1 << PBS_CONTROL_ACTIVE_BIT | PBS_CONTROL_SWIZZLE_MIRROR
In only found the values but not the meaning (I can guess some but)
PBS_CONTROL_ACTIVE_BIT = 3
PBS_CONTROL_RAMBANK_BIT = 0 ; bits 0-2
PBS_CONTROL_RAMBANK_MASK = (%111 << PBS_CONTROL_RAMBANK_BIT)
PBS_CONTROL_UPDATE_BIT = 4 ; bits 4-5
PBS_CONTROL_UPDATE_MASK = (%11 << PBS_CONTROL_UPDATE_BIT)
PBS_CONTROL_UPDATE_NONE = (%00 << PBS_CONTROL_UPDATE_BIT)
PBS_CONTROL_UPDATE_EOL = (%01 << PBS_CONTROL_UPDATE_BIT)
PBS_CONTROL_UPDATE_ALWAYS = (%10 << PBS_CONTROL_UPDATE_BIT)
PBS_CONTROL_SWIZZLE_BIT = 6 ; bits 6-7
PBS_CONTROL_SWIZZLE_MASK = (%11 << PBS_CONTROL_SWIZZLE_BIT)
PBS_CONTROL_SWIZZLE_NONE = (%00 << PBS_CONTROL_SWIZZLE_BIT)
PBS_CONTROL_SWIZZLE_MIRROR = (%01 << PBS_CONTROL_SWIZZLE_BIT)
PBS_CONTROL_SWIZZLE_MULTIMIRROR = (%10 << PBS_CONTROL_SWIZZLE_BIT)
Sorry for the dumb questions...
|
|
|
|