5 added 24 characters in body
UG1YLGoQ&PUGlYLGoQ&P->42*c


### Explanation (with example) (to be updated)

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YLlYL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, compute parity, add 1. Gives 1 for even S, 2 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension (1 is vertical, 2 is horizontal).
% This corrects for the orientation of the spiral
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
i>       % Input: N
Implicit %input STACK(below): [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7N. Greater 6]than?,
11element-wise.
<       % Less than? Element-wise.% This transforms the first N entries,
starting from
% starting from% upper-left, inward, east-first, into 1, and the rest
% rest into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']

UG1YLGoQ&P->42*c


Try it online!

### Explanation (with example) (to be updated)

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, compute parity, add 1. Gives 1 for even S, 2 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension (1 is vertical, 2 is horizontal).
% This corrects for the orientation of the spiral
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
i       % Input: N
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6],
11
<       % Less than? Element-wise. This transforms the first N entries,
% starting from upper-left, inward, east-first, into 1, and the
% rest into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']

UGlYLGoQ&P->42*c


Try it online!

### Explanation (with example)

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
lYL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, compute parity, add 1. Gives 1 for even S, 2 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension (1 is vertical, 2 is horizontal).
% This corrects for the orientation of the spiral
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
>       % Implicit input (below): N. Greater than?, element-wise.
% This transforms the first N entries, starting from
% upper-left, inward, east-first, into 1, and the rest
% into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']

4 edited body

# MATL, 1717 16 bytes

UG1YLGoQ&P-i<42*c>42*c


### Explanation (with example) (to be updated)

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, compute parity, add 1. Gives 1 for even S, 12 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension (1 is vertical, 2 is horizontal).
% This corrects for the orientation of the spiral
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
i       % Input: N
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6],
11
<       % Less than? Element-wise. This transforms the first N entries,
% starting from upper-left, inward, east-first, into 1, and the
% rest into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']


# MATL, 17 bytes

UG1YLGoQ&P-i<42*c


Try it online!

### Explanation (with example)

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, parity, add 1. Gives 1 for even S, 1 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension. This corrects for the orientation
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
i       % Input: N
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6],
11
<       % Less than? Element-wise. This transforms the first N entries,
% starting from upper-left, inward, east-first, into 1, and the
% rest into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']


# MATL, 17 16 bytes

UG1YLGoQ&P->42*c


Try it online!

### Explanation (with example) (to be updated)

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, compute parity, add 1. Gives 1 for even S, 2 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension (1 is vertical, 2 is horizontal).
% This corrects for the orientation of the spiral
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
i       % Input: N
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6],
11
<       % Less than? Element-wise. This transforms the first N entries,
% starting from upper-left, inward, east-first, into 1, and the
% rest into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']

3 added 1424 characters in body

### Explanation (with example)

Consider inputs 4 and 11 as an example.

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, parity, add 1. Gives 1 for even S, or 1 for odd
S       % STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension. This corrects for the orientation
% orientationSTACK: of16,
the spiral               [16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. This causes theThe upper-left corner becomes 0
% cornerSTACK: of[ the0 spiral to1 be 02  3
11 12 13  4
10 15 14  5
9  8  7  6]
i       % Input: N
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6],
11
<       % Less than? Element-wise. This transforms the first N entries,
% entries, starting from upper-left, inward, east-first, into 1, and the
% rest into 0
% STACK: [1 1, and1 the1;
rest into                0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']


### Explanation

U       % Implicit input: S. Push S^2
G       % Push S again
1YL     % Outward, clockwise, east-first spiral of that size
GoQ     % Push 1 for even S, or 1 for odd S
&P      % Flip along that dimension. This corrects for the
% orientation of the spiral
-       % Subtract, element-wise. This causes the upper-left
% corner of the spiral to be 0
i       % Input: N
<       % Less than? Element-wise. This transforms the first N
% entries, starting from upper-left, inward, east-first,
% into 1, and the rest into 0
42*     % Multiply each entry by 42
c       % Convert to char. Implicit display


### Explanation (with example)

Consider inputs 4 and 11 as an example.

U       % Implicit input: S. Push S^2
% STACK: 16
G       % Push S again
% STACK: 16, 4
1YL     % Outward, clockwise, east-first spiral of that size
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13]
GoQ     % Push S, parity, add 1. Gives 1 for even S, 1 for odd
% STACK: 16,
[ 7  8  9 10;
6  1  2 11;
5  4  3 12;
16 15 14 13],
1
&P      % Flip along that dimension. This corrects for the orientation
% STACK: 16,
[16 15 14 13;
5  4  3 12;
6  1  2 11;
7  8  9 10]
-       % Subtract, element-wise. The upper-left corner becomes 0
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6]
i       % Input: N
% STACK: [ 0  1  2  3
11 12 13  4
10 15 14  5
9  8  7  6],
11
<       % Less than? Element-wise. This transforms the first N entries,
% starting from upper-left, inward, east-first, into 1, and the
% rest into 0
% STACK: [1 1 1 1;
0 0 0 1;
1 0 0 1;
1 1 1 1]
42*     % Multiply each entry by 42
% STACK: [42 42 42 42;
0  0  0 42;
42  0  0 42;
42 42 42 42]
c       % Convert to char. Char 0 will be displayed as space.
% Implicit display
% STACK: ['****';
'   *';
'*  *';
'****']

2 added 716 characters in body
1