Posted on Leave a comment

Pat9k neck board BOM

Check it designation part catalog# price(ea) quantity price
total: $18.28
Capacitors
C1, C2, C3 220pF 505-FKP2220/100/10 .30 3 .90
C4 0.1µF 667-ECQ-E4104KF .37 1 .37
C5 0.1µF 594-A104M15X7RF5TAA .08 1 .08
C6 0.0068µF 594-S682M43Z5UN63L0R .12 1 .12
Transistors
Q1, Q4, Q7 2N3906 512-2N3906TA .20 3 .60
Q2, Q5, Q8 MJE15030 863-MJE15030G 1.60 3 4.80
Q3, Q6, Q9, Q10 2N3904 512-2N3904BU .19 4 .76
Resistors
Metal Film
R1, R5, R15 2K2 594-5073NW2K200JA100 .06 3 .18
R2, R12, R22 3K3 594-5073NW3K300J .16 3 .48
R3, R13, R23 1K 594-5073NW1K000JA100 .06 3 .18
R4, R14, R24 82R 594-5073NW82R00J .16 3 .48
R6, R16, R25 10K 594-5083NW10K00J .10 3 .30
R7, R17, R26 220R 594-5073NW220R0JA100 .06 3 .18
R9, R19, R28 3K9 594-5073NW3K900J .16 3 .48
R10, R20, R29 2K7 594-5073NW2K700JA100 .06 3 .18
R32 10M 594-VR37000001005FA1 .15 1 .15
Trimmers
R8, R18, R27 500R 72-T70YE-500 .81 3 2.43
R11, R21, R30 10K Trimpot, 0.5W 72-T70YE-10K .81 3 2.43
R31 5M 652-3386P-1-505LF 1.53 1 1.53
Inductors
L1, L2, L3 330uH 652-RLB9012-330KL .55 3 1.65

Posted on Leave a comment

Main board components, PAT9k repro

Check it designation part catalog# price(ea) quantity price
total: 65.49
Capacitors
Electrolytic
C1, C2, C7, C10 100µF 647-UPW1V101MPD1TD .18 4 .72
C5, C8 4700µF 647-UVY1H472MRD 2.33 2 4.66
C29 4.7µF 647-UPS1H4R7MDD1TD .12 1 .12
C36 47µF 647-UVZ1H470MED .18 1 .18
C39 10µF 647-UPW2E100MPD .48 1 .48
Ceramic
C3, C4, C6, C9, C14, C15, C17, C18, C20, C28, C34 0.1µF 594-A104K15X7RF5UAA .08 11 .88
C12, C16 .001µF 594-A102K15X7RF5TAA .12 2 .24
C22, C23, C24, C25 0.47µF 81-RDER71H474K1M1C03 .42 4 1.68
C31, C32 0.01µF 581-SA105E103M .10 2 .20
C33, C37, C38 0.001µF 594-H102K25X7RN63J5R .07 3 .21
Film
C11 0.056µF 667-ECQ-E6563KF .54 1 .54
C19, C21, C26, C27 .47µF 505-MKS4.47/100/10P .36 4 1.44
C30 .0047µF 505-FKS24700/100/10 .22 1 .22
C35 0.033µF 594-F339X133333MFP2B .28 1 .28
Semiconductors
Diodes
CR1, CR2, CR3, CR4 plastic rectifier 625-P600D-E3/73 .56 4 2.24
CR5, CR6, CR7, CR13, CR14, CR16, CR17, CR18, CR19, CR20, CR21, CR22, CR23, CR24 1N914 78-1N914-TAP .06 14 .84
CR8 1N751A 610-1N751A .29 1 .29
CR9, CR10, CR11, CR12, CR40, CR41, CR42, CR43, (CR48 optional) 1N4007 583-1N4007-B .03 9 .27
CR15, CR25, CR31, CR32, CR33, CR34 LED 696-SLX-LX5093ID .06 6 .36
CR26, CR44, CR45 1N754A 610-1N754A .34 3 1.02
CR27 avalanche diode 78-BY448 .46 1 .46
CR28 1N5245B 78-1N5245B .10 1 .10
CR46, CR47 1N756A 610-1N756A .29 2 .58
IC’s
U1 +24 regulator 511-L7824CV .67 1 .67
U2 -24 regulator 513-NJM7924FA .66 1 .66
U3 NE555 timer 595-NE555P .49 1 .49
Transistors
Q1, Q3, Q6, Q7, Q8, Q10, Q11, Q12, Q17, Q18, Q25, Q27 2N3904 512-2N3904BU .19 12 2.28
Q2, Q4, Q5, Q9 2N3906 512-2N3906TA .20 4 .80
Q15, Q21, Q14, Q20 2N5884G 863-2N5884G 4.29 4 17.16
Q24 BU406D 512-BU406TU .74 1 .74
Q16, Q22, Q26 MJE15030 863-MJE15030G 1.60 3 4.80
Q13, Q19 MJE15031 863-MJE15032G 1.60 2 3.20
Q23 SCR 863-MCR100-6RLRMG .47 1 .47
Resistors
Metal Film
R1 82K 71-CCF60-82.5K-E3 .10 1 .10
R2, R4 10K 594-5073NW10K00JA100 .06 2 .12
R3 100K 594-5073NW100K0JA100 .06 1 .06
R5, R42, R43, R46 680R 594-5073NW680R0JA100 .06 4 .24
R6, R12 1K5, Resistor, 0.5W 594-5073NW1K500JA100 .06 2 .12
R70, R73 1K5, 2W 594-5083NW1K500J .10 2 .20
R7, R49, R61 1K 594-5073NW1K000JA100 .06 3 .18
R8, R9, R11, R52 22K 594-5073NW22R00JA100 .06 4 .24
R10 1K8 594-5073NW1K800J .16 1 .16
R13 22R 756-ULW5-22R0JT075 .37 1 .37
R14, R16, R27, R29 390R 594-5073NW390R0J .16 4 .64
R15, R28 10R 594-5073NW10R00JA100 .06 2 .12
R18, R30 1R5 N/I not available .00 2 .00
R19, R31 2K7 594-5073NW2K700JA100 .06 2 .12
R20, R33 100R 594-5073NW100R0JA100 .06 2 .12
R21, R34 91R 594-5073NW91R00J .16 2 .32
R22, R32, R57 4K7 594-5073NW4K700J .16 3 .48
R23 2K2 71-CCF60-2.21K-E3 .10 1 .10
R24 15K 71-CCF60-15K-E3 .10 1 .10
R25, R60 33K 594-5073NW33K00JA100 .06 2 .12
R26, R53, R55, R58 2K2 594-5073NW2K200JA100 .06 4 .24
R35, R37, R45, R48 22R 594-5083NW22R00J .10 4 .40
R36, R47 15R 71-CCF60-15-E3 .10 2 .20
R38 820R 594-5083NW820R0JA100 .11 1 .11
R39, R50, R71, R72 1K2 594-5073NW1K200JA100 .06 4 .24
R40, R41 750K 594-5073NW750K0J .16 2 .32
R44 1K6 594-5073NW1K600J .16 1 .16
R51 3K9 594-5073NW3K900J .16 1 .16
R56 470R 594-5073NW470R0JA100 .06 1 .06
R59 39R 594-5073NW39R00JA100 .06 1 .06
R60-alt 68K 594-5073NW68K00JA100 .06 1 .06
R63 560R 594-5083NW560R0J .10 1 .10
R64, R65 50R 71-RW67V500 1.25 2 2.50
R74 3M3 594-VR37000003304JA1 .13 1 .13
Trimpots
R54 2K 652-3362F-1-202LF .98 1 .98
R62 20K 652-3362F-1-203LF .98 1 .98
R62-alt 50K 652-3362F-1-503LF .98 1 .98
R75, R76 10K 652-3362F-1-103LF .98 2 1.96
Hardware
FC1-4 Fuse Clips 534-3512 .19 8 1.52
Fuse 3, Fuse 4 3A FB 504-BK/AGC-3-R .45 2 .90
Fuse 1, Fuse 2 5A SB 693-8020.5018 .73 2 1.46

Posted on Leave a comment

The hunt for 19″ CRT’s without burn-in – Goodwill – all TVs 99¢ while supplies last – Oct. 4 – 10

I’d planned to skip the obvious Goodwill route, expecting to pay $8.99 for something that might have an incompatible tube inside. I figured garage sales and curbside throwaways would be a better bet. But on a whim – I had just dropped the kids off for a sleepover at Grandma’s farm – I stopped by Goodwill.

The place was so packed it was hard to maneuver through the aisles. That familiar Goodwill smell smacked me in the brain in my first few steps. I pondered how sometimes I find that smell repugnant, and other times vaguely comforting.  I wasn’t sure how I felt about it that day, but I suspected I would make a beeline around the electronics wall then straight the frick out of there.

A 4 foot wall of shelves, that once held TVs, was picked over and now mostly empty. I quickly discovered why: 99¢ for all TVs, any size. All that remained were off brands, “Symphonics” and the like, tiny 9″ sets, ones with blurry screens, and one late 80’s RCA with woodgrain plastic, now mine.

Late on a Saturday afternoon, you’d feel you missed the pick of the litter. But for an arcade collector, it was still there waiting for me.
The 50% storewide discount that drew in the throngs applied to this already-discounted set.

I pulled out the $2 I had in my wallet to cover tax and then got a little bonus thrill to see the register light up the total amount including tax: 54¢.

Posted on Leave a comment

Recapped a Sega linear PSU

Most people would put a modern switch mode PSU and trash this old dusty linear PSU. But most people are dongs. I, on the other hand, installed 4 new caps to prepare for another 20 years of gaming power! If this was original to the cabinet, this is from a 1983 Astron Belt.

 

Replaced “Sun” brand caps with contemporary caps – higher capacity and voltage rating, yet smaller.

 

Made in where now?
Posted on Leave a comment

Joust-themed arcade machine

Dear world,

I’ve been working on an arcade cabinet that I hope to make attractive enough for indoor use. Currently, I’m perfecting a home brew stenciling method with paper and x-acto blade. Currently, it looks like crap because spray color pass #2 didn’t meet my quality standards so I’m stripping and starting attempt #2.

Updated build info is hosted at the arcade controls forum: /topic,140477.msg1454480.html

Posted on Leave a comment

WordPress plugins

Everyone has their own style when it comes to essential wordpress plug-ins. And although it’s subjective and entirely dependent on your site purpose and blogging style, everyone seems to consider their list definitive.

Well mine’s not definitive, but it’s pretty fucking good. With dozens of WP installs under my jockstrap, I’ve learned to separate the yolks from the whites.

For improved admin usability without bloat:

WP Best Tree By Rafael Marques
Category hierarchy on the back end. So obvious it should be built into WP.

Show Current Template by JOTAKI Taisuke
For theme modifications, this comes in handy.

WP All Import Pro By Soflyy
If your content comes from anywhere but your fingers.

 

Using custom post types?
Post Types Column Editor by Pippin Williamson
Custom Post Type UI by WebDevStudios.com
Advanced Custom Fields by Elliot Condon

External Permalinks Redux
By Erick Hitter & Oomph, Inc.

Posted on Leave a comment

key basic concepts

Are you read to program? Can you answer these questions?
Who’s mom makes the best mustard pie?

Concepts

Memory locations are expressed in hexadecimal notation. While data and variables are often expressed in decimal notation.

$ indicates hex value

Lockers

Each memory location is one byte and can hold only one thing. Each is individually numbered in hexadecimal. They can hold either data, or program instructions.

You’ve got 32k to work with, that’s 32768 “lockers” sequentially numbered from

Cartridge ROM:
$0000 to $7FFF

Available RAM:
$C880 to $CBFF or $C800 to $C8FF if you’d like to direct address all your RAM using double plays.

6809 built-in instructions

Format
Locker # instruction ;for example
$1000 deca ;deca is a mnemonic for a numbered instruction.

?: is the locker # essentially a line number?
Most locker ##’s are left out for the assembler to deal with. It can count, and account for instructions that take up more than one byte. We just tell it where to start.

ORG $0000 ;tells assembler to begin putting program code in mem location $0000

Constants

user_RAM        EQU     $C880 ;"EQU

EQU simply means equals. In this example, user_RAM is now a defined constant.

Registers

Registers are Vecto’s pockets. When data are in lockers, you can’t manipulate them, but once inside your pockets, you can play pool.

A,B,D,X,Y,U,S,PC,DP and CC

A = 1 byte, general-purpose register
B = 1 byte, general-purpose register
D = 2 byte combo of A & B
X & Y, both 2 byte registers used as pointers for for indexed-mode instructions
U & S, stack pointers
PC = program counter
DP = double play for direct addressing
CC = condition code (0, negative, carry, or borrow.)

Some Instructions

LD = load
LDA means load a value into register A
Putting the number “3” in register A would be done thusly: LDA #3

ST = store
STA $C880 means store contents of register A into mem loc $C880

DECA decreases the value of Reg A by 1
INCA increases Reg A by 1
These only work directly on registers A and B, in so-called “inherent” addressing mode.”

Addressing modes for instruction data handling

(alternate targets for the instruction)

  • Inherent (self-contained and takes no further arguments)
  • Immediate (target of the instruction is an actual value that will follow the instruction immediately)
  • Extended (means target is a memory location)
  • Direct (uses a 1 byte shortcut)
  • Indexed

Addressing mode examples:

LDA #$00 = immediate (loads value 0 into register A)

LDA $C880 = extended (loads contents of locker $C880 into register A)

DECA = inherent (decreases the A register by 1)

LDA #$C8
TFR A,DP
LDA $80

the above code demonstrates the use of direct mode. By transferring the memory location prefix $C8 into double play mode (DP,) LDA$80 saves two strokes and is equivalent to LDA $C880.

Program counter flow-altering instructions

  • BCC
  • BCS
  • BEQ
  • BGE
  • BGT
  • BHI
  • BHS
  • BLE
  • BLO
  • BLS
  • BLT
  • BMI
  • BNE
  • BPL
  • BRA
  • BRN
  • BSR
  • BVC
  • BVS
  • JMP
  • JSR

JMP is jump. BRA is branch. Both are unconditional jumps. BRA is preferred when possible because it saves 1byte (jump takes 3, branch takes 2) but BRA only works for locations 127 bytes ahead or behind.

My gut is telling me to always use JMP because as the program expands locations close to the 127 limit may later get pushed beyond that 127. I would save changing JMP to BRA for final code optimization if the finished .bin maxes out 32k.

JSR = “jump to subroutine.”
BSR = “branch to subroutine.” (has same 127 byte ‘ahead or behind’ limit as BRA)
RTS = “return from subroutine.”

All the remaining program counter manoeuvre’s are conditional.

Condition codes

Condition code bits are:  Half Carry (H), Negative (N), Zero (Z), Overflow (V) and
Carry (C).

BEQ = Branch on equal
BNE = Branch if NOT EQUAL

Relative vs. Absolute
BRA, BEQ, and anything that starts with “B” or “LB” for long branch is RELATIVELY positioned while JMP and JSR are ABSOLUTEly positioned.

The number of bytes to jump is determined at the time of assembly.

Weirdness alert!

You cannot branch (BRA) and jump (JMP) to the same labeled address within the same program. Chose one or the other but don’t mix. The assembler can’t deal. Chris T saved you from a mindless troubleshooting nightmare with that tip.

Looping

Here are Chris’s instructions for performing a loop 5 times.

loop_variable EQU $C880 ;Create a variable for looping
LDA #$05 ;Initialise our loop
STA loop_variable ;variable with a value of 5
loop_start: ;This is the label at the start of the loop
LDA $C880 ;These are the instructions we want to repeat 5 times
STA $C881 ;These are the instructions we want to repeat 5 times
DEC loop_variable ;Subtract the loop_variable by 1
BNE loop_start ;If the loop variable is not Zero, jump to loop_start

I’m guessing line 2 doesn’t need the dollar sign and it should really be LDA #05 (?)