Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 27
» Latest member: shazz
» Forum threads: 10
» Forum posts: 26

Full Statistics

Online Users
There are currently 11 online users.
» 0 Member(s) | 11 Guest(s)

Latest Threads
Understanding the example...
Forum: Programming
Last Post: shazz
8 hours ago
» Replies: 4
» Views: 72
Who would have thought ...
Forum: News & Announcements
Last Post: shazz
09-24-2020, 11:19 PM
» Replies: 2
» Views: 91
Thanks
Forum: General
Last Post: laubzega
09-22-2020, 07:14 AM
» Replies: 1
» Views: 48
Source code repositories
Forum: News & Announcements
Last Post: laubzega
09-16-2020, 06:38 AM
» Replies: 1
» Views: 162
VASYL emulation in Kernal...
Forum: Emulation
Last Post: silverdr
09-15-2020, 07:53 AM
» Replies: 0
» Views: 97
Accompanying software
Forum: General
Last Post: laubzega
09-15-2020, 07:32 AM
» Replies: 6
» Views: 450
VBASIC 1.0 released
Forum: News & Announcements
Last Post: silverdr
09-03-2020, 10:29 PM
» Replies: 0
» Views: 127
VideoMod Board Question
Forum: General
Last Post: Balartacus
08-26-2020, 03:57 PM
» Replies: 2
» Views: 348
Release date moved to Aug...
Forum: News & Announcements
Last Post: laubzega
07-08-2020, 06:18 AM
» Replies: 0
» Views: 416
BeamRacer FAQ
Forum: General
Last Post: laubzega
06-10-2020, 04:51 AM
» Replies: 0
» Views: 811

 
Lightbulb Understanding the examples: demo_seq
Posted by: shazz - 09-25-2020, 10:10 PM - Forum: Programming - Replies (4)

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 simpleSmile

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...

Print this item

  Who would have thought – BeamRacer is out of stock
Posted by: silverdr - 09-23-2020, 07:56 PM - Forum: News & Announcements - Replies (2)

With the first batch being already sold out, we have to conclude that Commodore fans around the globe find the idea of breathing some fresh air into their beloved machines to be a compelling one. This is absolutely great news, indeed! On the other hand, this also means that until our planned next batch delivery date we are left with an unexpected stock shortage and everyone willing to acquire their own BeamRacer will be greeted with an “out of stock” message – effective today.

We expect the next batch to be available about a month from now. If you would like to be the first in line to order, just shoot us an email at [email protected]

Print this item

  Thanks
Posted by: deadline - 09-21-2020, 09:36 PM - Forum: General - Replies (1)

Just wanted to stop in and say thanks for creating this amazing hardware. I don't care what any of the curmudgeons say, anything that brings new life to the old machines is a okay in my book. Looking forward to what the future may bring with this.
Cheers,
Deadline (CityXen)

PS: I never received a confirmation email from the forums, just thought it should be made known

Print this item

  VASYL emulation in Kernal 64
Posted by: silverdr - 09-15-2020, 07:53 AM - Forum: Emulation - No Replies

While Commodore fans around the globe receive the first BeamRacer boards, Alessandro Abbruzzetti, the author of Kernal64

https://github.com/abbruzze/kernal64

(also known as @abbruzze here) is already working on adding VASYL (the core BeamRacer chip) emulation to his unique multiplatform Commodore 64 emulator. At the time of writing he has already achieved quite remarkable results!

Print this item

  Source code repositories
Posted by: laubzega - 09-07-2020, 07:35 AM - Forum: News & Announcements - Replies (1)

A collection of Mad Hackers Lab source code repositories can be found at https://github.com/madhackerslab.

Currently three repos are available:

https://github.com/madhackerslab/beamracer-vlib - header file and utility library
https://github.com/madhackerslab/beamracer-vbasic - buildable source code of VBASIC
https://github.com/madhackerslab/beamracer-examples - short examples demonstrating various features and programming techniques

We are pushing new stuff daily.

Questions? Please create a thread in the Programming forum.

Print this item

  VBASIC 1.0 released
Posted by: silverdr - 09-03-2020, 10:29 PM - Forum: News & Announcements - No Replies

We're pleased to announce that the first version of VBASIC was just released on CSDB. Initial version of the documentation has been already released a little earlier: https://docs.beamracer.net/doku.php?id=vbasic

Print this item

  Accompanying software
Posted by: bodgit - 09-03-2020, 04:51 PM - Forum: General - Replies (6)

Hello,

I received my Beam Racer today and installed it, all of the LEDs light up on the board and my C64 still displays a picture so I assume everything is correct.

I'm possibly being stupid but I couldn't see any downloads for any of the accompanying software such as VBASIC. Is this available somewhere?

Thanks

Print this item

  VideoMod Board Question
Posted by: Balartacus - 08-25-2020, 02:32 PM - Forum: General - Replies (2)

Hello,

I recently purchased the Beamracer expansion board and am looking forward to using it. I see that it supports the VideoMod board. I purchased the VideoMod board from Video Game Perfection. https://videogameperfection.com/products...ent-video/

Does your product include the cable that goes from the Beamracer to the the VideoMod board? Or do I need to source that elsewhere?

Any information would be much appreciated!

Thanks,

Balartacus

Print this item

  Release date moved to August.
Posted by: laubzega - 07-08-2020, 06:18 AM - Forum: News & Announcements - No Replies

Hello!

2020 is a difficult year for bringing a new product to market. As the world struggles with social- and health-related issues of magnitude long unheard of, we have been stung by a relatively minor, yet still painful inconvenience - a shortage of a critical electronic component. After some rather intense search and negotiations we managed to locate the supplier, secure the delivery to the factory manufacturing BeamRacer boards, and have been ensured that it is just a few short weeks until we are able to start shipping the finished product.

Since we would rather not disappoint you twice, we are cautiously shifting the availability date to August, quietly hoping that it will be in its early days when we can commence deliveries.

As we are pushing forward with the final stages of the BeamRacer project, we apologize for this delay, and promise to spend the time between now and August on further improvements to the documentation, software, and code examples accompanying the board.


The MHL Team

Print this item

  BeamRacer FAQ
Posted by: laubzega - 06-10-2020, 04:51 AM - Forum: General - No Replies

Ever since the BeamRacer website leaked to the wider Internet, the C64 community has been raising questions about the project. We answered the most frequent ones in this document to dispel the rumors, explain the reasons, and justify the decisions. Read on.

  1. First things first. How much does it cost?
    Uncertain. COVID-19 increased component and shipping prices worldwide and the calculations we did at the end of 2019 no longer apply. The next two-three weeks will confirm (or otherwise) a few assumptions we made, and let us finalize the price. Until then, keep in mind that BeamRacer is an 18-month long engineering project targeted at a market the size of a medium rave. Nobody expects to get rich, but recouping some of the tangible investment would be nice. Plus it would give us better motivation for the followup products. UPDATE: The launch price is 124 EUR (+VAT, where applicable).

  2. What products?!!
    We prefer to surprise you. And yes, we plan to continue surprising you.

  3. Ok ok, but why do it at all? Isn’t C64 dead/perfect (pick one) already?
    That’s an expansive question, but let’s give it a try. Thinking about BeamRacer in particular, as well as future MHL projects, our overarching goal is to imagine and realize what could have been. What if Commodore management better understood the machines they were making? What if the engineers were not constrained by ‘80s tech, time-to-market priorities, and worst of all, the management? And what if the home computer revolution took a different path and the C64 platform was allowed to grow and develop further? Isn’t it interesting to speculate, and then bring these speculations to life?

    But this alternate timeline engineering explanation is just one half of the story. The other half is tied to emotions evoked by the machine in question. In our opinion there are two main reasons people still turn on their C64s nearly forty years after the warranty card expired: nostalgia and fun. Nostalgia is obvious, but what is really interesting to us is the C64 as a fun delivery device. It is so simple, one mind can comprehend it all, and yet there are arcane corners in it that people continue to discover - inventing new sounds for their music, devising unheard of uses for “illegal” opcodes, exploring what can be done with BASIC and 1MHz, creating stunning pixel art. BeamRacer is a salute to these people, giving them one more thing to tinker with in this revered environment.

  4. Wait. Are you saying you want to make the most popular home computer of all time even more fun?
    Yes.  More fun to use, to play with, to program. How? By expanding C64’s architecture with a brand new subsystem designed around well-proven formulas for maximizing fun. Be easy to get into, but complex enough to remain engaging for a long time. Keep things wide open to experimentation, yet orderly enough for the experiments to be joyful and fulfilling. Reward explorers with a trove of secrets waiting to be discovered. Offer challenges, some of them trying.

    You know, the same formulas that produced the C64.

  5. I’m calling an ambulance.
    Come on, we are Mad Hackers after all.

  6. Ah yes. Mad Hackers Lab. What’s that?
    A semi-commercial offshoot from an old (‘80s-90s) scene group named WFMH. A transcontinental collective of software and hardware hackers who decided to pull themselves from writing code that runs your world and start writing code that runs your toys. People who spent a better part of the last two years scheming on long-distance calls, drawing on well-worn schematics, staring at oscilloscope screens, and wiring things on dusty motherboards. Occasionally wondering if they are going crazy because of all the solder fumes, or if they were crazy to start this project in the first place.

  7. Is it a graphics accelerator?
    Not really. True, the CPU now has plenty of time to do other things, so it can process graphics faster. Also, the programmable bitmap sequencer makes things way speedier when it comes to scrolling. But there is neither a blitter nor 3D accelerator onboard and VIC-II retains both its original speed and limitations.

  8. What about the Lumafix Pro? Is it really patented? Do you expect a significant revenue stream from licensing it to other manufacturers?
    Nope. It’s a joke. You did notice the tongue-in-cheek tone of the website, harking back to over-the-top ads of the ‘80s, didn’t you?

  9. I come from the scene. I heard you had a message for me.
    Sure. Are you a purist that only cares about a bare-bones C64 as a target to develop for?  Do you think this newfangled VASYL nonsense makes things too easy? Well, but wouldn't you agree that fast turnaround is a necessity on today’s hypercompetitive demoscene? BeamRacer enables exactly that. Rapidly prototype visual effects for your next Revision-winning production. Postpone laborious tuning of your cycle-counted CPU code for later, and start by investigating what can happen if you nudge VIC-II precisely there and then. Get more compute for your routines from the get-go - you can always don your optimization hat later, once you have a clear understanding of where you are heading.

    And when it finally dawns on you how much power you wield freely talking to VIC-II every single cycle, how wonderfully intricate can self-modifying display lists become, when you discover the joy of coordinating raster time between 6510 and VASYL, and how intoxicating it is to push things you know so well to their actual limits, perhaps you will agree that for the first time since 1982 the Commodore 64 is truly evolving and it could be fun to get involved.

    TL;DR - it’s more of what you love. Don’t miss it.

  10. Sounds interesting. I think I could code an amazing demo for the BeamRacer if you send me the board.
    Funny you'd mention that. We have several prototypes put aside for exactly that purpose. Send us a link (info at beamracer.net) to your productions and we will get back to you.

  11. Emulation would help. Can I have that?
    Sorry, you can’t. At least not yet. The trouble with BeamRacer is that some things it does do not really align with architectures of existing emulators. Without going into too much detail, BeamRacer can make the 6510 run for a fraction of a single cycle, stop it, do something else altogether, then decide to actually let the CPU continue running in the same cycle. It can record CPU actions for later replay, or allow multiple register writes to occur in a single cycle. Sure, it can be emulated (any machine can), and we have built a custom version of Vice that emulates the majority of the things BeamRacer can do, but reproducing the _exact_ interactions between 6510, VIC-II and VASYL has proven difficult to say the least. So while we hope to release the emulator eventually, it is not our current priority.

  12. Why is there no digital/component video out? My 80 inches wide OLED TV does not take composite input.
    Since we never intended to replace the VIC with all its peculiarities as the video signal source, the best we could do given other constraints wouldn't probably fare much better than a mass produced, $20 converter, which you most likely already have anyway. Instead, we focused on what we can do much better, without negatively affecting power consumption, physical size, and pricing.

  13. Speaking of component output - there is this nice board by c0pperdragon which generates exactly that. Will it work with the BeamRacer?
    Yes. c0pperdragon kindly donated one of his VideoMods for testing and, after spending a few days exercising it with various combinations of motherboards, VICs, and BeamRacers we can say that the boards work together flawlessly, including color reprogramming. One caveat is that the stacked boards stand rather tall - if you top it off with a radiator, a breadbin case barely closes. UPDATE: We have added the VideoMod adapter chips and connector to the BeamRacer. This means you only need to install the main VideoMod board, reducing the height of the VIC-socket stack.

Print this item