Posts

Showing posts from September, 2023

Lab3 - 6502 Math and Strings Lab

Image
Today, the task is creating a simple program using the 6502 assembly language. I will create an adding calculator. As a beginner, it is really hard to create the code from scratch, so I will use Chris Tyler's code as a foundation.   This  is the GitHub repository that I referenced. Here is the original code: ; Adding calculator ; ROM routine entry points define SCINIT $ff81 ; initialize/clear screen define CHRIN $ffcf ; input character from keyboard define CHROUT $ffd2 ; output character to screen define SCREEN $ffed ; get screen size define PLOT $fff0 ; get/set cursor coordinates ; zeropage variables define PRINT_PTR $10 define PRINT_PTR_H $11 define value $14 define value_h $15 ; absolute variables define GETNUM_1 $0080 define GETNUM_2 $0081 ; constants ; -------------------------------------------------------- jsr SCINIT jsr CHRIN jsr PRINT dcb "A","d","d","i","n","g",32 dcb "c"

Lab2 - 6502 assembly language lab

Image
In this post, I will discuss about 6502 assembly language lab. You can visit this website to use a web-based 6502 emulator. Enter your code in the left box on the website, then press the "Assembly" button followed by the "Run" button. The bitmap result will be displayed in the black box. Bitmap Code This code fills the emulator's bitmapped display with the colour yellow.           lda #$00           ; set a pointer in memory location $40 to point to $0200 sta $40 ; ... low byte ($00) goes in address $40 lda #$02 sta $41 ; ... high byte ($02) goes into address $41 lda #$07           ; colour number ldy #$00           ; set index to 0 loop: sta ($40),y ; set pixel colour at the address (pointer)+Y iny           ; increment index bne loop           ; continue until done the page (256 pixels) inc $41 ; increment the page ldx $41 ; get the current page number cpx #$06           ; compare with 6 bne loop           ; continue until done al

Lab1 - Code Review

Image
  In Lab 1, we were tasked with researching two open-source software packages that possess different licenses. I would like to discuss Signal, the encrypted messaging service, and Mozilla Firefox, the web browser developed by the Mozilla Foundation. 1. Signal Signal uses the AGPL(Affero General Public License) v3. Contributors to Signal use GitHub to propose changes via  pull requests . After a pull request is generated, collaborative discussions and feedback exchanges take place through the issues section and comments on the pull requests. Once successfully passing all necessary checks and validations, individual contributions are merged into the main branch. During the analysis of various bug fixes, it became apparent that the time required to address these issues varied significantly, ranging from resolving them on the same day to taking a couple of months. Typically, it appeared that 3 to 4 developers collaborated to address a single issue. Signal's development process heavily