Monday, September 9, 2019

VIC20-ASM-002 Screen Color


slot the VICMON cartridge into your VIC20
start VICMON by entering: SYS 24576



We want to accomplish the following:

  • start program at 1400 and load the screen and border color combination for green and purple ($5C) into the accumulator
  • set the screen color memory location ($900F) to the value in accumulator
  • end the program


.A 1400 LDA #$5C
.A 1402 STA $900F
.A 1405 BRK
.A 1406




test the program from VICMON by entering: .G 1400

the display will change colors, with the screen green and the border purple

place a clean cassette into the datasette
save the program to tape by entering: .S "SCREENCOLOR",01,1400,1406

press record & play on the datasette as required

now the program is saved for later use.

you can try this other color combinations

 SCREEN     |                             BORDER
------------|--------------------------------------------------------------------
            | black  | white |  red  | cyan |  purple |  green |  blue  | yellow
black       |  $08   |  $09  |  $0A  |  $0B |   $0C   |   $0D  |  $0E   |  $0F   
white       |  $18   |  $19  |  $1A  |  $1B |   $1C   |   $1D  |  $1E   |  $1F   
red         |  $28   |  $29  |  $2A  |  $2B |   $2C   |   $2D  |  $2E   |  $2F   
cyan        |  $38   |  $39  |  $3A  |  $3B |   $3C   |   $3D  |  $3E   |  $3F   
purple      |  $48   |  $49  |  $4A  |  $4B |   $4C   |   $4D  |  $4E   |  $4F   
green       |  $58   |  $59  |  $5A  |  $5B |   $5C   |   $5D  |  $5E   |  $5F   
blue        |  $68   |  $69  |  $6A  |  $6B |   $6C   |   $6D  |  $6E   |  $6F   
yellow      |  $78   |  $79  |  $7A  |  $7B |   $7C   |   $7D  |  $7E   |  $7F   
orange      |  $88   |  $89  |  $8A  |  $8B |   $8C   |   $8D  |  $8E   |  $8F   
lt. orange  |  $98   |  $99  |  $9A  |  $9B |   $9C   |   $9D  |  $9E   |  $9F   
pink        |  $A8   |  $A9  |  $AA  |  $AB |   $AC   |   $AD  |  $AE   |  $AF   
lt. cyan    |  $B8   |  $B9  |  $BA  |  $BB |   $BC   |   $BD  |  $BE   |  $BF   
lt. purple  |  $C8   |  $C9  |  $CA  |  $CB |   $CC   |   $CD  |  $CE   |  $CF   
lt. green   |  $D8   |  $D9  |  $DA  |  $DB |   $DC   |   $DD  |  $DE   |  $DF   
lt. blue    |  $E8   |  $E9  |  $EA  |  $EB |   $EC   |   $ED  |  $EE   |  $EF   
lt. yellow  |  $F8   |  $F9  |  $FA  |  $FB |   $FC   |   $FD  |  $FE   |  $FF   

Sunday, September 8, 2019

VIC20-ASM-001 Clear Screen


slot the VICMON cartridge into your VIC20
start VICMON by entering: SYS 24576



We want to accomplish the following:

  • start program at 1400 and load the clear screen character ($93) into the accumulator
  • run subroutine  ($FFD2) to output the clear screen character ($93) from the accumulator
  • end the program


.A 1400 LDA #$93
.A 1402 JSR $FFD2
.A 1405 BRK
.A 1406




test the program from VICMON by entering: .G 1400

the result will be a clear basic screen with the VICMON information (because we are still running it)

place a clean cassette into the datasette
save the program to tape by entering: .S "CLEARSCREEN",01,1400,1406

press record & play on the datasette as required

when saving is completed, reset your VIC20
rewind cassette
load the program in BASIC by entering: LOAD "CLEARSCREEN"

press play on the datasette. The VIC20 will now be SEARCHING FOR CLEARSCREEN
when CLEARSCREEN is found, the screen will prompt "READY"


run the program by typing: "SYS 5120"

the result will be a cleared BASIC screen

CONGRATULATIONS!

Monday, June 17, 2019

Muscle and Fascia Simulation with XPBD

Here you can see the latest results of my research in muscle and fascia simulation.
I worked on this while in Madrid, working at El Ranchito, together with my colleagues Carlos Monteagudo and Daniel Sanchez 💪

This work was recently published on Computer Graphics Forum, one of the most renewed scientific journals in the field of CG 🤓

No need to say how happy I am with the results 🤩

Muscle and Fascia Simulation with Extended Position Based Dynamics (XPBD) from Marco Romeo on Vimeo.

Monday, March 28, 2016

Tutorial - Cloning the shape of an object through UV coordinates (mid)

In this tutorial we will create a maya python script that takes two meshes A and B and makes B look like A using the UVs to create a correspondence across the two meshes.
The more the two UV maps are overlapping, the better results will be achieved.

This is the second tutorial that should lead to creating your own UV blendshape deformer in Maya. I am doing this as many people asked me for my UV blendshape deformer.
The first tutorial of this series is available here.

Tutorial - Using Open Maya to set vertex positions to match UV coordinates (easy)

This is the first tutorial that should lead to creating your own UV blendshape deformer in Maya. I am doing this as many people asked me for my UV blendshape deformer.

In this tutorial I will show how to write a simple Python script that uses OpenMaya to set the positions of points from a mesh to match the UV coordinates of each point. As one vertex can have multiple UV coordinates (as many possible UV coordinates as faces connected to the vertex), I will be using only the first UV coordinate in this script.

Fast volume-preserving muscle primitive

Just remembered about this prototype I made one year ago.
It is a simple fusiform muscle primitive that properly computes volume preservation.
The muscle is generated starting from a curve and can be easily shaped through a curve attribute.

The plugin generates the inner tetrahedrons to compute and preserve the volume through deformation.

The benefits of this approach are ease of use and high performance. This makes it perfect for real-time solutions. As it can output the generated tetrahedralized volume, the result could be plugged into more sophisticated FEM solutions.

This work has nothing to do with the any of the systems in use or under development at MPC. It is pure weekend fun :)

volume-preserving muscle primitive from Marco Romeo on Vimeo.

Best,
Marco.

Saturday, March 26, 2016

MPC Lead and PhD ... DONE!

Quite a tough year 2015... tough but plenty of satisfaction.
I am now a Lead Software Developer at MPC, which means my move to London was the right choice :)
Here I also found the strength to complete my PhD..  I AM A DOCTOR!
Now it is time to see if I will be able to keep this blog alive!