Jump to content

Assemblers


Recommended Posts

Inspektors Caps

Jā, parastajiem taimeriem ir līdz 4 output compare kanāliem. Kaut kādas taimeru sinhronizācijas iespējas ir, bet tad tur jāpēta smalkāk. Bet vispār priekš aprakstītā barošanas bloka tieši laikā ir HRTIM (high resolution timer) jaunajā STM32G4 sērijā. Te būs prezentācija, application note un reference manual (no 844. lpp). Lūk pret šo "nieka" taimeri jau pat Ethernet izskatās vienkāršs... :D Bet no otras puses, arī iespējas tam ir tādas, ka mati ceļas stāvus, un liekas, ka tas ir tieši tas, ko Tev vajag. Un jā, pie 170 MHz clocka tam izsķirtspēja ir 184 ps, kas tiek panākts ar 32 aiztures līnijām. To pašu principu izmanto arī osciloskopi, lai sasniegtu gigasampļus sekundē ar visu to, ka neviens ADC nestrādā ne tuvu tik ātri.

 

Bet sākt apguvi mierīgi vari ar jau esošo plati. Ar neiekāpšanu sūdā viss ir vienkārši - paņem dokumentāciju, reģistru definīciju *.h failus un sāc ar to linku, ko devu. Nu, labi, vienā es Andrim piekrītu - HAL ir noderīgs sākumā paspēlēties. Ne tādēļ, ka tas nebūtu sūds, bet tādēļ, ka to var pamēģināt "pa fikso", lai gan arī tas ir strīdīgi... Tālāk gan tas tikai velk dziļāk purvā un neko stabilu ar to tāpat neuztaisīsi, tādēļ labāk ātrāk iet savu ceļu. Kurš konkrēti Discovery plates modelis Tev ir? Varu Tev salikt gatavu minimālu blinky projektu, ko var uzreiz palaist - ideāls starta punkts. :) Vēl aizdomājos... Uz AVR vispār pilnvērtīgas debug iespējas ir vai viss notiek tikai ar GPIO piniem un UART?

Edited by Inspektors Caps
Link to post
Share on other sites
  • Replies 193
  • Created
  • Last Reply

Top Posters In This Topic

  • AndrisBB

    44

  • Raimonds1

    34

  • M_J

    20

  • Inspektors Caps

    14

Top Posters In This Topic

Popular Posts

Vēl labāk pašam uztaisīt savu CPU, tad viss būs skaidrs Man universitātē vajadzēja taisīt CPU uz FPGA. Uztaisiju kautko līdzīgu MIPS arhitektūrai tikai ar 16 22 instrukcijām. Reāli arī varēja ra

Es  esmu vecs un neaktuāls, bet es teikšu tā - ja grib saprast kā apmēram darbojas programmēšanas valodas , ļoti vēlams ir apgūt assembleru pat ja viņā nekad nekas netiks rakstīts. Manā laikā to vēl u

Nevaru stāstīt kam tas vajadzīgs un ko tieši tas dara, bet apmēram jau 2 gadus, ar nelielu pārtaukumu pa vidam, es un daži citi kolēģi strādājām pie viena projekta. Pagaidām gan izskatās ka tuvākājā l

Posted Images

M_J

Paldies par, manuprāt, vērtīgu informāciju, ka parādīji, uz ko skatīties. Tiem STM ir ļoti plašs produktu klāsts, ka, meklējot vajadzīgo vajag izskatīt un iediļināties lērumā datašītu,  PICiem un Atmeļiem, vismaz sākuma stadijā informācijas apjoms bija stipri mazāks. Sākotnējā apskate liek domāt, ka tur ir tas, kas man vajadzīgs. Jāizskata cauri pieejamie čipi, lai atrastu to, kas ir vistuvāk vajadzībām.

Esošā plate man ir šī:
https://lv.farnell.com/stmicroelectronics/stm32f411e-disco/dev-board-stm32-discovery/dp/2456732

Par debugošanu - mazākajiem AVRiem, ar kuriem sāku, nebija nekā,  tādiem, kā ATMEGA128 ir JTAG. Bet uz to brīdi, kad sāku lietot tādus, vairs neizjutu pēc tā vajadzību. Kad rakstu kaut ko priekš AVR, izmantoju paštaisītu tūli, esot caur seriālo portu nepārtraukti pieslēdzies čipam. Pašreiz daru to, izmantojot MODBUS RTU protokolu, un vizualizēju uz datora ekrāna kontrolierī notiekošo, piemēram izvēlētu reģistru vērtības, vai kā skaitli, vai kā atsevišķus bitus, vai kā BARus. Vizualizācijas ideja aizgūta no Weintek softa Easy Builder un realizēta tā, kā uzskatīju par labu esam. Komplektā ar bootloaderi, patreiz jūtos tīri labi apgādājies ar debugošanas iespējām.
 

 

 

Link to post
Share on other sites
Raimonds1
2020.08.2. , 21:09, Inspektors Caps teica:

Savām vajadzībām jau esmu uzrakstījis draiveru bibliotēku, kooperatīvo OS ar software taimeriem, draiveru OS adaptācijas slāņus FreeRTOS un tam kooperatīvajam, propertiju menedžēšanas sistēmu, web serveri ar dinamisku divpusēju AJAX datu apmaiņu uz lwIP, robustu bootloader un vēl visu ko. Ir doma to kooperatīvo OS uzdāvināt pasaulei ar MIT vai BSD licenzi. Tās ir tikai 300 rindas (bez komentāriem) standarta C koda, bet "bare metal" izstrādi ar saviem taskiem un taimeriem tās sagriež kājām gaisā. Arduino pasaulē tas var novest pat līdz nelielai revolūcijai, kas likvidē setup()/loop() amatierismu. Tikai neesmu pārliecināts vai to vajag darīt... No vienas puses es neko nezaudēju, bet no otras, ja jau visi taisa un lieto sūdus, kādēļ man par velti atdot kaut ko labu? Kā darītu jūs - citi šeit esošie izstrādātāji un citādi tehniskie? :)

 

To  vajadzētu kaut kā salikt kopā ar pašreizējām pasaules aktualitātēm. 

1. Piesārņojums.

2. CO2 un enerģijas taupīšana.

3. Algu nevienlīdzība vīriešiem un sievietēm.

Tāds bezmaksas vai lēts, pieejams, labs, saprotams projekts vienā setā saliktu visādus PR un slēpto labumu gūšanas pasākumus un varētu kļūt par Latvijas NOKIA stāstu.(Jā, jā, zinu NOKIA vēsturi)

 

Lai tas nebūtu tikai tādā vispārīgas filozofēšanas līmenī.

1. Enerģijas paralēlais daļējas aizstāšanas projekts privātmājām. Pie esoša un funkcionējoša elektrotīkla daļu enerģijas atsevišķu sinusoīdu aizstāšanas līmenī izmantojot kaut kādu mazjaudas eko enerģiju. Saule, vējš, mājas trenažieris, peltjē elements uz apkures utt. 10-20-30% no patēriņa, ja ko tādu izmanto 10-20-30%, tad kopējais lielo pārvades tīklu atslogojums ir no 1-10% Noformēt kā super lētu un pieejamu eko projektu

2. Koģenerācijas-siltumsūkņa kombinētā apkures un enerģijas sistēma, kas dinamiski pielāgojas siltuma un elektronerģijas pieprasījumam, salāgo to ar lielajiem apgādes tīkliem un var siltuma režīmā dabūt divreiz vairāk siltuma enerģijas siltumsūknim COP - 4, koģenerācija elektrība 35 un siltums 50%, 35 x 4 + 50

3. Atklāts programmatūras forums ar oriģinālām idejām uz to jau izstrādāto labāko risinājumu bāzes. Iespēja izpausties atklāti ģenerējot idejas.

Link to post
Share on other sites
AndrisBB

Cilvēks tik pajautāja vai vērts tērēt laiku un mācīties kautkādu konkrētu ASM, bet Raimonds te par savām kosmosa enerģijām vārās.

  • Patīk 1
Link to post
Share on other sites
Raimonds1
2020.08.2. , 11:11, M_J teica:

Salīdzinot ar to, kā ir attīstījusies auto elektronika un motoru vadības sistēmas automobiļos, es biju šokā, ieraugot, kādā līmenī ir vadības sistēmas elektrostaciju gāzes motoriem. Tur valda senvēsture! 21. gadsimta motoriem aizdedze ir no kāda 75. gada, bet puse no vadības automātikas loģikas ir būvēta uz relajiem, atkārtojot vēsturē pirmos mēģinājumus radīt skaitāmās mašīnas. Tam visam kaut kā tiek piekabināts tačskrīns un internets. Nesaprotu, kāpēc lampu etaps ir izlaists. Es nezinu, ko Woodward, Heinzmann un citi šīs jomas "līderi" ir samaksājuši vai kādā citā veidā sarunājuši, piemēram ar Bosch, ka tas nenāk viņu lauciņā un ar vienu vēzienu neaizslauka viņus vēstures mēslainē?

Nebūt ne. 

Te dažs labs konkrēti strādā ar lieljaudas ģeneratoriem, auto motoriem un tā visa programmatūru un elektroniku.

Te būtu tieši vietā tām zināšanām un jau izstrādātajiem risinājumiem, ko gribēja izplatīt par velti, pielikt vēl papildu pievienotu vērtību.

 

Pie tam tādu, kas vismaz formāli ir pasludināta par risināmu problēmu un uz kuras aktualitāti jau profitē visādi aktīvisti un aktīvistes.

Kas gan varētu būt vēl atbilstošāks.

 


Pirms 52 minūtēm , AndrisBB teica:

Cilvēks tik pajautāja vai vērts tērēt laiku un mācīties kautkādu konkrētu ASM, bet Raimonds te par savām kosmosa enerģijām vārās.

 

Link to post
Share on other sites
2020.08.4. , 00:56, Inspektors Caps teica:

Bet vispār priekš aprakstītā barošanas bloka tieši laikā ir HRTIM (high resolution timer) jaunajā STM32G4 sērijā. Te būs prezentācija, application note un reference manual (no 844. lpp).

Esmu visā nopietnībā apņēmies šito pamēģināt. Šodien saņēmu no Farnell STM32G4 kontrolierus, kur ir iekšā HRTIM. Paralēli citiem darbiem pamazām lasu materiālus un zīmēju PCB. Starp citu, citētajā tekstā, manuprāt ir ietverta atbilde Andrim, kāpēc elektroniķu vidū joprojām ir populāri vienkāršie PICi un AVRi. Iedomājieties, mani interesējošās lietas sākas no 844. lappuses! Bet tas nenozīmē, ka varu sākt lasīt manuāli no šīs vietas. Tās iepriekšējās lappuses, un arī pēc tam sekojošās vienalga būs kaut vai pa diagonāli jāizskata cauri. Kurš to darīs, ja vajag, lai kontrolieris pamidžina LEDus, vai dara citas vienkāršas lietas? Skaidrs, ka ņems veco, vienkāršo PICu vai AVRu. Otra lieta - jāzīmē un jāpasūta PCB. Nu nav šitie kontrolieri DIP korpusos, ar nedaudz (piemēram 28) izvadiem kurus varēja uzlodēt uz "vafeles" un pa fikso pamēģināt interesējošās lietas. Protams, šajā gadījumā pareizā loģiskā rīcība būtu paņemt kādu "Development Board", bet zinu, cik man grūti sevi motivēt uz kaut kādu "Hello World" vai bezjēdzīgu diožu midžināšanas programmiņu mēģināšanu uz tādas izstrādes plates. Labāk uzreiz taisu PCB ar visiem draiveriem un Mosfetiem, vai ērti piespraužamu pie spēka daļas, tā, kā es to uzskatu par pareizu esam, nevis mēģinu to Dev Boardu ar kaut kādiem puņķiem savienot ar spēka daļu, vai taisīt spēka daļas plati piemērojoties Dev. Boardam. Protams, pirmā PCB būs galīgi garām, bet kamēr neuztaisīšu, neuzzināšu, kas ir galīgi garām. Un fiziskos kontrolierus pasūtīju, lai nesanāktu tā, ka uztaisu PCB, kur attālums starp kontroliera izvadiem ir viens, bet dabā reālajiem kontrolieriem cits. Protams, datašītā viss ir smalki uzrakstīts, un it kā variantu nav, bet tomēr atvilknēs ir vairāki čipi, kas ir ne tajos korpusos, kuros gribēju tos saņemt, un pats nesaprotu, kā pamanījos nopirkt nepareizos.

Link to post
Share on other sites
AndrisBB

Nesaprotu ko tieši ar šo visu tu gribēji pateikt? To ka labāk uzreiz taisīt PCB?

Nezinu, es paņemtu iesākumam to pašu Nucleo boardu, lai vismaz varētu izstrādes vidi dabūt darbojošos. Nemaksā jau viņas neko, ar to G sērijas kontrolieri ap 15 eiriki. Dzīvot var. Plus dabūsi debuggeri "pa velti" ko izmantot jau uz saviem boardiem. Ko tu taisies debuggeri pirkt atsevišķi?

Link to post
Share on other sites
pirms 1 stundas , AndrisBB teica:

Nesaprotu ko tieši ar šo visu tu gribēji pateikt?

Neko, vienkārši nesaturēšana.

Link to post
Share on other sites
Raimonds1

Montētāja, gatavu bloku kopā salicēja, bibliotēkas kodu copy-paste pieeja un projektētāja, inženiera, optimālā, maksimāli ātrā, vienkāršā, lētā risinājuma izstrādātāja pieeja.

Link to post
Share on other sites
  • 3 weeks later...
AndrisBB

Jaunumi tādi ka izmēģināju Huawei LiteOS uz STM32 un darbojas bez problēmām. Kautkā pat pārāk vienkārši bij. Neesu vēl izdomājis kur izmantot, bet varbūt nav jēgas un vienkāršāk palikt pie FreeRTOS.

https://liteos.github.io/en/kernel/

Link to post
Share on other sites
  • 2 weeks later...
AndrisBB

Nah kādam krieviski tās grāmatas vajadzīgas, ja netrūkst kvalitatīvu materiālu angliski.

  • Bēdīgs 1
Link to post
Share on other sites
Mateushs
1 hour ago, AndrisBB said:

Nah kādam krieviski tās grāmatas vajadzīgas, ja netrūkst kvalitatīvu materiālu angliski.

 

Un? Tas nenozīmē, ka nav cilvēku, kuriem materiāli krievu valodā noderēs vai tie materiāli nav nekam derīgi. Jā, ir pieejami dažādi materiāli angliski, taču, ja cilvēks zina vēl krievu valodu, tas paplašina viņa iespējas apgūt jaunas lietas. Ir grāmatas, kuras ir tikai angliski, bet nav krieviski un otrādi. Turklāt, bieži ir tā, ka angliski pieejamie materiāli ir pārtulkoti uz krievu valodu (krievi to dara), bet krievu materiāli angliski netiek tā tulkoti. Līdz ar to, cilvēkam bez krievu valodas zināšanām potenciāli ir iespēja kaut ko neiegūt savā mācību procesā.

 

No manas pieredzes; mēdz būt tā, ka jāatrod kāda lieta un tad es sāku to meklēt. Meklēju angliski, neatrodu, bet krieviski atrodu. Un otrādi. Tik pat labi mēdz būt tā, ka kaut kas, ko es atrodu angliski, krieviski ir dziļāk un saprotamāk paskaidrots, un otrādi. 

Edited by Mateushs
Link to post
Share on other sites
Anonīms Alkoholiķis

10lpp tuftas ar ko pat pēcpusi nevar noslaucīt

Edited by Anonīms Alkoholiķis
Link to post
Share on other sites
ieleja

diez kādam neslīpētam dimantam jābūt, lai no viņa referāta/kursadarba/diplomdarba varētu apgūt šāda līmeņa un sarežģītības tēmu?

 

(retorisks jautājums)

Link to post
Share on other sites
AndrisBB

Kādai arhitektūrai? Pat vienai arhitektūrai mēdz būt paveidi.

Un ko tu tur iztulkosi? Ja paņemam MIPS branch instrukcijas - BEQ, BGTZ, BLZ, BNE, tad kas tur labāks sanāks latviski? Vai arī tu domā rakstīt pilnus vārdus?

Nav jau grūti uztaisīt, pats Assamblera kods pieejams. 

Edited by AndrisBB
Link to post
Share on other sites
binary
pirms 6 stundām , vvv teica:

binary nozīmē divisks.

image.png.c3850e9faee3895b149609a1163a541c.png


pirms 7 stundām , AndrisBB teica:

Un ko tu tur iztulkosi?

Es tur neko netulkošu. Bet nu es arī nemeklēju latviski tulkotus manuāļus.

  • Haha 1
Link to post
Share on other sites
AndrisBB

Tas tāds downgreids priekš Raimonda. Ja jau C salīdzinot ar C++ ir diezgan primitīvs un daudz tur nav ko zināt vai mācīties, tad Assablers vispār tāda bērnu spēle, pāris instrukcijas un viss, nekādas abstrakcijas, kautkādi mistiski koncepti, klases utt. Pāris dienās var apgūt., nav saprotams ko tur daži fetišo.

Link to post
Share on other sites
ieleja

viņa ieteiktajā “x86 asemblera mākslā” ir teju 1,500 lapas, būs ko pasvīst

 

bet skaidrs, ka, izņemot specifiski specifiskus gadījumus, moderns C kompilators ar visu tiks galā labāk un optimālāk, nerunājot par patērēto laiku un iespējām kļūdīties

 

Link to post
Share on other sites
Raimonds1

Problēma ir cita - izskatās, ka neviens nav papūlējies, lai publiski būtu kaut kas tāds pieejams arī latviski.

 

Link to post
Share on other sites
AndrisBB

x86 un CISC jau šodien nav modē un pa lielam novecojusi ISR, tā ka tiem kas tagad sāk mācīties nemaz nav jēgas tajā iedziļināties.

Tagad visi jaunie CPU ir ar RISC ISR, tapēc tik daudz nebūs ko studēt, pāris pamat instrukcijas un viņu variācijas.

 

Tāka Raimond ja dod linkus, tad dod uz kautko modernu, nevis aizvēsturisku.

Edited by AndrisBB
Link to post
Share on other sites
ieleja

neviens nav papūlējies ko tādu vajadzēt latviski, bet ja esi gatavs finansēt tevis izvēlētu grāmatu, noteikti atradīsies tulki

 

Link to post
Share on other sites
binary
pirms 9 stundām , Raimonds1 teica:

Problēma ir cita - izskatās, ka neviens nav papūlējies, lai publiski būtu kaut kas tāds pieejams arī latviski.

 

Jā, nav neviens iztulkojis asembleri :(

 

pirms 10 stundām , vvv teica:

Kāpēc ne? Neredzu nekādu pamatu neapšaubīt, piemēram, "binary arithmetic operation" termina skaidrojumu.

Link to post
Share on other sites
Raimonds1

Te ir tādas interesantas tēmas

https://www.ic.unicamp.br/~pannain/mc404/aulas/pdfs/Art Of Intel x86 Assembly.pdf

1249.lapa.23.3 Programming the Text Display
There are two reasons: performance and flexibility. The BIOS video display routines 2 are dreadfully
slow. You can easily get a 10 to 100 times performance boost by writing directly to screen memory
. For a
typical computer science class project, this may not be important, especially if you’re running on a fast
machine like a 150 MHz Pentium. Viss, sarkanā migla, hāhā hā - ātrais 150 MHz procesors!!!!

The AMAZE.ASM program (see “Processes, Coroutines, and Concurrency” on page 1065) is a good
example of a program that directly access the text display by directly storing data into the video display’s
memory mapped display array.
 

Summary The PC’s video system uses a memory mapped array for the screen data. This is an 80 x 25 column
major organized array of words. Each word in the array corresponds to a single character on the screen.
This array begins at location B000:0 for monochrome displays and B800:0 for color displays. For additional
information, see: “Memory Mapped Video” on page 1247
The L.O. byte is the PC/ASCII character code for that particular screen position, the H.O. byte con-
tains the attributes for that character. The attribute selects blinking, intensity, and background/foreground
colors (on a color display). For more information on the attribute byte, see:•
“The Video Attribute Byte” on page 1248

Tagad, 2020.gada septembrī publika var izvēlēties - vai pārsvarā koncentrēties uz tekstu un programmas paraugu, vai arī ierēkt par "ātro" 150 MHz Pentium procesoru. Man, piemēram, būtu interesanta programma, kas no ekrāna attēlā atrod tekstu, automātiski iezīmē tā robežas un saglabā tikai tekstu.

 

1256.lapa. The PC Game Adapter Chapter 24 Slēdži, džoistiks, ieejas, interfeiss, programmas, principi. No vienkāršākā Game Adapter Input Port
The four switches come in on the H.O. four bits of I/O port 201h. If the user is currently pressing a
button, the corresponding bit position will contain a zero. If the button is up, the corresponding bit will
contain a one. 

Tiem, kas kaut ko projektē un grib saprast visu projektu no sākuma. 

 

1361. 

Table 97: 80x86 Instruction Set Reference
Instruction Encoding(bin) b Execution Time in Cycles c 8088 8086 80286 80386 80486 Pentium
 

 

Parallel (printer) ports 1199
Parallel data transmission 1199
Parallel port acknowledge line 1200
Parallel port base address 1202

 

 

 

 

 

 

Edited by Raimonds1
Link to post
Share on other sites
ieleja

tu esi īpatnēji vērīgs, bet patiesības labad bildīšu - grāmata izdota 1996. gadā, tomēr tu muļķīgi ķiķini par 150 MHz

 

11E104A6-F0F5-46AF-8008-B3CAD8BD368B.thumb.jpeg.e5a63e2f1eacc320641acff6946fb40c.jpeg

 

ej ka tu ... meklē finansējumu latviskam tulkojumam!

Link to post
Share on other sites
AndrisBB

Plus vēl runā par paralēlajiem portiem un spēļu kotrolieriem, man liekas šodien USB staks vien ir lielāks par visu OS 96. gadā :D

 

Link to post
Share on other sites
Jurkins

Ja runā par assembleru, tad man ir interesanti (šobrīd 😁) padarboties ar avr+cpp un paskatīties, ko kompilators savāra galu galā. Pasen atpakaļ uzdūros šim . Sākot no vidus apmēram nesapratu neko... no vārda "neko" 😁. Tā kā c un cpp kaut cik zinu tikai avr un tagad nedaudz stm sakarā, tad par šabloniem biju tikai dzirdējis. Tagad nolēmu paburties cauri. Nu interesanti. Tā kā man tas nav pamatdarbs un par koda rindām naudu nemaksā. Nu forši būtu uz tā paša avr (pēc tam uz stm) rakstīt piemēram:

using Output = PinList<pa1, pb2, pb6, pc3, pc4>::List;
Output::Write(value);

Tad izdomāt, ka PCB cmukāk savilkt būtu, ja pa1 in pc3 samainītu vietām. Un vienkārši izmainīt:

using Output = PinList<pc3, pb2, pb6, pa1, pc4>::List;

Un viss. Un paskatoties uzģenerēto kodu asm kodu redzēt, ka "ar roku" nevarētu uzrakstīt labāk.

Link to post
Share on other sites
AndrisBB

Krieviski nav iespējams to tekstu izlasīt, bet apskatot kodu, rodas secinājums ka tur kautkā ačgārni un nesakarīgi tiek mēģināts izmantot templeitus. Kapēc PORT un Pin jāliek kā templeits īsti na skaidrs, templeiti ir domāti pavisam citiem mērķiem.

Vienīgais izskaidrojums tam visam - kāds kuram nav sajēgas no C++ mēģina izmantot tā iespējas ačgārnā veidā :D 

Programmētāji ko tādu ieraugot met krustus :D

 

Link to post
Share on other sites
Raimonds1

Vispār jau es kā reiz rakstīju, kas tajā grāmatā ir daudz pamatinformācijas, kā vispār notiek procesi, kādi dati ir svarīgi un kā reiz tas 150MHz procesors būtu pirmais, par ko ierēktu modernie jaunieši. 

Tā vietā, lai saprastu, kā tieši tie pamatprocesi notiek un ar kādiem skaitļiem tas viss darbojas.

 

Protams, vislabāk būtu, ja visiem tiem pamatprocesu skaidrojumiem piemeklētu šodien pieejamos mikrokontrolierus. Un tad to visu smuki pēc kārtas tieši apmācībai domātā veidā uzrakstītu un paskaidrotu.

 

Pie tam tāda tipa pamatu mācību materiāls, labi izskaidrots un interesentiem salīdzinoši viegli apgūstams jau skolā jauki saliktu prioritātes topošajiem studentiem. Jo pašreiz ir tā, ka daļa no viņiem pirmajos kursos vēl piemācās eksaktos priekšmetos skolā neiemācīto. Tur jau nevajadzētu neko pārāk daudz, pašus pamatus. 

Edited by Raimonds1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...