Find Jobs
Hire Freelancers

6809 assembler optimization no me copien ok

$30-250 USD

Closed
Posted over 6 years ago

$30-250 USD

Paid on delivery
You have to write an optimized 6809 assembler function to draw vector lines on a Vectrex game console. Attached is the full project. You can open and run it with the Vide IDE: [login to view URL] When opening the project in Vide, you can start it with the play button in the Vedi toolbar. Then you can click in the vecxi window, and press "a" to start the game (the buttons 1, 2, 3, 4 are a, s, d, f). Then you can open the "tracki" window and click "reset". This will show you the number of cycles the whole game loop needs. As a test if you are qualified to do this task, tell me the "avg" number you see. If the number is wrong or if you don't tell me the number, your offer will be ignored. You have to write an optimized version of the "drawField" function in the bloxorz.c file. Most likely it needs to be in assembly and it needs to use the VIA registers directly instead of calling the Bios functions. If you add a "return" at the beginning of the function, you can see in the tracki window that it needs 11799 cycles (difference between the game loop with and without the function). Your task is to increase the speed to at least less than 5000 cycles, for the first level, and the function has to work for the other 2 levels as well (but then it can be slower). The higher speed should be possible, because if you comment out the showInfo function, you can see that this function needs 3589 cycles, and it draws about 80 lines, while the drawField function draws much fewer lines. Some helpful resources: - Vectrex Bios ROM listing: [login to view URL] - Vectrex Programmers Manual: [login to view URL] [login to view URL]
Project ID: 16104383

About the project

3 proposals
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
3 freelancers are bidding on average $138 USD for this job
User Avatar
Hi. The average number of cycles is 17553. (You forgot to attach the source code but I found the Bloxorz demo after downloading the IDE.) As you are probably already aware, the increased cycle count is caused by the delays to the 'positd()' and 'diffab()' sub-routines. My previous experience is an embedded programmer - mainly with PIC, AVR and STM32 microcontrollers. I experimented briefly with the 6800 processor in college also. I am happy to apply this experience to this project. I will inspect the source code further and examine the programming manuals if time permits later today, tomorrow or over the weekend - and may need to adjust my bid accordingly. In the meantime, please let me know if you want me to pursue this further. I operate in Irish time (GMT) - regular hours (Mon-Fri, Sat.) - but will do my best to respond to queries outside this time.
$60 USD in 5 days
5.0 (2 reviews)
3.9
3.9

About the client

Flag of DOMINICAN REPUBLIC
Dominican Republic
0.0
0
Member since Jan 12, 2018

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.